本文首发于简书——何时夕,搬运转载请注明出处,否则将追究版权责任。交流qq群:859640274
好久不见,最近加班比较多所以第二篇音视频方面的文章 delay 了一周,大家多包涵哈。本文预计阅读时间二十分钟。
本文分为以下章节,读者可以按需阅读
注意事项:
1.开始
拿到一个项目,我们一般有两种方式可以使用它:一个是使用它编译打包后的产物,一个是自己引用他的项目集成到自己的项目中。我们在这一章就来讲讲如何食用 FFmpeg 的源码,将我们的代码写入 FFmpeg项目中,然后编译到 android 项目中。 ,强烈建议大家依照项目代码进行文章的阅读。
2.修改FFmpeg源码
本小节我们来聊聊怎么修改 FFmpeg 的源码,然后自动化的在我们的 android 项目中编译和打包。
在Clion 中编辑 FFmpeg 源码:
----代码块4,本文发自简书、掘金:何时夕----- #!/usr/bin/env bash # exit 不注释的时候,表示 android 项目编译的时候不需要编译 ffmepg,注释的时候,表示 android 项目编译的时候要编译 ffmpeg。 # exit # 执行 FFmpeg 源码项目中的编译脚本 sh /Users/whensunset/AndroidStudioProjects/KSVideoProject/ffmpeg/build_android.sh # 当前项目的 so 文件的存放目录,需要改成自己的 so_path="/Users/whensunset/AndroidStudioProjects/KSVideoProject/FFmpeglearning/app/src/main/jni/ffmpeg/armeabi/" # 所有 so 文件编译生成后的默认命名 libavcodec_name="libavcodec-57.so" libavdeivce_name="libavdevice-57.so" libavfilter_name="libavfilter-6.so" libavformat_name="libavformat-57.so" libavutil_name="libavutil-55.so" libpostproc_name="libpostproc-54.so" libswresample_name="libswresample-2.so" libseacale_name="libswscale-4.so" # 删除当前项目中的老的 so 文件删除 rm ${so_path}${libavcodec_name} rm ${so_path}${libavdeivce_name} rm ${so_path}${libavfilter_name} rm ${so_path}${libavformat_name} rm ${so_path}${libavutil_name} rm ${so_path}${libpostproc_name} rm ${so_path}${libswresample_name} rm ${so_path}${libseacale_name} # FFmpeg 源码项目中,编译好的 so 文件的路径,需要改成自己的 build_so_path="/Users/whensunset/AndroidStudioProjects/KSVideoProject/ffmpeg/android/arm/lib/" # 将新编译的 so 文件拷贝到当前项目的 so 目录下 cd /Users/whensunset/AndroidStudioProjects/KSVideoProject/FFmpeglearning/app cp ${build_so_path}${libavcodec_name} ${so_path}${libavcodec_name} cp ${build_so_path}${libavdeivce_name} ${so_path}${libavdeivce_name} cp ${build_so_path}${libavfilter_name} ${so_path}${libavfilter_name} cp ${build_so_path}${libavformat_name} ${so_path}${libavformat_name} cp ${build_so_path}${libavutil_name} ${so_path}${libavutil_name} cp ${build_so_path}${libpostproc_name} ${so_path}${libpostproc_name} cp ${build_so_path}${libswresample_name} ${so_path}${libswresample_name} cp ${build_so_path}${libseacale_name} ${so_path}${libseacale_name}
上篇文章中我们简单分析了一个 FFmpeg 的官方 demo。几周过去了,目前项目中已经有五个移植成功的官方 demo了,而且都是可以运行的。所以这一章我就来分析解码 demo。为最后一章写一个简单的 android 视频播放器打基础。
:本章示例项目。
:上一篇文章。
1.开始
2.解码
以上就是本篇文章【从零开始仿写一个抖音App——基于FFmpeg的极简视频播放器GitHub地址】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/news/5741.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多