由于质量问题,我将编码从aac切换到libfdk_aac。我注意到,采用新编码后,音频文件的一小部分将在开始时被剪切掉。我用多个文件进行了测试。这是我正在使用的命令:
ffmpeg -y -noaccurate_seek -i file.mp3 -b:a 260k -c:a libfdk_aac -vn -movflags +faststart output.m4a
我尝试了不同的变体,但始终以剪切文件结束。
这是波形编辑器的输出
源文件:
输出:
答案 0 :(得分:2)
我认为几年前切换到fdk-aac后我已经观察到类似的情况,但是我不确定是否长达25m(可疑地接近某些AAC配置文件的默认颗粒长度为44100hz,1024/44100〜 = 0.023s)。可能是以前的aac编码器(ffmpeg原生编码器)在某种程度上有所不同吗?
编写了一个小脚本来进行复制,但是看不到任何胆大的差异。它还尝试使用libfdk_aac进行解码。希望它会有用。
alias ffmpeg='docker run --rm -v "$PWD:$PWD" -w "$PWD" mwader/static-ffmpeg:4.1.3'
# test file i used
# ffmpeg -y -f lavfi -i sine -t 1 -ac 2 -ar 44100 sine.wav
# encode with native and fdk aac
ffmpeg -y -i $1 -c:a aac $1.native_aac.mp4
ffmpeg -y -i $1 -c:a libfdk_aac $1.fdk_aac.mp4
# decode native with native and fdk_aac
ffmpeg -y -i $1.native_aac.mp4 $1.native_aac.mp4.native_aac.wav
ffmpeg -y -c:a libfdk_aac -i $1.native_aac.mp4 $1.native_aac.mp4.fdk_aac.wav
# decode fdk_aac with native and fdk_aac
ffmpeg -y -i $1.fdk_aac.mp4 $1.fdk_aac.mp4.native_aac.wav
ffmpeg -y -c:a libfdk_aac -i $1.fdk_aac.mp4 $1.fdk_aac.mp4.fdk_aac.wav