如何使用 ffmpeg 转换高质量 .wmv 文件
请指导我如何解决这个问题。以下是我尝试将 wmv 格式文件转换为 .flv 时得到的结果。
ffmpeg -i full.wmv -ar 48000 -ab 192000 -b 293000 -r 15 -s 640x480 full.flv
FFmpeg version SVN-r13582, Copyright (c) 2000-2008 Fabrice Bellard, et al.
configuration: --prefix=/usr --libdir=${prefix}/lib --shlibdir=${prefix}/lib --bindir=${prefix}/bin --incdir=${prefix}/include/ffmpeg --enable-shared --enable-libmp3lame --enable-gpl --enable-libfaad --mandir=${prefix}/share/man --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-libamr-nb --enable-libamr-wb --enable-x11grab --enable-libgsm --enable-libx264 --enable-liba52 --enable-libtheora --extra-cflags=-Wall -g -fPIC -DPIC --cc=ccache cc --enable-swscale --enable-libdc1394 --enable-nonfree --disable-mmx --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libschroedinger --disable-encoder=libschroedinger --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
libavutil version: 49.7.0
libavcodec version: 51.58.0
libavformat version: 52.16.0
libavdevice version: 52.0.0
libavfilter version: 0.0.0
built on May 3 2009 12:07:18, gcc: 4.3.2
[wmv3 @ 0x6db7d13f76c0]Reserved RES_SM=2 is forbidden
Seems stream 1 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 25.00 (25/1)
Input #0, asf, from 'full.wmv':
Duration: 00:35:31.91, start: 3.000000, bitrate: 1801 kb/s
Stream #0.0: Audio: wmav2, 48000 Hz, stereo, 192 kb/s
Stream #0.1: Video: wmv3, yuv420p, 448x352, 1600 kb/s, 25.00 tb(r)
File 'full.flv' already exists. Overwrite ? [y/N] y
Output #0, flv, to 'full.flv':
Stream #0.0: Video: flv, yuv420p, 640x480, q=2-31, 293 kb/s, 15.00 tb(c)
Stream #0.1: Audio: libmp3lame, 48000 Hz, stereo, 192 kb/s
Stream mapping:
Stream #0.1 -> #0.0
Stream #0.0 -> #0.1
[wmv3 @ 0x6db7d13f76c0]Reserved RES_SM=2 is forbidden
Error while opening codec for input stream #0.1
如果有人可以给出正确的命令而不是我使用的命令,那将会很有帮助
ffmpeg -i full.wmv -ar 48000 -ab 192000 -b 293000 -r 15 -s 640x480 full.flv
Please guide me how to solve this issue. Below is what I got when try to convert wmv format file to .flv.
ffmpeg -i full.wmv -ar 48000 -ab 192000 -b 293000 -r 15 -s 640x480 full.flv
FFmpeg version SVN-r13582, Copyright (c) 2000-2008 Fabrice Bellard, et al.
configuration: --prefix=/usr --libdir=${prefix}/lib --shlibdir=${prefix}/lib --bindir=${prefix}/bin --incdir=${prefix}/include/ffmpeg --enable-shared --enable-libmp3lame --enable-gpl --enable-libfaad --mandir=${prefix}/share/man --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-libamr-nb --enable-libamr-wb --enable-x11grab --enable-libgsm --enable-libx264 --enable-liba52 --enable-libtheora --extra-cflags=-Wall -g -fPIC -DPIC --cc=ccache cc --enable-swscale --enable-libdc1394 --enable-nonfree --disable-mmx --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libschroedinger --disable-encoder=libschroedinger --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
libavutil version: 49.7.0
libavcodec version: 51.58.0
libavformat version: 52.16.0
libavdevice version: 52.0.0
libavfilter version: 0.0.0
built on May 3 2009 12:07:18, gcc: 4.3.2
[wmv3 @ 0x6db7d13f76c0]Reserved RES_SM=2 is forbidden
Seems stream 1 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 25.00 (25/1)
Input #0, asf, from 'full.wmv':
Duration: 00:35:31.91, start: 3.000000, bitrate: 1801 kb/s
Stream #0.0: Audio: wmav2, 48000 Hz, stereo, 192 kb/s
Stream #0.1: Video: wmv3, yuv420p, 448x352, 1600 kb/s, 25.00 tb(r)
File 'full.flv' already exists. Overwrite ? [y/N] y
Output #0, flv, to 'full.flv':
Stream #0.0: Video: flv, yuv420p, 640x480, q=2-31, 293 kb/s, 15.00 tb(c)
Stream #0.1: Audio: libmp3lame, 48000 Hz, stereo, 192 kb/s
Stream mapping:
Stream #0.1 -> #0.0
Stream #0.0 -> #0.1
[wmv3 @ 0x6db7d13f76c0]Reserved RES_SM=2 is forbidden
Error while opening codec for input stream #0.1
It would be helpful if anyone could give the correct command instead of what I used
ffmpeg -i full.wmv -ar 48000 -ab 192000 -b 293000 -r 15 -s 640x480 full.flv
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从我从 相关 FFmpeg-devel 邮件中看到的,这是一种 WMV 模式,
FFmpeg
仍不支持;经过一点搜索,事实证明,mplayer
似乎支持它(如果使用 相关标志)。无论如何,我不明白这与 PHP 或一般编程有何关系,我投票将其移至 SuperUser。
From what I see from a relevant FFmpeg-devel mail, it's a WMV mode still unsupported by
FFmpeg
; with a little search, it turns out that, instead,mplayer
seems to support it (if compiled with the relevant flag).Anyhow, I don't see how is this related with PHP or programming in general, I voted to move it to SuperUser.
将 ffmpeg 升级到 0.6 (2010),然后重试。
Upgrade your ffmpeg to 0.6 (2010) and try again.