您的位置:首页 > 其它

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

2016-03-22 10:24 537 查看
     基于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编码,可以了。

    


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: