golang joy4 包发布示例不起作用

问题描述 投票:0回答:1

发布: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。

go publish rtmp flv
1个回答
0
投票

我使用从

https://getsamplefiles.com/sample-video-files/flv
下载的 flv 文件 (sample-3.flv) 进行了测试,并且 ffmpeg 和
rtmp_publish/main.go
都可以工作。你能用这个文件测试一下吗?

如果可以,那么很可能是你最初测试的flv文件中包含了包不支持的流。

我和

sample-3.flv
查过
ffprobe
的资料:

$ 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

运行

sample-3.flv
ffmpeg
时确保
go run rtmp_publish/main.go

在当前工作目录中
© www.soinside.com 2019 - 2024. All rights reserved.