0

我正在尝试使用 ffmpeg 将 asf 音频转换为 mp3。但是我有一个特定的音频在中间会失真,并且开始时就像这个人在慢动作(以半速率)说话一样。

我正在使用的命令是:

ffmpeg - i input.asf -ac 2 output.mp3

我尝试了很多选项,但大约音频的中间是它失败的时候。原始文件听起来不错,所以不是录音。在传输过程中,由于某种原因,帧速率下降了。

谢谢大家!

[编辑]

作为 LordNeckbeard 的建议,我在运行命令后添加了控制台响应:

[root@mynasserver home]# ffmpeg -i recording-8532-1.asf -ac 2 -ab 64k -ar 44100 recording-8532-ac2-ar44100.mp3
FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
built on Jan 29 2012 23:56:18 with gcc 4.1.2 20080704 (Red Hat 4.1.2-51)
configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables' --enable-avfilter --enable-avfilter-lavf --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
libavutil     50.15. 1 / 50.15. 1
libavcodec    52.72. 2 / 52.72. 2
libavformat   52.64. 2 / 52.64. 2
libavdevice   52. 2. 0 / 52. 2. 0
libavfilter    1.19. 0 /  1.19. 0
libswscale     0.11. 0 /  0.11. 0
libpostproc   51. 2. 0 / 51. 2. 0
[flv @ 0x86a4850]max_analyze_duration reached
[flv @ 0x86a4850]Estimating duration from bitrate, this may be inaccurate
Input #0, flv, from 'recording-8532-1.asf':
Metadata:
source          : STW MediaProxy v3.3.7.19894
Duration: 04:00:08.49, start: 0.000000, bitrate: N/A
Stream #0.0: Audio: aac, 44100 Hz, 2 channels (FC), s16
Output #0, mp3, to 'recording-8532-ac2-ar44100.mp3':
Metadata:
TSSE            : Lavf52.64.2
Stream #0.0: Audio: libmp3lame, 44100 Hz, 2 channels, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
size=  150906kB time=19315.93 bitrate=  64.0kbits/s    
video:0kB audio:150906kB global headers:0kB muxing overhead 0.000021%

所以从上面的数据,你可以看到输入文件大约是 4hrs。输出最终约为 5 小时 20 分钟。

4

1 回答 1

0

使用当前版本的 ffmpeg 为我解决了这个问题。

请注意,您的“asf”文件实际上是一个 FLV 文件。

Input #0, flv, from 'recording-8532-1.asf':

此外,如果实际上不需要 MP3 格式,您可以像这样从 FLV 文件中提取 AAC 音频:

ffmpeg -i input.flv -acodec copy output.aac

这将保持音频质量。

于 2013-11-06T05:33:26.717 回答