业界动态
从零开始仿写一个抖音App——基于FFmpeg的极简视频播放器GitHub地址
2024-10-31 23:42

本文首发于简书——何时夕,搬运转载请注明出处,否则将追究版权责任。交流qq群:859640274

从零开始仿写一个抖音App——基于FFmpeg的极简视频播放器GitHub地址

好久不见,最近加班比较多所以第二篇音视频方面的文章 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/ , 查看更多   
最新新闻
“撒旦”人血鞋?碰瓷新疆棉花的耐克,又开始喊冤了?
继主动碰瓷新疆棉花把自己搞得股价大跌之后耐克秉承着“no zuo no die”的精神又开始暗搓搓搞“阴间操作”限量发售含人血的“撒
tiktok怎么搭建外网 详细教程及步骤
TikTok怎么搭建外网(详细教程及步骤)TikTok是一款非常流行的短视频社交应用程序,它在全球范围内拥有数亿用户。在使用TikTok的
《以案释法》步数越多,收益越高?别被“走路也能赚钱”的理财广告忽悠了
  走路也能赚到钱的理财  “丑的人还在睡觉,美的人已经跑出一杯星巴克了。”2016年的一天,一个女孩晒出的朋友圈截图引起了
如何用生意参谋算出同行店铺真实销售额
怎么经过生意顾问算出同行店肆实在销售额?大多数在淘宝天猫工作过的人都知道,他们的背景显现了同行商铺的买卖数据,这被称为买
一款最近比较火的网站统计分析系统,易分析具有什么样的功能呢?
一、产品简介北京普艾斯科技有限公司成立于2009年,服务客户1000+,包括电商、金融、保险、政务服务等行业。私有化部署,全渠道
向佐快乐大本营2024年精彩回顾:四年时光共欢笑
张大大谢娜力捧下的综艺新星张大大一位在娱乐圈中颇具人气的主持人他的成名之路离不开谢娜的提携回顾张大大的成名之路可以说谢娜
PingTools app
《PingTools app》是一款非常好用的实用工具软件,软件内拥有丰富的功能,包含了包括浏览器扫描等。使用非常简单,直接下载安装
抖音能看到谁搜索过自己吗?
尊敬的用户,您好。针对抖音平台是否能够查看谁搜索过自己的问题,我们需要做一些详细说明。首先,根据我们了解到的情况,在抖音
什么是人工智能“语料库”?为什么每个人都在谈论它?
编者按:比尔盖茨(Bill Gates)、Reddit 首席执行官和其他科技领袖越来越多地谈论“语料库”,现在是时候了解它是“何方神圣”
LED行业词语中英对应
1、led 灯具构成英文led 球泡灯:led bulbLed 贴片灯珠:SMD LEDLed驱动电源:led driver隔离电源:isolated driver非隔离电源:
本企业新闻

点击拨打: