【发布时间】:2016-09-12 09:16:56
【问题描述】:
多个用户上传不同类型的视频,我不保存这些视频的格式,只保存编解码器。 ffmpeg 在需要时检测视频和音频编解码器,直到今天一切都很好。我正在添加一个音频规范化步骤。如何让 ffmpeg 根据编解码器自动选择容器格式?似乎 ffmpeg 会根据指定的格式选择输出音频编解码器。我可以要求它坚持原来的格式和编解码器吗?
ffmpeg -y -i /mnt/tmp/asjkdh39 -c:v copy -af "volume=10.7dB" /mnt/tmp/0540hsl
对于上面的命令,我得到一个错误:
[NULL @ 0x9214a0] Unable to find a suitable output format for '/mnt/tmp/0540hsl'
【问题讨论】:
-
不可能,您最多可以运行
ffprobe file -hide_banner -show_entries format=format_name -of compact=p=0:nk=1 -v quiet,然后在-af ...之后提供-f value。顺便说一句,音量没有正常化,为此使用 dynaudnorm。 -
感谢@Mulvya 指出
dynaaudnorm。我正在尝试。虽然在我的情况下,我需要跨多个视频而不是通过视频的持续时间来规范化音频。因此,我使用volumedetect来找到负的 max_volume,然后将其增加那么多。 -
由于没有更多解决方案,您可以添加您的评论作为答案,以便我接受。