使用 ffmpeg 提高 HLS 音频转换的性能

使用 ffmpeg 提高 HLS 音频转换的性能

我正在使用 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 分钟以上,依此类推。这里可以进行一些性能改进吗?我希望速度更快,我猜如果这样可以加快速度,那么除了必需的选项之外的其他选项都可以更改。

相关内容