一步步实现windows版ijkplayer系列文章之四——windows下编译ijkplyer版ffmpeg
一步步实现windows版ijkplayer系列文章之一——Windows10平台编译ffmpeg 4.0.2,生成ffplay
一步步实现windows版ijkplayer系列文章之二——Ijkplayer播放器源码分析之音视频输出——视频篇
一步步实现windows版ijkplayer系列文章之三——Ijkplayer播放器源码分析之音视频输出——音频篇
一步步实现windows版ijkplayer系列文章之四——windows下编译ijkplyer版ffmpeg
一步步实现windows版ijkplayer系列文章之五——使用automake一步步生成makefile
一步步实现windows版ijkplayer系列文章之六——SDL2源码分析之OpenGL ES在windows上的渲染过程
一步步实现windows版ijkplayer系列文章之七——终结篇(附源码)
windows下编译ijkplyer版ffmpeg
ijkplayer版本ffmpeg源码说明
ijkplayer使用了ffmpeg 3.4 release(接下来将此版本ffmpeg叫做ijkplayer-ffmpeg),ijkplayer fork版本最后一个官方的commit详细信息如下:
提交:
01e291a592452f27b3a4e811536aaaf94096e244 [01e291a]
父级:
03351cce88
作者:
Mark Thompson <sw@jkqxz.net>
日期:
2017年10月15日 GMT+8 下午7:45:15
ijkplayer团队在此基础上做了不少的改动,同时官方的3.4 release也在做更新,最近的一个3.4小版本release是3.4.4,时间在2018年7月18号。把ijkplayer的FFmpeg fork版本拿到windows下面编译一直编译不过,拿官方的3.4最新代码却能编译成功,所以首先需要把两个branch进行一下merge。
merge Ijkplayer-ffmpeg 到 ffmpeg3.4.4
ijkplayer-ffmpeg fork自 官方的ffmpeg,ijkplayer-ffmpeg可以提交pull request到官方ffmpeg,这不是我们自己能控制的。网上搜索了相关的资料,git如此强大,可以对两个fork的branch进行『移花接木』,现将过程记录如下:
github上将官方ffmpeg fork一份到自己的账户。
在本地将ijkplayer-ffmpeg仓库clone下来:
https://github.com/Bilibili/FFmpeg.git
跳转到ijkplayer-ffmpeg 根目录:
cd root_path_of_ijkplayer-ffmpeg
将ijkplayer指定的tag检出。
git checkout ff3.4--ijk0.8.7--20180103--001 -B ijkplayer
删除本地仓库的origin部分:
git remote rm origin
将官方ffmpeg origin添加到本地ijkplayer-ffmpeg:
git remote add origin https://github.com/harlanc/FFmpeg.git
重命名本地branch ijkplayer
git branch -m ijkplayer-temp
将更新后的远端仓库拉取到本地:
git fetch
将官方ffmpeg的3.4.4版本检出:
git checkout n3.4.4 -B ijkplayer
最后将ijkplayer-temp merge到官方ffmpeg n3.4.4中:
git merge ijkplayer-temp
最终的结果没有冲突,直接将代码commit和push即可。
在WinGW中编译ijkplayer-ffmpeg
将merge后的branch拷贝到windows环境中,同前面介绍的编译ffmpeg4.0.2一样进行编译,发现ijkplayer更新的ffmpeg代码存在不少问题,有一些bug,也有的缺失了windows部分的代码,做了一些改动,也有可能有问题,但最后编译通过了(具体可以看我的github)。ijkplayer-ffmpeg的android平台下,最终ffmpeg部分是生成了一个so动态库,libijkffmpeg.so,而且这个库还很小。使用ffmpeg的configure编译出来后是很多的dll和lib,想像ijkplayer一样将需要的.o文件打包成一个动态库,最后没有成功,先继续往前走吧,最关键的部分还没到,朝目标又近了一步,加油。
参考
Combining two git repositories
一步步实现windows版ijkplayer系列文章之四——windows下编译ijkplyer版ffmpeg的更多相关文章
- 一步步实现windows版ijkplayer系列文章之一——Windows10平台编译ffmpeg 4.0.2,生成ffplay
一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...
- 一步步实现windows版ijkplayer系列文章之七——终结篇(附源码)
一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...
- 一步步实现windows版ijkplayer系列文章之六——SDL2源码分析之OpenGL ES在windows上的渲染过程
一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...
- 一步步实现windows版ijkplayer系列文章之五——使用automake生成makefile
一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...
- 一步步实现windows版ijkplayer系列文章之三——Ijkplayer播放器源码分析之音视频输出——音频篇
一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...
- 一步步实现windows版ijkplayer系列文章之二——Ijkplayer播放器源码分析之音视频输出——视频篇
一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...
- Windows Shell Extension 系列文章
Windows Shell Extension 系列文章 http://www.codeproject.com/Articles/512956/NET-Shell-Extensions-Shell-C ...
- windows 下编译64位ffmpeg
window下如何编译ffmpeg 前文已有介绍,前面介绍的都是如何编译32位的库,本文主要介绍window 下如何编译64位ffmpeg库. 一.搭建编译环境 1.下载 windows下编译64位F ...
- Windows Azure Platform 系列文章目录
Windows Azure Platform (一) 云计算的出现 Windows Azure Platform (二) 云计算的分类和服务层次 Windows Azure Platform (三) ...
随机推荐
- AutoCompleteTextView 简单用法 实现自定义list adapter
网上有不少教程,那个提示框字符集都是事先写好的,例如用一个String[] 数组去包含了这些数据,但是,我们也可以吧用户输入的作为历史记录保存 下面先上我写的代码:import andro ...
- 「loj3058」「hnoi2019」白兔之舞
题意 有一个\((L+1)*n\) 的网格图,初始时白兔在\((0,X)\) , 每次可以向横坐标递增,纵坐标随意的位置移动,两个位置之间的路径条数只取决于纵坐标,用\(w(i,j)\) 表示,如果要 ...
- javascript面向对象精要第五章继承整理精要
javascript中使用原型链支持继承,当一个对象的[prototype]设置为另一个对象时, 就在这两个对象之间创建了一条原型对象链.如果要创建一个继承自其它对象的对象, 使用Object.cre ...
- Prometheus Redis_exporter
Redis 下载redis_exporter wget https://github.com/oliver006/redis_exporter/releases/download/v0.15.0/re ...
- 20190311 Windows上ZooKeeper伪集群的实现
1. 复制并修改conf/zoo.cfg文件 以zoo1.cfg为例: dataDir=E:\\Develop\\zookeeper\\3.4.6\\zookeeper-3.4.6\\data1 da ...
- Linux操作系统原理
Linux操作系统原理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.计算机经历的四个时代 1.第一代: 真空管计算机,输入和输出:穿孔卡片,对计算机操作起来非常不便,做一件事 ...
- WebServer Security apache / bind / IIS5
s C:\Users\Lindows\Desktop\学习参考 Apache_配置规范_(Linux).zip Apache_配置规范_(Windows).zip BIND_配置规范.zip IIS5 ...
- Linux怎么安装vim编译器
我的Linux系统是Ubantu14.04,默认的是vi编译器,现在安装vim编译器 打开终端输入:sudo apt-get install vim-gtk 一般来说就可以了,但是我的提示出现了报错: ...
- 如何在github上下载单个文件
原文链接:https://www.cnblogs.com/zhaoqingqing/p/5534827.html 找到目标文件,打开,会看到raw,右键,目标另存为.ok
- JAVA记录-基础常识
1.==与equals区别 1)==用于基本数据类型的比较,判断引用是否指向堆内存的同一地址.---引用地址 2)equals用于判断两个变量是否是对同一对象的引用,即堆中的内容是否相同,返回值为布尔 ...