ffmpeg从m3u8中选择特定语言的最高质量的视频轨道和音频轨道

时间:2019-03-10 13:53:05

标签: video ffmpeg video-streaming streaming hls

我有一堆.m3u8文件,其中包含不同分辨率和比特率的视频轨道以及不同语言的音频轨道。 我想选择质量最高的视频流,如果可以,请选择指定语言的音轨。

我知道如何选择音轨,目前我使用

-map 0:m:language:en? 

像这样

ffmpeg -re -protocol_whitelist file,http,https,tcp,tls -i .\some_file.m3u8 -codec:a aac -c:v copy -f flv -map 0:m:language:en? rtmp://foo.com:1935/live/xyz

只有在指定的音频语言可用时,我才会流式传输音频;否则,我将以默认配置流式传输音频和视频。

在两种情况下,我都希望流式传输最佳视频轨道(默认为ffmpeg精选)。

1 个答案:

答案 0 :(得分:0)

通常,这需要链接的ffmpeg命令,

ffmpeg -protocol_whitelist file,http,https,tcp,tls -i .\some_file.m3u8 -c copy -map 0:v -map 0:m:language:en? -f mpegts - | ffmpeg -re -f mpegts -i - -c:v copy -c:a aac -f flv rtmp://foo.com:1935/live/xyz