目标是创建多个输出文件,这些文件的比特率与单个源文件不同.记录的解决方案有效,但效率低下.我发现最有效的解决方案没有记录在任何我能看到的地方.我将其发布在此处进行审核,并询问其他人是否知道可以进行的其他优化.
Source file MPEG-2 Video (Letterboxed) 1920x1080 @>10Mbps
MPEG-1 Audio @ 384Kbps
Destiation files H264 Video 720x400 @ multiple bitrates
AAC Audio @ 128Kbps
Machine Multi-core Processor
Run Code Online (Sandbox Code Playgroud)
每个比特率的视频质量非常重要,因此我们使用"中"预设以2通道模式运行
VIDEO_OPTIONS_P2 = -vcodec libx264 -preset medium -profile:v main -g 72 -keyint_min 24 -vf scale=720:-1,crop=720:400
第一种方法是将它们全部编码在并行过程中
ffmpeg -y -i $INPUT_FILE $AUDIO_OPTIONS_P2 $VIDEO_OPTIONS_P2 -b:v 250k -threads auto -f mp4 out-250.mp4 & ffmpeg -y -i $INPUT_FILE $AUDIO_OPTIONS_P2 $VIDEO_OPTIONS_P2 -b:v 500k -threads auto -f mp4 out-500.mp4 & ffmpeg -y -i $INPUT_FILE $AUDIO_OPTIONS_P2 $VIDEO_OPTIONS_P2 -b:v 700k -threads …