Ffmpeg 更改音频文件比特率并将输出传递给管道

Ffmpeg change audio file bitrate and pass the output to pipe

我曾经使用

更改音频文件的比特率
  ffmpeg -i input.mp3 -ab 96k output.mp3

而且效果很好。现在我想在 Ffmpeg 中将输出作为管道传递并执行一些其他任务。我参考了这个documentation,把上面的ffmpeg命令修改成了

ffmpeg -i input.mp3 -ab 96k pipe:1 | aws s3 cp - s3://mybucket/output.mp3

但这行不通。 只有当我使用下面的管道时它才有效。

ffmpeg -i input.mp3 -f mp3 pipe:1 | aws s3 cp - s3://mybucket/output.mp3

但这不会改变音频的比特率。任何人都可以帮助我如何实现更改比特率并将输出作为 Pipe

传递的目标

您必须手动指定输出格式。输出到文件时,ffmpeg会根据扩展名猜测格式,管道时做不到。

使用

ffmpeg -i input.mp3 -ab 96k -f mp3 pipe:1 | aws s3 cp - s3://mybucket/output.mp3