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

问题描述 投票:0回答:1

我有一堆.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)。

video ffmpeg video-streaming streaming http-live-streaming
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.