一步步实现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 (三) ...
随机推荐
- poj1038 Bugs Integrated,Inc. (状压dp)
题意:N*M的矩阵,矩阵中有一些坏格子,要在好格子里铺2*3或3*2的地砖,问最多能铺多少个. 我的方法好像和网上流传的方法不太一样...不管了.... 由数据范围很容易想到状压dp 我们设某个状态的 ...
- python assert用法
使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单.在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件 ...
- time_t和difftime
在C++中,下面这段代码可以获取一段时间差. time_t t1 = time(NULL); Sleep(); time_t t2 = time(NULL); cout << diffti ...
- python并发编程之IO模型 (四十九)
IO模型介绍 http://www.cnblogs.com/linhaifeng/articles/7454717.html
- Failed to load because no supported source was found
Uncaught (in promise) DOMException: Failed to load because no supported source was found? 等待解决:
- 使用博客系统发生_STORAGE_WRITE_ERROR_错误
因为本人有自己的vps正好又最近学习了网络的搭建,但是呢不是一番风顺的在假设好PHP.http和MySQL后吧一个博客系统放进去后出现了以下问题 好吧== 出来了这个问题到是让我看了半天,然后查了查说 ...
- GYM 101173 K.Key Knocking(构造)
原题链接 参考自 问题描述:一个长度为3*n的01串,每次可以翻转连续的两个字符,要求至多翻转n次使得这个3*n的串至少有2*n个连续的段且相邻两端不一样(就是连续的0算一段,然后连续的1,…) 解法 ...
- numpy笔记—ravel和c_命令(区别flatten)
np.c_给numpy数组添加列 np.r_给numpy数组添加行 ravel(): 将多维数组降成一维, 返回的是视图
- C# 生成一个带数字的饼图
using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D ...
- 通过COM组件方式实现java调用C#写的DLL文件 转
最近一段时间单位在做一个Web项目,工程师用JAVA语言,需要公用人员信息,统一用户名和密码,原有的平台中是用C#语言开发的,在网上查找解决方法,通过JAVA调用C#的DLL文件实现.网上资料很多,自 ...