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

标签 php ffmpeg

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

Error while opening encoder for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height

另一件看起来很重要的事情是:

[libx264 @ 0x93caef0] broken ffmpeg default settings detected

[libx264 @ 0x93caef0] use an encoding preset (e.g. -vpre medium)

[libx264 @ 0x93caef0] preset usage: -vpre -vpre

[libx264 @ 0x93caef0] speed presets are listed in x264 --help

[libx264 @ 0x93caef0] profile is optional; x264 defaults to high

我运行的最新代码是:

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 destination

我见过其他一些人也遇到过这个问题,但他们的修复由于某种原因不起作用。

万一重要的是:最终这将在 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

感谢您的帮助

最佳答案

声明每个 libx264 选项均已弃用。按照控制台输出指示,使用编码预设。请参阅FFmpeg and x264 Encoding GuideFFmpeg: The ultimate Video and Audio Manipulation Tool了解更多信息和一些最新示例。另请注意,-bt 已与 libx264“断开连接”,因此它对您没有任何作用。

其次,你的 ffmpeg 太旧了。 FFmpeg 使用 Git 而不是 SVN,并且自 r26076 以来已有数千个额外提交(截至目前大约 19202 年)和错误修复。请参阅Compile FFmpeg on CentOS有关编译说明或引用 FFmpeg download一些静态构建的链接页面。

关于php - 转换为 mp4 时出现 ffmpeg 错误 打开输出流 #0.0 的编码器时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12847980/

相关文章:

php - 尽管我已将其关闭,但仍在打开安全模式

c++ - 在 visual studio explress C++ 2010 项目中使用 ffmpeg 静态库

image - ffmpeg调整大小维护方面 - 未找到过滤器

ios - iOS Swift 上的 FFMpeg

PHP 安全困境

php - 使用一些生成的 key 将 js/css 文件缩小为 Assets 的方法

php - 当我刷新页面时,内存使用量会增加,为什么?我该如何解决它?

video - 使用 ffmpeg 或 ffprobe 获取视频的像素位深度

c++ - FFMPEG undefined reference `avdevice_register_all'

php - 多维关联数组电子邮件检查