我有一个奇怪的问题,我无法弄清楚,这真的让我抓狂。我搜索了很长时间,但没有找到任何合适的答案。它是关于使用 ffmpeg 或 avconv 转换的 mp3 的时间长度。我正在使用 Firefox 中的下载助手下载甚至将任何视频文件转换为 mp3。除了任何音乐播放器(我尝试了 audacious、qmmp)中 mp3 的持续时间外,一切都很顺利……当我在播放器中转换 3 分钟长的视频时,它显示大约 18 分钟长。我注意到的另一件事是错误的比特率。它显示大约 32kbps,但我转换文件时使用的是 192kbps……
我尝试了用于视频文件的 VLC,它正确显示了时间,但编解码器部分的比特率也显示为 32kbps。我注意到,当我使用 VLC 打开文件时,一开始会缓冲一点时间,但最后它正确显示了时间。
我尝试的另一件事是命令ffmpeg -i 文件.mp3它还显示正确的时间长度和比特率。
奇怪的是,当我使用 audacity 导出相同的转换文件而不做任何更改时,它会以正确的时间长度正确显示在 audacious 中。可能是 audacity 使用了一些其他库来纠正该错误。
就信息而言,我已经安装了 ffmpeg、libavcodec-extra-53。
ffmpeg -version
ffmpeg 0.8.10-6:0.8.10-0ubuntu0.13.10.1
libavutil 51. 22. 2 / 51. 22. 2
libavcodec 53. 35. 0 / 53. 35. 0
libavformat 53. 21. 1 / 53. 21. 1
libavdevice 53. 2. 0 / 53. 2. 0
libavfilter 2. 15. 0 / 2. 15. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 52. 0. 0 / 52. 0. 0
使用 Kubuntu 13.10 i386。
提前致谢 :)
编辑:
好的...解决方案非常简单..颈须领主说,我刚刚从官方下载了版本FFmpeg 网站现在一切都正确了。
我首先清除存储库版本,然后将版本从官方网站复制到 /usr/bin/...
答案1
好的...解决方案非常简单..颈须领主说,我刚刚从官方下载了版本FFmpeg 网站现在一切都正确了。
我首先清除存储库版本,然后将版本从官方网站复制到 /usr/bin/...
答案2
mp3 文件时长显示不正确的原因是文件头存在问题。有问题的 mp3 文件可能是 vbr 编码的。
可以使用实用程序修复标题
修正
它在 Ubuntu 存储库中可用:
sudo apt-get install vbrfix
然后用它来修复一个 mp3 文件:
vbrfix in.mp3 out.mp3
或者修复目录中的所有文件:
mkdir backup
for FILE in *.mp3; do
mv "${FILE}" backup/"${FILE}"
vbrfix backup/"${FILE}" "${FILE}"
done
rm -rf backup