0

我们正在尝试在我们的 RH linux 服务器上安装 ffmpeg。

麻烦的是它对一个不起作用,我们不知道为什么。工作服务器和非工作服务器具有相同的配置信息:

    ffmpeg 版本 0.10.2 版权所有 (c) 2000-2012 FFmpeg 开发者
    使用 gcc 4.1.2 20080704 (Red Hat 4.1.2-51) 于 2012 年 4 月 19 日 14:00:25 构建
    配置: --enable-gpl --enable-version3 --enable-shared --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore- amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --extra-cflags=-I/usr/local/include --extra-ldflags =-L/usr/local/lib
    libavutil 51. 35.100 / 51. 35.100
    libavcodec 53. 61.100 / 53. 61.100
    libavformat 53. 32.100 / 53. 32.100
    libav 设备 53. 4.100 / 53. 4.100
    libavfilter 2. 61.100 / 2. 61.100
    libswscale 2. 1.100 / 2. 1.100
    libswresample 0. 6.100 / 0. 6.100
    libpostproc 52. 0.100 / 52. 0.100
    超快速音频和视频编码器

我们得到的错误是:

    ffmpeg 版本 0.10.2 版权所有 (c) 2000-2012 FFmpeg 开发者
      使用 gcc 4.1.2 20080704 (Red Hat 4.1.2-51) 于 2012 年 4 月 19 日 14:00:25 构建
      配置: --enable-gpl --enable-version3 --enable-shared --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore- amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --extra-cflags=-I/usr/local/include --extra-ldflags =-L/usr/local/lib
    libavutil 51. 35.100 / 51. 35.100
    libavcodec 53. 61.100 / 53. 61.100
    libavformat 53. 32.100 / 53. 32.100
    libav 设备 53. 4.100 / 53. 4.100
    libavfilter 2. 61.100 / 2. 61.100
    libswscale 2. 1.100 / 2. 1.100
    libswresample 0. 6.100 / 0. 6.100
    libpostproc 52. 0.100 / 52. 0.100
    输入#0,mov,mp4,m4a,3gp,3g2,mj2,来自“4598_Testvideo_MP4-H264-6MBit_AAC-44KHz-192KBit_720p.mp4”:
      元数据:
        主要品牌:mp42
        次要版本:0
        兼容品牌:mp42mp41
        创建时间:2012-01-25 10:58:21
      时长:00:02:13.56,开始:0.000000,比特率:5472 kb/s
        流 #0:0(eng):视频:h264(主要)(avc1 / 0x31637661)、yuv420p、1280x720 [SAR 1:1 DAR 16:9]、5280 kb/s、25 fps、25 tbr、25k tbn、50待定
        元数据:
          创建时间:2012-01-25 10:58:21
          handler_name : Mainconcept MP4 视频媒体处理程序
        流 #0:1(eng):音频:aac (mp4a / 0x6134706D),44100 Hz,立体声,s16,189 kb/s
        元数据:
          创建时间:2012-01-25 10:58:21
          handler_name : Mainconcept MP4 声音媒体处理程序
    [缓冲区@ 0x3160ea0] w:1280 h:720 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param:
    [比例@ 0x31629a0] w:1280 h:720 fmt:yuv420p -> w:480 h:270 fmt:yuv420p 标志:0x4
    [libvpx@0x314ab40] v0.9.6
    [libvpx @ 0x314ab40] 无法初始化编码器:ABI 版本不匹配
    输出#0,webm,到“outputvideo.webm”:
      元数据:
        主要品牌:mp42
        次要版本:0
        兼容品牌:mp42mp41
        创建时间:2012-01-25 10:58:21
        流 #0:0(eng):视频:vp8、yuv420p、480x270 [SAR 1:1 DAR 16:9]、q=-1--1、2500 kb/s、90k tbn、25 tbc
        元数据:
          创建时间:2012-01-25 10:58:21
          handler_name : Mainconcept MP4 视频媒体处理程序
        流 #0:1(eng):音频:无,44100 Hz,立体声,s16,128 kb/s
        元数据:
          创建时间:2012-01-25 10:58:21
          handler_name : Mainconcept MP4 声音媒体处理程序
    流映射:
      流 #0:0 -> #0:0 (h264 -> libvpx)
      流 #0:1 -> #0:1 (aac -> libvorbis)
    为输出流 #0:0 打开编码器时出错 - 可能是不正确的参数,例如 bit_rate、rate、width 或 height

