转换为mp4时出现ffmpeg错误打开输出流#0.0的编码器时出错

时间:2012-10-11 20:27:04

标签: php ffmpeg

我正在尝试将各种文件类型转换为使用ffmpeg显示的mp4,但我不断收到错误:

  

打开输出流#0.0的编码器时出错 - 可能是错误的参数,例如bit_rate,rate,width或height

另一件看起来很重要的作品是:

  

[libx264 @ 0x93caef0]中断了ffmpeg检测到的默认设置

     

[libx264 @ 0x93caef0]使用编码预设(例如-vpre medium)

     

[libx264 @ 0x93caef0]预设用法:-vpre -vpre

     

[libx264 @ 0x93caef0]速度预设列在x264中--help

     

[libx264 @ 0x93caef0]个人资料是可选的; x264默认为高

我正在运行的最新代码是:

  

ffmpeg -i source -s 320x240 -r 30000/1001 -b 200k -bt 240k -vcodec libx264 -coder 0 -bf 0 -refs 1 -flags2 -wpred-dct8x8 -level 30 -maxrate 10M -bufsize 10M -acodec libfaac -ac 2 -ar 48000 -ab 192k目的地

我已经看到其他一些人遇到过这个问题,但他们的修复因某些原因无效。

如果它很重要:最终这将用于php,虽然我试图让它首先通过putty工作

编辑::这是完整的请求(使用wmv,测试了wmv和flv):

     ~ >> ffmpeg -i path.wmv -s 320x240 -r 30000/1001 -b 200k -r 29.97 -bt 240k -vcodec libx264 -coder 0 -bf 0 -refs 1 -flags2 -wpred-dct8x8 -level 30 -maxrate 10M -bufsize 10M -acodec libfaac -ac 2 -ar 48000 -ab 192k path.mp4
FFmpeg version SVN-r26076, Copyright (c) 2000-2011 the FFmpeg developers
  built on Aug 28 2012 17:55:47 with gcc 4.1.2 20080704 (Red Hat 4.1.2-52)
  configuration: --enable-version3 --enable-gpl --enable-nonfree --enable-shared --enable-postproc --enable-avfilter --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvpx --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --disable-ffplay --disable-indevs --disable-outdevs --disable-demuxer=v4l --disable-demuxer=v4l2 --disable-mmx
  libavutil     50.36. 0 / 50.36. 0
  libavcore      0.16. 1 /  0.16. 1
  libavcodec    52.108. 0 / 52.108. 0
  libavformat   52.93. 0 / 52.93. 0
  libavdevice   52. 2. 3 / 52. 2. 3
  libavfilter    1.74. 0 /  1.74. 0
  libswscale     0.12. 0 /  0.12. 0
  libpostproc   51. 2. 0 / 51. 2. 0

Seems stream 1 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.97 (30000/1001)
Input #0, asf, from 'path.wmv':
  Metadata:
    SfOriginalFPS   : 299
    WMFSDKVersion   : 11.0.6001.7000
    WMFSDKNeeded    : 0.0.0.0000
    IsVBR           : 0
    title           : Wildlife in HD
    artist          :
    copyright       : © 2008 Microsoft Corporation
    comment         : Footage: Small World Productions, Inc; Tourism New Zealand | Producer: Gary F. Spradling | Music: Steve Ball
  Duration: 00:00:30.09, start: 8.000000, bitrate: 6977 kb/s
    Stream #0.0(eng): Audio: wmav2, 44100 Hz, 2 channels, s16, 192 kb/s
    Stream #0.1(eng): Video: vc1, yuv420p, 1280x720, 5942 kb/s, 29.97 tbr, 1k tbn, 1k tbc
File 'path.mp4' already exists. Overwrite ? [y/N] y
[buffer @ 0x9ce9eb0] w:1280 h:720 pixfmt:yuv420p
[scale @ 0x9ce8f70] w:1280 h:720 fmt:yuv420p -> w:320 h:240 fmt:yuv420p flags:0x4
[libx264 @ 0x9ce9ef0] broken ffmpeg default settings detected
[libx264 @ 0x9ce9ef0] use an encoding preset (e.g. -vpre medium)
[libx264 @ 0x9ce9ef0] preset usage: -vpre <speed> -vpre <profile>
[libx264 @ 0x9ce9ef0] speed presets are listed in x264 --help
[libx264 @ 0x9ce9ef0] profile is optional; x264 defaults to high
Output #0, mp4, to 'path.mp4':
    Stream #0.0(eng): Video: libx264, yuv420p, 320x240, q=2-31, 200 kb/s, 90k tbn, 29.97 tbc
    Stream #0.1(eng): Audio: libfaac, 48000 Hz, 2 channels, s16, 192 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
  Stream #0.0 -> #0.1
Error while opening encoder for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

声明每个libx264选项已弃用。改为使用编码预设,如控制台输出所示。有关详细信息和一些最新示例,请参阅FFmpeg and x264 Encoding GuideFFmpeg: The ultimate Video and Audio Manipulation Tool。另请注意,-bt已与libx264“断开连接”,因此它不会为您做任何事情。

其次,你的ffmpeg已经过时了。 FFmpeg使用Git而不是SVN,并且已有数千个额外的提交(截至目前为19202左右)以及自r26076以来的错误修复。有关编译说明,请参阅Compile FFmpeg on CentOS或参考FFmpeg download页面获取某些静态构建的链接。