Gstreamer rtmpsink到Azure媒体服务实时传递甚至

2024-09-28 05:22:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用一个on premgstreamer编码器管道将实时视频广播到Azure Media Services。在

使用videotestsrc测试管道似乎可以很好地使用以下字符串:

gst-launch-1.0 -e videotestsrc ! videoconvert ! video/x-raw,format=I420 ! x264enc tune=zerolatency byte-stream=true threads=4 ! flvmux streamable=true ! rtmpsink location='rtmp://xxxx.media.azure.net:1935/live/xxxx/mystream live=true flashver=FMLE/3.0(compatible;FMSc/1.0)'

我可以在azureams仪表板上观看流的预览。在

现在,如果我尝试使用python脚本中的appsrc管道使用OpenCV(使用gstreamer支持进行编译),那么预览窗口中不会显示任何内容。然而,正在为流创建一个资产,我可以通过AMS服务查看这个资产流。在

下面的python3脚本使用的是OpenCV版本4.0.0的自定义版本,并编译了gstreamer和cuda。在

^{pr2}$

我错过了什么?在


Tags: 版本脚本livetrue视频管道on资产
1条回答
网友
1楼 · 发布于 2024-09-28 05:22:13

因此,在与微软的Azure Media Services团队进行了广泛的对话后,发现Azure Media Player需要有一个音轨才能播放。在

GST_管道更改为:

GST_PIPE = "appsrc ! videoconvert ! video/x-raw,format=I420 ! x264enc tune=zerolatency byte-stream=true threads=4 ! flvmux name=mux ! rtmpsink location='{0} live=true flashver=FMLE/3.0(compatibble;FMSc/1.0)' audiotestsrc is-live=true ! audioconvert ! audioresample ! audio/x-raw,rate=48000 ! voaacenc bitrate=96000 ! audio/mpeg ! aacparse ! audio/mpeg, mpegversion=4 ! mux.".format(RTMP_SERVER)

在我的Python代码中,一切都按预期工作(除了Azure门户中的频道预览面板(仍然不知道那里发生了什么事))。在

相关问题 更多 >

    热门问题