我查看了使用 ldd 的依赖库,确实发现了一个不同的库。库 libz.so 不是系统中不起作用的列表。IE

    /lib64/ld-linux-x86-64.so.2 (0x00000035a9000000)
    libavcodec.so.53 => /usr/local/lib/libavcodec.so.53 (0x00002ae5189a8000)
    libavdevice.so.53 => /usr/local/lib/libavdevice.so.53 (0x00002ae518204000)
    libavfilter.so.2 => /usr/local/lib/libavfilter.so.2 (0x00002ae51840e000)
    libavformat.so.53 => /usr/local/lib/libavformat.so.53 (0x00002ae51869c000)
    libavutil.so.51 => /usr/local/lib/libavutil.so.51 (0x00002ae519e17000)
    libc.so.6 => /lib64/libc.so.6 (0x00000035a9400000)
    libfaac.so.0 => /usr/lib64/libfaac.so.0 (0x0000003407800000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000035ac000000)
    libmp3lame.so.0 => /usr/lib64/libmp3lame.so.0 (0x0000003407000000)
    libm.so.6 => /lib64/libm.so.6 (0x00000035aa000000)
    libogg.so.0 => /usr/local/lib/libogg.so.0 (0x00002ae51b35b000)
    libopencore-amrnb.so.0 => /usr/lib64/libopencore-amrnb.so.0 (0x0000003409800000)
    libopencore-amrwb.so.0 => /usr/lib64/libopencore-amrwb.so.0 (0x0000003407c00000)
    libpostproc.so.52 => /usr/local/lib/libpostproc.so.52 (0x00002ae5197ba000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00000035a9c00000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00000035aa400000)
    libswresample.so.0 => /usr/local/lib/libswresample.so.0 (0x00002ae5199c6000)
    libswscale.so.2 => /usr/local/lib/libswscale.so.2 (0x00002ae519bce000)
    libtheoradec.so.1 => /usr/local/lib/libtheoradec.so.1 (0x00002ae51b141000)
    libtheoraenc.so.1 => /usr/local/lib/libtheoraenc.so.1 (0x00002ae51af05000)
    libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2 (0x00002ae51a8fe000)
    libvorbis.so.0 => /usr/lib64/libvorbis.so.0 (0x00002ae51acd9000)
    libvpx.so.0 => /usr/lib64/libvpx.so.0 (0x00002ae51a687000)
    libx264.so.120 => /usr/local/lib/libx264.so.120 (0x00002ae51a320000)
    libxvidcore.so.4 => /usr/lib64/libxvidcore.so.4 (0x00002ae51a03a000)
    linux-vdso.so.1 => (0x00007ffff63f6000)

    /lib64/ld-linux-x86-64.so.2 (0x0000003074c00000)
    libavcodec.so.53 => /usr/local/lib/libavcodec.so.53 (0x00002b2038eeb000)
    libavdevice.so.53 => /usr/local/lib/libavdevice.so.53 (0x00002b2038746000)
    libavfilter.so.2 => /usr/local/lib/libavfilter.so.2 (0x00002b2038950000)
    libavformat.so.53 => /usr/local/lib/libavformat.so.53 (0x00002b2038bdf000)
    libavutil.so.51 => /usr/local/lib/libavutil.so.51 (0x00002b203a368000)
    libc.so.6 => /lib64/libc.so.6 (0x0000003075000000)
    libfaac.so.0 => /usr/lib64/libfaac.so.0 (0x00002b203bcef000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003003400000)
    libmp3lame.so.0 => /usr/lib64/libmp3lame.so.0 (0x000000310ae00000)
    libm.so.6 => /lib64/libm.so.6 (0x0000003075c00000)
    libogg.so.0 => /usr/lib64/libogg.so.0 (0x00002b203bf01000)
    libopencore-amrnb.so.0 => /usr/lib64/libopencore-amrnb.so.0 (0x00002b203bac1000)
    libopencore-amrwb.so.0 => /usr/lib64/libopencore-amrwb.so.0 (0x00002b203b8ab000)
    libpostproc.so.52 => /usr/local/lib/libpostproc.so.52 (0x00002b2039d0b000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003075800000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x000000360ea00000)
    libswresample.so.0 => /usr/local/lib/libswresample.so.0 (0x00002b2039f18000)
    libswscale.so.2 => /usr/local/lib/libswscale.so.2 (0x00002b203a11f000)
    libtheoradec.so.1 => /usr/local/lib/libtheoradec.so.1 (0x00002b203b693000)
    libtheoraenc.so.1 => /usr/local/lib/libtheoraenc.so.1 (0x00002b203b457000)
    libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2 (0x00002b203ae50000)
    libvorbis.so.0 => /usr/lib64/libvorbis.so.0 (0x00002b203b22a000)
    libvpx.so.0 => /usr/lib64/libvpx.so.0 (0x00002b203abd9000)
    libx264.so.120 => /usr/local/lib/libx264.so.120 (0x00002b203a871000)`在此处输入代码`
    libxvidcore.so.4 => /usr/lib64/libxvidcore.so.4 (0x00002b203a58c000)
    libz.so.1 => /lib64/libz.so.1 (0x0000003076000000)
    linux-vdso.so.1 => (0x00007fff6adfd000)

我想问这是否与问题有关。在我试图弄清楚 libz.so 是如何出现在一个列表中而不是另一个列表中之前。

顺便说一句,ld.so.conf 文件是相同的。

4

1 回答 1

0

一个版本没有引用 zlib 而另一个版本没有引用,这有点不寻常。但是,除非您使用依赖于 zlib 的格式(几个容器和编解码器可以),否则这不会导致问题。在这种情况下不是。

错误文本中详细说明了具体问题:

[libvpx @ 0x314ab40] v0.9.6
[libvpx @ 0x314ab40] Failed to initialize encoder: ABI version mismatch

FFmpeg 和 libvpx 相处不融洽。

看起来你是从最新的源代码自己编译的 FFmpeg。libvpx 是从哪里来的?从 Red Hat RPM 安装?还是自己编译?您是否在其中一个 RH 机器上进行编译,然后将二进制文件移动到另一个?

于 2012-05-01T02:35:26.390 回答