ffmpeg编译支持rtsp ffmpeg编译支持MediaCodec
大家好,我是云百科的客服小柏,我来为大家解答以上问题。ffmpeg编译支持rtsp,ffmpeg编译支持MediaCodec很多人还不知道,现在让我们一起来看看吧!
解答:
1、 1.下载源代码。搜索百度下载ffmpeg的源代码(我是3.14下载的)。ffmpeg的源代码是不断更新的,每次版本更新都会注明做了哪些改动。您可以查看更新日志。ffmpeg官网显示已经支持mediacodec。
2、 2.通过查阅ffmepg的官方文档,如下图所示,只支持mediacodec的解码。
3、 3.准备编译脚本。
4、 #!/bin/bash
5、 SYSROOT=$NDK/platforms/Android-9/arch-arm/
6、 toolchain=/root/Android/androidcrosstool
7、 功能构建_一
8、 {。/配置\
9、 -prefix=/root/Android/ffmpeg-3.1.4/Android/armV7-a\
10、 -启用-共享\
11、 -禁用-静态\
12、 -禁用程序\
13、 -disable-ffmpeg\
14、 -disable-ffplay\
15、 -disable-ffprobe\
16、 -disable-ffserver\
17、 -disable-doc\
18、 -disable-htmlpages\
19、 -disable-手册页\
20、 -disable-podpages\
21、 -disable-txtpages\
22、 -enable-swresample\
23、 -禁用调试\
24、 -disable-symver\
25、 -enable-jni\
26、 -enable-mediacodec\
27、 -enable-decoder=h264_mediacodec\
28、 -enable-HWAccel=h264_mediacodec\
29、 -enable-memalign-hack\
30、 -enable-gpl\
31、 -enable-非免费\
32、 -enable-version3\
33、 -enable-asm\
34、 -enable-交叉编译\
35、 -enable-filter=scale\
36、 -cross-prefix=$toolchain/bin/arm-Linux-androideabi-\
37、 -target-os=linux\
38、 -arch=arm\
39、 -cpu=armv7-a\
40、 -enable-neon\
41、 -sysroot=$SYSROOT\
42、 -extra-cflags='-March=armV7-a-mfpu=neon'\
43、 -extra-ldflags='-Wl,-lc-lm-ldl-llog'\
44、 $附加_配置_标志
45、 }
46、 CPU=armv7-a
47、 前缀=$(pwd)/android/$CPU
48、 建造一个
49、 主要部分在下图中用红框标出。
50、 4.配置前需要注意的是,android只能识别以结尾的动态库。所以。新版本的ffmpeg编译生成后,它的文件名不会以。所以,所以需要修改以结尾。所以。
51、 打开ffmpeg源目录中的配置文件,找到以下宏定义。
52、 slibname_WITH_MAJOR='$(slibname)。$(LIBMAJOR)'
53、 LIB_INSTALL_EXTRA_CMD='$$(RANLIB)'$(LIBDIR)/$(LIBNAME)''
54、 SLIB安装名称='$(SLIBNAME_WITH_VERSION)'
55、 SLIB_安装_链接='$(SLIBNAME_WITH_MAJOR)$(SLIBNAME)'
56、 上面的宏定义主要是指指定生成文件的格式,按照下面的写法直接修改就可以了。
57、 slibname_WITH_MAJOR='$(SLIBPREF)$(全名)-$(LIBMAJOR)$(SLIBSUF)'
58、 LIB_INSTALL_EXTRA_CMD='$$(RANLIB)'$(LIBDIR)/$(LIBNAME)''
59、 SLIB安装名称='$(SLIBNAME_WITH_MAJOR)'
60、 SLIB安装链接='$(SLIBNAME)'
61、 参考下图。
62、 5.打开终端,进入ffmpeg的源目录,运行配置脚本。
63、 配置后执行make-j8编译。
64、 编译然后执行makeinstall来安装到指定的目录。
65、 6.以下是使用方法。
66、 首先在程序初始化的时候调用av_jni_set_java_vm(vm,NULL);
67、 注意包含头文件,别忘了下面加extern'C',不然会提示找不到av_jni_set_java_vm。
68、 然后,在初始化解码器之前,那些软件解码器被强制替换为mediacodec支持的硬件解码器。
69、 这和平时的ffmpeg基本一样。
70、 另外需要注意的是,要找5.0以上的安卓。
71、 如果你不知道,它支持那些mediacodec解码,你可以使用。//configure-list-decoders去查,3.14版本只支持h264。
本文到此讲解完毕了,希望对大家有帮助。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
最近收到一位患者的留言,说自己这几天总感觉肛门有下坠胀感,特别难受,上网一查,好多信息都指向癌症,这可...浏览全文>>
-
腹痛、腹泻总反复!可能是小肠、大肠在抗议。基于症状特征区分小肠疾病与大肠疾病的具体差异分析:一、核心症状...浏览全文>>
-
近日,中国中医药信息学会肛肠分会·肿瘤分会·治未病分会·河北名医学会肛肠分会·盆底与便秘分会·河北省中...浏览全文>>
-
安徽蚌埠的长安启源E07作为一款备受关注的新能源车型,其价格和配置一直是消费者热议的话题。如果你正考虑入手...浏览全文>>
-
近年来,随着新能源汽车市场的快速发展,插电式混合动力车型逐渐成为消费者关注的焦点。生活家PHEV作为一款备...浏览全文>>
-
在2025款生活家PHEV车型正式上市之前,提前了解相关费用明细对于购车者来说至关重要。这款插电式混合动力车型...浏览全文>>
-
大众途昂作为一款中大型SUV,凭借其宽敞的空间和强劲的动力配置,在市场上一直拥有不错的口碑。对于计划购买20...浏览全文>>
-
阜阳地区的长安启源Q05 2025款车型凭借其时尚的外观设计和丰富的配置,吸引了众多消费者的关注。这款车型作为...浏览全文>>
-
阜阳揽巡作为一款备受关注的中型SUV,凭借其豪华的配置和超值的价格吸引了众多消费者的目光。这款车不仅在外观...浏览全文>>
-
淮南长安启源A07自上市以来便凭借其卓越的性能和亲民的价格赢得了众多消费者的青睐。作为2025款的新车型,它在...浏览全文>>