一步步实现windows版ijkplayer系列文章之七——终结篇(附源码)

一步步实现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系列文章之七——终结篇(附源码)html

一步步实现windows版ijkplayer系列文章之七——终结篇(附源码)

ijkplayer windows版本的移植工做终于有了一些进展,起初本身作这个项目是由于公司有可能会用到,因而用业余时间慢慢熟悉相关知识和ijkplayer的代码。如今应该是用不到了,到这里作一个总结吧,最终可以达到的效果是是可以在windows上用OpenGL ES渲染视频和用OpenAL播放声音,可是还有音画不一样步的问题,之后有时间的话再去解决。各位若是有想学习音视频渲染的能够参考个人代码相互交流学习。git

下面是编译源码的说明文档,若是有任何问题能够通知我。github

编译环境

  • MinGW32
  • WIN7
  • Visual Studio 2017

MinGW32环境的搭建能够参考以前的帖子windows

准备工做

编译ijkplayer-ffmpeg

ijkplayer使用的ffmpeg直接拿来在windows上编译会出错,须要merge官方ffmpeg的最新代码,能够看以前的帖子。merge后的代码push到了github上。源码分析

将代码clone到MInGW_root_path/msys/1.0/home/Admistrator/下面post

git clone https://github.com/harlanc/FFmpeg.git

将ijkplayer branch checkout下来:学习

git checkout origin/ijkplayer -b ijkplayer

configureui

$ ./configure --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl --enable-debug=3 --disable-optimizations --disable-mmx --disable-s tripping

make && make installdebug

make && make install
  • 注意编译ijkplayer-windows的时候会找一个<libffmpeg/config.h>的头文件,这个文件若是在ijkplayer-ffmpeg/build目录下没有,本身新建一个文件夹libffmpeg,把ijkplayer-ffmpeg/build下面的config.h拷贝过去便可。

编译Angle库

clone到本地3d

git clone https://github.com/Microsoft/angle.git

调用批处理生成sln文件而后用Vistual Studio编译生成如下3个dll:

  • d3dcompiler_47.dll
  • libEGL.dll
  • libGLESv2.dll

具体流程参考微软的官方文档

将上面三个dll拷贝到 MInGW_root_path/msys/1.0/local/bin下面

编译ijkplayer-windows

clone代码到本地

git clone https://github.com/harlanc/ijkplayer-windows.git
  • 注意:必定要把ijkplayer-windows和前面的ijkplayer-ffmpeg这两个工程放在同一个目录下,否则编译ijkplayer-windows的时候会找不到ffmepg的头文件

将ijkplayer-windows branch checkout下来:

git checkout origin/ijkplayer-windows -b ijkplayer-windows

将Angle代码库下面的include文件夹拷贝到ijkplayer-windows/ijkmedia/ijksdl 下面。

到ijkplayer-windows/ijkmedia目录下执行configure命令:

./configure

执行make&& make install

make && make install

执行

最后会在ijkplayer-windows/ijkmedia/ijkplayer/windows/.libs 下面生成winplayer.exe可执行文件。将视频文件拷贝到此目录下面,执行下面的命令播放:

./winplayer.exe test.mp4

附一个最终的效果图:

avatar

已知问题

  • 音画不一样步
相关文章
相关标签/搜索