golang joy4包发布示例不工作

4c8rllxm  于 2023-04-18  发布在  Go
关注(0)|答案(1)|浏览(87)

发布:https://github.com/nareix/joy4/tree/master/examples/rtmp_publish服务器:https://github.com/nareix/joy4/tree/master/examples/http_flv_and_rtmp_server与此服务器,我试图发布flv数据到服务器,但失败. //同:ffmpeg -re -i projectindex.flv -c copy -f flv rtmp://localhost:1936/app/publish当使用命令ffmpeg,它工作,但rtmp_publish.go不工作.当我检查登录在服务器端,发布打印[接受]的例子.我似乎无法得到解析URL有没有人如何工作?
执行服务器代码和执行发布代码。当我测试ffmpeg -re -i projectindex.flv -c copy -f flv rtmp://localhost:1936/app/publish它的作品。并与vlc播放器我可以播放网络流。但rtmp_publish.go代码不工作。所以我试图打印日志。当发布与ffmpeg命令,它打印接受和解析URL,但rtmp_publish.go不打印解析URL。

sczxawaw

sczxawaw1#

我用从https://getsamplefiles.com/sample-video-files/flv下载的flv文件(sample-3.flv)测试,ffmpeg和rtmp_publish/main.go都可以工作。你能用这个文件测试吗?
如果它工作,那么它最有可能是你在第一次测试的flv文件包含的流是不支持的包。
我已经用ffprobe检查了sample-3.flv的信息:

$ ffprobe sample-3.flv
Input #0, flv, from 'sample-3.flv':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.15.102
  Duration: 00:00:30.08, start: 0.000000, bitrate: 7836 kb/s
  Stream #0:0: Video: h264 (Constrained Baseline), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 8000 kb/s, 25 fps, 25 tbr, 1k tbn

你可以检查你的,并将输出与上面的一个比较(但我不知道什么是或不支持的包)。

其他运行示例的用户注意事项

首先,包的源代码不包含go.mod文件。在仓库的根目录创建一个:

$ go mod init github.com/nareix/joy4

http_flv_and_rtmp_server默认监听1935端口。所以如果我们不改变服务器,我们必须改变rtmp_publish/main.go

- file, _ := avutil.Open("projectindex.flv")
- conn, _ := rtmp.Dial("rtmp://localhost:1936/app/publish")
+ file, _ := avutil.Open("sample-3.flv")
+ conn, _ := rtmp.Dial("rtmp://localhost:1935/app/publish")

ffmpeg命令应该是:

$ ffmpeg -re -i sample-3.flv -c copy -f flv rtmp://localhost:1935/app/publish

并且可以使用ffplay播放流:

$ ffplay http://localhost:8089/app/publish

运行ffmpeggo run rtmp_publish/main.go时,确保sample-3.flv位于当前工作目录中

相关问题