gpt4 book ai didi

windows - ffmpeg 如何将音频转换为 aac 但保持旧文件使用的比特率?

转载 作者:可可西里 更新时间:2023-11-01 09:22:52 25 4
gpt4 key购买 nike

我不希望这种情况经常发生,但是在通过批处理文件将视频文件重新编码为 h265 时,我正在检查以确保音频采用 aac 格式。如果不是,那么我想转换为 aac,但保持旧文件使用的比特率,因为如果我只是转换为 aac,ffmpeg 将使用默认的 128kbps 值。对于我拥有的任何旧视频,比特率可能会低于该比特率,因此上转换会稍微增加文件大小。

有什么方法可以转换为 aac 但保持旧的比特率?

这是我正在尝试的方法,但它一直将旧的 mp3 89kbps 流转换为 aac 128 kbps:

ffmpeg -i test.mp4 -acodec aac -vcodec copy test.aac.mp4

请注意,以上只是为了测试目的,我实际上是在转换视频。

注意 2:我的问题与被建议为相似的另一个问题完全不同。我可以毫不费力地将 ffprobe 结果存储在变量中,我什至都没有提到这一点。

最佳答案

您可以使用 ffprobe 从输入文件中检测音频流的比特率,然后根据该命令的输出运行适当的 FFMPEG 命令。

这是一个小的 bash 脚本,可以检测音频流的比特率,如果比特率小于 128Kbps,则在转换过程中使用原始比特率。这应该避免上采样:

#!/usr/bin/env bash
AUDIO_BITRATE=`ffprobe -v error -select_streams a:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 $1`
if [[ $AUDIO_BITRATE < 128000 ]]; then
ffmpeg -i $1 -acodec aac -ab ${AUDIO_BITRATE}k -vcodec copy new-$1
else
ffmpeg -i $1 -acodec aac -vcodec copy new-$1
fi

或者,如果您需要转换成其他视频格式并且没有安装 FFMPEG,您可以使用商业转换 API,例如 Zamzar .

关于windows - ffmpeg 如何将音频转换为 aac 但保持旧文件使用的比特率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47087802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com