FFMPEG on linux
From Ffmpeg工程组
编译什么的都通过,现在就是 wmv9 和 rmvb 转不了。
wmv9 我按网上的说明去加 smpte-vc1 也一直报错
CODE: ./libavcodec/libavcodec.so: undefined reference to `vc1DEC_DecodeFrame' ./libavcodec/libavcodec.so: undefined reference to `vc1DEC_DecoderInitialise' ./libavcodec/libavcodec.so: undefined reference to `vc1DEC_DecoderRequirements' ./libavcodec/libavcodec.so: undefined reference to `vc1DECBIT_InitialiseBitstream' ./libavcodec/libavcodec.so: undefined reference to `vc1DEC_DecodeSequence' collect2: ld returned 1 exit status make: *** [ffmpeg_g] Error 1
并且,如果按网上的说明直接 svn 或者 down 下来,然后编译的话是通不过的,我个人就改了 n 多 bug 后才把其它的库都加上
大家还有什么方法能转 rmvb ?rv30/40 我一直没研究明白怎么加到 ffmpeg 里。
ffmpeg , ffmpeg-php 都弄好了,直接在 php 里调,挺爽的。
这是 version 信息
CODE: FFmpeg version SVN-r6389, Copyright (c) 2000-2004 Fabrice Bellard configuration: --prefix=/usr --enable-gpl --enable-shared --enable-mp3lame --enable-amr_nb --enable-amr_wb --enable-amr_if2 --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-faadbin --enable-dts --enable-pp --enable- faad --enable-faac --enable-x264 --enable-pthreads --disable-ffserver --disable-ffplay libavutil version: 49.0.1 libavcodec version: 51.16.0 libavformat version: 50.5.0 built on Sep 30 2006 11:08:25, gcc: 3.4.5 20051201 (Red Hat 3.4.5-2) ffmpeg SVN-r6389 libavutil 3211265 libavcodec 3346432 libavformat 3278080 在 gcc 后面加个 -lvc1 就搞定了。 原因是网上说在 Makefile 里加一个 FFLIBS xxxxx 什么的,但实际上,在加完这个后,应该再加一个 EXTRALIBS+=$(FFLIBS) EXTRALIBS 我可能拼得不对,Makefile 里有,大家对照一下就能找到正确的了。 实际上vc1库基本没法用的,bug多如牛毛,ffmpeg的WMV2解码也还在开发中,有一个问题没解决,会出现J-picture错误,解码出的影片花屏。 rv30/rv40目前似乎只有使用realmedia提供的动态连接库解码。 因此,要不然通过WMV DMO和real media 的编解码器编写自己的用于ffmpeg编解码器,要不然借助avisynth+real native等DirectShow解码real media, WMV9,但没法编码。 第二种方法现在的ffmpeg就可以使用,不过显然第一种方法更可靠,可以避开avisynth的bug,且可以编码
有关该问题的讨论帖可参考ffmpeg工程组论坛中的相关讨论:
FFMPEG on linux
