FFMPEG Android(4)打开Android硬件编码
来源:互联网 发布:数据精灵授权管理系统 编辑:程序博客网 时间:2024/05/21 14:58
1:在编译时enable mediacodec 相关功能。
function build_ffmpeg{./configure \--prefix=$PREFIX \--pkg-config-flags="--static" \--extra-libs="-lgcc" \--extra-cflags="-I$PREFIX/include -static" \--extra-ldflags="-L$PREFIX/lib -static" \--disable-shared \--enable-static \--disable-doc \--enable-ffmpeg \--disable-ffplay \--disable-ffprobe \--disable-ffserver \--disable-avdevice \--disable-doc \--disable-symver \--disable-encoders \--enable-gpl \--enable-libx264 \--enable-encoder=aac \--enable-encoder=libx264 \--enable-parser=h264 \--enable-jni \--enable-mediacodec \--disable-decoders \--enable-decoder=h264_mediacodec \--enable-decoder=vp8_mediacodec \--enable-decoder=vp9_mediacodec \--enable-decoder=mpeg4_mediacodec \--enable-decoder=hevc_mediacodec \--enable-decoder=h264 \--enable-decoder=mpeg4 \--enable-decoder=aac \--enable-decoder=mp3 \--enable-decoder=amr \--disable-muxers \--enable-muxer=m4v \--enable-muxer=mp4 \--enable-muxer=mov \--disable-demuxers \--enable-demuxer=flv \--enable-demuxer=matroska \--enable-demuxer=mov \--enable-demuxer=m4v \--enable-demuxer=avi \--disable-parsers \--enable-parser=aac \--enable-parser=h264 \--enable-parser=mpeg4video \--enable-parser=mpegaudio \--enable-parser=mpegvideo \--disable-protocols \--enable-protocol=file \--disable-devices \--enable-small \--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \--target-os=linux \--arch=arm \--enable-cross-compile \--sysroot=$SYSROOT \$ADDITIONAL_CONFIGURE_FLAGmake cleanrm build.logmake -j8 | tee build.logmake install
2:enable之后,仍然无法使用硬解码。必须在Android代码中注册JavaVM。
jint JNI_OnLoad(JavaVM* vm, void* reserved){LOGI("ffmpeg JNI_OnLoad");av_jni_set_java_vm(vm, reserved); return JNI_VERSION_1_6;}
完成了这两步,在android 转码过程中,会优先使用mediacodec作为解码。
问题:
1:在部分机器上,加载so失败。
这是由于ndk版本导致,新的ndk会有这部分问题。目前觉得方案是切换到ndk8下进行编译。
1 0
- FFMPEG Android(4)打开Android硬件编码
- Android硬件编码
- Linux下编译Android ffmpeg库(mediacodec 硬件解码)
- Android MediaCodec h264硬件编码
- ffmpeg支持android硬件解码mediacodec
- android平台,利用ffmpeg对android摄像头采集编码
- IJKPlayer/FFMPEG 4 Android
- Android硬件
- arm6410 ffmpeg+x264软编码+硬件编码 jrtplib发送
- ffmpeg android
- android-ffmpeg
- FFmpeg-Android
- Android FFmpeg
- Android FFmpeg
- android平台Camera采集数据ffmpeg进行编码探究
- android平台Camera采集数据ffmpeg进行编码探究
- FFMPEG Android(1) 编译
- Android硬件访问服务学习之(二)Android通过硬件访问服务访问硬件
- talent-aio的使用和原理讲解系列(一)--java bio、nio、aio的io模型区别讲解
- SVN创建指定版本号的分支
- NO.2 对文件ACL 权限的设定
- c++ 表达式必须包含类类型 VC_error_code:c2228
- Should the Cowboys trust Chaz Green to be future starting RT?
- FFMPEG Android(4)打开Android硬件编码
- SparkSQL编程指南之Java篇三-数据源(下)
- Makefile的 -I , -L, -l的比例
- Git忽略规则.gitignore梳理
- java.util.Calendar学习
- 高CPU排查方法分享
- JAVA源码阅读-集合框架(一)
- BZOJ 3143 [Hnoi2013]游走 高斯消元
- 推荐算法实践