我正在使用 ffmpeg 命令行工具将大量音频文件 (mp3) 转换为 HLS 格式。要求是所有 mp3 文件都应转换为一个 m3u8 文件和 ts 文件,并且每个音轨之间都有淡入淡出效果。
目前我的脚本如下所示:
ffmpeg
-i 1.mp3
-i 2.mp3
-i 3.mp3
-i 4.mp3
-y
-filter_complex [0][1]acrossfade=d=5:c1=tri:c2=tri[a01];[a01][2]acrossfade=d=5:c1=tri:c2=tri[a12];[a12][3]acrossfade=d=5:c1=tri:c2=tri
-acodec aac -b:a 96k
-vn
-ac 2
-f segment
-segment_format mpegts
-segment_time 10
-segment_list_type m3u8
-segment_list manifest.m3u8 segment-%05d.ts
每条输入大约需要 5.2 秒,因此在这种情况下大约需要 21 秒,但处理 100 条轨道则需要 8 分钟以上,依此类推。这里可以进行一些性能改进吗?我希望速度更快,我猜如果这样可以加快速度,那么除了必需的选项之外的其他选项都可以更改。