ffmpeg视频编码AV_CODEC_ID_H264 Codec not find解决方法

来源:互联网 发布:做账软件免费版 编辑:程序博客网 时间:2024/06/08 17:35

     基于Cygwin平台,在Eclipse上建立C project,使用FFmpeg开源库进行视频编解码工作。可以将H.264编码格式的视频解码成YUV数据。但是对YUV数据编码为H.264时遇到了问题,使用FFmpeg提供的示例程序,报错AV_CODEC_ID_H264 Codec notfound. 使用avcodec_find_encoder(AV_CODEC_ID_H264)测试,返回结果总是NULL。FFmpeg没有H264编码器。

     

      需要附带x264。先编译x264,然后整合到FFmpeg中。

1、x264源码下载地址

   http://download.videolan.org/pub/videolan/x264/snapshots/

   参考链接

   http://blog.csdn.net/wutong_login/article/details/6677848#comments


   选择下载一个版本的x264。如x264-snapshot-20150625-0011-stable.tar.bz2。

    

 

x264编译

参考链接

   http://blog.csdn.net/najiutan/article/details/36171997

   CFLAGS="-fPIC"./configure --enable-static --disable-opencl --disable-asm

   

   make

    

   make install

   

   配置安装ffmpeg。在配置信息中一定要加入“--enable-libx264”,连接x264。

   

      配置命令为“$CFLAGS="-fPIC" ./configure--enable-shared --enable-libx264 --disable-yasm --prefix=/usr/local/ffmpeg”时提示找不到libx264。需要指定x264库的路径。之前编译的x264默认在/usr/local下面,添加“--extra-cflags=-I/usr/local/include--extra-ldflags=-L/usr/local/lib”用来寻找x264库。

      完整命令为“$CFLAGS="-fPIC" ./configure--enable-shared --enable-libx264 --disable-yasm--extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib--prefix=/usr/local/ffmpeg”。

    

   make

   

   make  install

   


   因为之前安装过FFmpeg,环境变量等没变,就不用重新配置了。

   使用程序进行H264编码,可以了。

    

 

0 0
原创粉丝点击