使用ffmpeg.autogen将HLS视频源重新流式传输到RTMP



我正在尝试编写一个C#重流类,该类将接受HLS/m3u8 H264编码的视频流,并将其重流为RTMP H264编码视频。我从简单的传输流记录器示例开始,并能够使其在以下场景中工作:UDP重新流式传输到UDP(mpegts(UDP重定向到RTMP(flv(HLS重新流式传输到UDP(mpegts(但我一辈子都不能让它和HLS一起工作到RTMP。我在调用avformat_write_header时得到一个失败返回代码-22请注意,我可以通过以下命令从ffmpeg的命令行版本中完美地实现这一点:ffmpeg -i http://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_1660.m3u8 -vcodec libx264 -f flv rtmp://rtmpserver/streamname

终于自己解决了这个问题,对于任何关心的人来说。问题是HLS流有3个子流(视频、音频和字幕(。问题是FLV似乎不支持字幕,并且它将第三个流检测为第二个视频流,这也是不支持的。因此,从输出流中删除这个子流会产生一个工作的重流视频。

相关内容

  • 没有找到相关文章

最新更新