接着之前的一篇简要的ijkplayer的编译过程,这一遍主要是详细描述ijkplayer编译的详细过程,跟着编译的脚本详细分析在ijkplayer从开源库的clone到完整地编译android共享库的过程。
DirectShow播放视频流程
DirectShow框架简介
DirectShow框架是多媒体播放框架上一个非常经典的框架,现在已经十多年了,在Windows平台上依然无法替代,非常值得去学习研究。个人觉得从设计模式的角度上看,directshow框架的灵活性、复用性、可维护性、可拓展性这些方面做得非常不错,也是它经久不衰历久弥新的一个原因,现在的很多第三方的decoder和filter都基于directshow框架开发,可以很灵活的移植到directshow视频框架中,例如视骏开发的HEVC/H.265
解码器,都可以直接挂载在directshow框架中进行视频解码。
MediaInfo库的使用
MediaInfo
MediaInfo是一款专门用来分析音频和视频的文件编码和内容信息的开源软件,通过MediaInfo可以快捷明了的获取多媒体文件信息,支持多平台(windows、mac、linux等),我们平时常用的K-Lite Codec Pack就集成MediaInfo的功能,相比FFmpeg
,MediaInfo
获取多媒体信息的方式更加快捷丰富。
编译Rk3288源码
CompileFFmpeg4Windows
最近项目需要想整一下windows下面的FFmpeg编译,当然可以直接下载官方编译好的库,有个缺点就是官方的是默认的编译配置,所以如果我们想自定义配置ffmpeg的编译参数,还是得自己亲自来编译,官方提供三个版本的编译:
- static:只有编译完成的
exe
程序; - shared:包含
dll
和exe
; - dev: 包含头文件
.h
,lib
和dll.a
ijkpalyer的官方指导编译
ijkplayer是基于FFmpeg的开源的移动平台视频播放器,跨平台支持Android和IOS,支持本地播放和在线视频播放,有点类似google的开源播放器ExoPlayer,想从底层了解视频播放的过程,ijkplayer是一个非常值得学习的开源项目。
主要先介绍下ijkplayer的编译过程:
Android平台上使用SDL官方demo播放视频(使用ffmpeg解码)
SDL(Simple Directmedia Layer)是一套开源的跨平台多媒体开发库,集成了音视频的许多底层的API,介绍Windows平台下的例子已经很多了,例如:雷老师的 最简单的视音频播放示例7:SDL2播放RGB/YUV,既然SDL是跨平台的,自己有参考了雷老师的这篇文章 最简单的基于FFmpeg的移动端例子附件:SDL Android HelloWorld,下面将介绍下Android平台上播放视频的简单的例子
使用代码的方式同步Fork的仓库
卸载visual studio 2013、2015等,微软打脸出品
最近下载了VS2015,想卸载之前安装的VS2013,却发现根本就发发卸载干净,想想安装一个版本的VS就需要消耗10个多G的磁盘空间,感觉好亏,必须的把它干掉,不错到微软怎么想的,无法卸载他们的开发软件是一种怎样的心理,难不成希望我么重装系统么?最好是重装成win10的系统么?再想想,微软为了推广自己的win10,下了好大的一盘棋-_-||
使用七牛作为图床加上自己的水印
有时候自己的写博客的图片,一方面不想被别人直接盗过去,另一方面又想宣传一下自己,达到和网友们交流的目的,所以一般都会自己加上水印,这个水印可以是自己的社交账号或者博客地址,推荐使用了七牛做为图床,然后想把自己的图片加上水印,这时候使用图床提供的图片处理接口就很容易进行图片处理了