android 移植 ffmpeg (三) 测试用例(解决avcodec_find_encoder(AV_CODEC_ID_H264)返回为NULL的问题)
来源:互联网 发布:vb打开文件夹 编辑:程序博客网 时间:2024/06/07 03:16
使用ffmmpeg编译的时候,一般我们会用到H264编码,像这样使用的时候发现ffmpeg无法找到H264编码:
AVCodec* pCodec = avcodec_find_encoder(AV_CODEC_ID_H264); if (!pCodec){ LOGE("Can not find encoder(AV_CODEC_ID_H264)!");//程序执行了这一句 }else{ LOGE("Can find encoder--------!\n"); }
安装H264的步骤如下:
下载H264,解压,然后cd到解压后的目录里面,执行以下语句:
./configure --prefix=/usr/local/x264 --enable-shared --enable-static
其中 /usr/local/x264 就为我们要目录目录,编译完成之后,然后执行:
sudo make install
如果没有什么意外的话,意味着H264安装成功了。安装成功后,我们需要修改build_andriod_mac.sh文件
#!/usr/bin/env bash#通过 --enable-gpl --enable-libx264 开启h264#以下方式引入第三方库来指定h264的安装路径,否则编译的时候不知道x264的位置,会提示: ERROR: libx264 not found#--extra-cflags="-I/usr/local/include/" \#--extra-ldflags="-L/usr/local/x264/lib" \#-–extra-ldflags="-L/usr/local/lib" \export NDK=/Users/pingzhang/Documents/tool/android-ndk-r13export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64 export PLATFORM=$NDK/platforms/android-23/arch-arm export PREFIX=$NDK/sources/ffmpeg/android build_one(){ ./configure --target-os=linux \ --extra-cflags="-fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a" \ --extra-cflags="-I/usr/local/include/" \ --extra-ldflags="-L/usr/local/x264/lib" \ -–extra-ldflags="-L/usr/local/lib" \<span style="white-space:pre"></span>--prefix=$PREFIX --enable-cross-compile \<span style="white-space:pre"></span>--enable-runtime-cpudetect --disable-asm \<span style="white-space:pre"></span>--arch=arm --cc=$PREBUILT/bin/arm-linux-androideabi-gcc \<span style="white-space:pre"></span>--cross-prefix=$PREBUILT/bin/arm-linux-androideabi \<span style="white-space:pre"></span>--disable-stripping --nm=$PREBUILT/bin/arm-linux-androideabi-nm \<span style="white-space:pre"></span>--sysroot=$PLATFORM --enable-gpl --enable-shared --disable-static \<span style="white-space:pre"></span>--enable-small --disable-ffprobe --disable-ffplay --disable-ffmpeg \<span style="white-space:pre"></span>--disable-ffserver --disable-debug \ --enable-gpl --enable-libx264 \ --enable-decoder=h264 --enable-encoder=h264} build_one make clean make make install
Linux下编译带x264的ffmpeg的方法
http://blog.csdn.net/season_hangzhou/article/details/24399371 0 0
- android 移植 ffmpeg (三) 测试用例(解决avcodec_find_encoder(AV_CODEC_ID_H264)返回为NULL的问题)
- android 调用系统相机,预置路径,解决小米等机型uri返回为null的问题
- android 移植 ffmpeg (二) 测试用例
- android 移植 ffmpeg (二) 测试用例
- 解决PHP 编码中文返回时为null的问题
- 【Android】解决Android平台移植ffmpeg的一揽子问题
- 解决Android平台移植ffmpeg的一揽子问题
- 解决Android平台移植ffmpeg的一揽子问题
- 解决Android平台移植ffmpeg的一揽子问题
- 解决Android平台移植ffmpeg的一揽子问题
- 解决Android平台移植ffmpeg的一揽子问题
- 解决Android平台移植ffmpeg的一些问题
- 解决Android平台移植ffmpeg的一揽子问题
- 解决Android平台移植ffmpeg的一揽子问题
- 解决Android平台移植ffmpeg的一揽子问题
- 解决Android平台移植ffmpeg的一揽子问题
- 解决Android平台移植ffmpeg的一揽子问题
- 解决Android平台移植ffmpeg的一揽子问题
- 数据结构之链表
- ServletConfig对象和ServletContext对象的详解
- HDU 3681
- C语言结构体内存对齐问题
- 第九周—大奖赛计分
- android 移植 ffmpeg (三) 测试用例(解决avcodec_find_encoder(AV_CODEC_ID_H264)返回为NULL的问题)
- 思考与积累~
- java_基础_socket编程UDP--实用
- 算法——斐波那契(1)
- WEB端、H5前端性能测试
- html自定义标签
- hdu 2082--找单词 普通型母函数的应用
- bzoj2330 [SCOI2011]糖果 差分约束
- java基础_socket编程_TCP实现