avconv 无法将流转换为 MP4 文件,失败并显示“无法设置编码参数”

mik*_*e79 5 libav

我正在尝试编写一些 Wowza 媒体服务器的测试脚本。基本上,我正试图将那些活生生的 Bejeepers 打败。我有 5 台稍旧的计算机,最初是 XP 机器,我已经在上面安装了 Mint 15。我有一个脚本,它基本上调用文件(或文件的符号链接)并将其放入 avconv,然后将其转储为 null。

这里的想法是,这些计算机中的 5 台每秒都启动一个新线程,直到它们可以处理的最大值为止,而不会冻结,我们将对我们当前的实现可以处理的内容有一个很好的了解。我的脚本很好用,但只适用于某些机器。这些系统都是相同的硬件,一开始我在它们上安装了相同的软件,尽管从那时起,其中一些系统可能已经为各种任务安装了额外的软件包。我在脚本中发出的命令是:

avconv version 0.8.6-6:0.8.6-1ubuntu2, Copyright (c) 2000-2013 the Libav developers
built on Mar 30 2013 22:20:06 with gcc 4.7.2
[h264 @ 0xd87ae0] mmco: unref short failure
[applehttp @ 0xd80d40] max_analyze_duration reached
[applehttp @ 0xd80d40] Estimating duration from bitrate, this may be inaccurate
Input #0, applehttp, from     'http://OUR_DOMAIN.com:1935/vod/_definst_/encode/video_file/00/00/00/12/13/mp4:TestFile.mp4/playlist.m3u8':
  Duration: 02:05:54.00, start: 27.728000, bitrate: N/A
    Stream #0.0: Data: [21][0][0][0] / 0x0015
    Metadata:
      variant_bitrate : 1610015
    Stream #0.1: Video: h264 (Main), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 23.98 tbr, 90k tbn, 47.95 tbc
    Metadata:
      variant_bitrate : 1610015
    Stream #0.2: Audio: aac, 48000 Hz, 5.1, s16
    Metadata:
      variant_bitrate : 1610015
[buffer @ 0x13e02c0] w:1280 h:720 pixfmt:yuv420p
[libvo_aacenc @ 0x12c49c0] Unable to set encoding parameters
Output #0, mp4, to '/dev/null':
    Stream #0.0: Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 23.98 tbc
    Metadata:
      variant_bitrate : 1610015
    Stream #0.1: Audio: libvo_aacenc, 48000 Hz, 5.1, s16, 200 kb/s
    Metadata:
      variant_bitrate : 1610015
Stream mapping:
  Stream #0:1 -> #0:0 (h264 -> mpeg4)
  Stream #0:2 -> #0:1 (aac -> libvo_aacenc)
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
Run Code Online (Sandbox Code Playgroud)

任何线索将不胜感激。谢谢!

小智 9

问题似乎是您的输入是 5.1 并且libvo_aacenc仅支持立体声。

因此,要么使用不同的编码器或缩混 ( -ac 2),要么根本不转码音频 ( -c:a copy)。