高级篇之ENC编码器多平台直播推流时断流的解决办法

  • 方法简述:
  • 具体步骤:
  • 第一步: 设置`Net1`的网络输入源
  • 第二步: 关闭Net1的编码方式
  • 第三步: 将Net1混合进Mix频道
  • 第四步:多平台直播推流设置
  • 总结


好久不见,最近太忙了,所以没空写博客了,今天这一篇本来早就要写了,拖了半个月才想起,之前有个客户遇到个问题,那就是用多平台推流功能时,始终发现:只要视频输入源出现断流再恢复时,导致推流这边出现不可自动恢复的情况,必须手动重启设备或者重新关闭和打开推流开关才行。

经过模拟测试后,的确发现存在这个问题,但由于研发很忙,暂时没空,我就只能看看能不能绕个路来解决了,经过测试,此方法可行,现在分享给大家,希望需要的客户可以用上。

方法简述:

将视频输入源混进MIX频道推流,因为MIX可以保持最后一帧画面推流不断。

视频输入源可以是HDMI, USBCam, Net(RTSP/RTMP/SRT) 下面的步骤讲解时采用SRT作为视频输入源。

具体步骤:

第一步: 设置Net1的网络输入源

进入编码设置网路输入,如下图所示,输入SRT的视频源地址,打开后面3个开关。

Python ffmpeg 断流恢复_重启

第二步: 关闭Net1的编码方式

进入编码设置编码参数页,将Net1编码方式关闭,这样做主要是为了节省编码资源。对于ENC1来说,在做第一步时可能会提示“超出编码性能上限”,这是因为最大处理能力是1路1080P60(=2路1080P30=3路720P30)。

Python ffmpeg 断流恢复_源地址_02

第三步: 将Net1混合进Mix频道

进入扩展功能视频混合页面,打开混合开关,选择单画面,然后视频源选择Net1,如下图步骤:

Python ffmpeg 断流恢复_Python ffmpeg 断流恢复_03


Python ffmpeg 断流恢复_编码方式_04

第四步:多平台直播推流设置

进入扩展功能多平台直播页面,选择视频源为MIX,并开启自动运行(这个功能是断电重启后自动推流),然后保存,再填写推流地址(这里已B站为例)后保存,最后点击推流

Python ffmpeg 断流恢复_Python ffmpeg 断流恢复_05

总结

Mix频道使用方便,大家可以自己去挖掘很多实用的功能,比如做视频混合,但在使用Mix频道时,为了节省编码资源,最好是关闭要混入的频道的编码方式,如下图所示:

Python ffmpeg 断流恢复_编码方式_06