如何使用 ffmpeg 转换高质量 .wmv 文件

发布于 2024-09-25 20:01:58 字数 2102 浏览 6 评论 0原文

请指导我如何解决这个问题。以下是我尝试将 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无法言说的痛 2024-10-02 20:01:58

从我从 相关 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.

画▽骨i 2024-10-02 20:01:58

将 ffmpeg 升级到 0.6 (2010),然后重试。

Upgrade your ffmpeg to 0.6 (2010) and try again.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文