我正在尝试编写一个C#重流类,它将接受HLS/m3u8 H264编码的视频流,并将它们作为RTMP H264编码的视频重流。我从简单的传输流记录器示例开始,并能够使其在以下场景中工作: UDP重流到UDP (mpegts),UDP重流到RTMP (flv) HLS重流到UDP (mpegts),但在我的生命周期中无法让它与HLS到RTMP一起工作。我在调用avformat_write_header时得到失败返回代码-22请注意,我可以使用以下命令在命令行版本的ffmpeg -i http://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_1660.m3u8 -vcodec libx264 -f flv rtmp://rtmpserver/streamname中很好地执行此操作:
发布于 2021-05-13 12:18:59
最终我自己解决了这个问题,对于关心这个问题的人来说。问题是HLS流有3个子流(视频、音频和字幕)。问题是FLV似乎不支持字幕,并且它将这第三个流检测为第二个视频流,这也不受支持。因此,从输出流中删除这个子流会产生一个有效的重流视频。
https://stackoverflow.com/questions/67512658
复制相似问题