iOS-FFmpeg实现简单播放器(编译fak-aac+x264+sdl)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS-FFmpeg实现简单播放器(编译fak-aac+x264+sdl)相关的知识,希望对你有一定的参考价值。

参考技术A 本文介绍自己编译sdl2,fdk-aac,x264,ffmpeg源码集成到Xcode工程中,其中fdk-aac,x264嵌套编译进ffmpeg中,并使用sdl播放音频,OPenGLES渲染视频实现简单播放器

若报错 fdk-aac-2.0.2/configure: No such file or directory ,则用我网盘中的解压文件,里面包含了configure执行文件,执行 ./build.sh 后,

修改build-ffmpeg.sh文件为最新的版本4.3.2,修改CONFIGURE_FLAGS值中增加禁止生成可执行文件ffmpeg,ffplay,ffprobe,fdk-aac需要增加--enable-nonfree选项,fdk-aac和x264文件绝对路径要一致

将编译好的sdl,fdk-aac,x264,ffmpeg头文件和库文件(include和lib文件夹)

导入Xcode工程中并设置Header Search Path为

导入依赖的库AVFoudation.framework,CoreMedia.framework,VideoToolBox.framework,AudioToolBox.framework,lbz.tbd,libbz2.tbd,libiconv.tbd

使用ffmpeg库获取ffmpeg版本号

集成后可使用ffmpeg进行软解码,sdl播放音频,OpenGLES绘制视频实现一个简单播放器

开启子线程读取到MP4文件后,从MP4文件中解封装出h264文件和aac文件分别解码为YUV原始视频帧和pcm原始音频,将解封装出来的h264文件放入_vPktList,aac文件放入_aPktList

SDL通过回调的方式开启子线程播放音频

配置参数可精简和优化ffmpeg,在ffmpeg目录中,终端执行./configure --help列出全部参数

以上是关于iOS-FFmpeg实现简单播放器(编译fak-aac+x264+sdl)的主要内容,如果未能解决你的问题,请参考以下文章

Win7 VS2015简单编译FFMPEG播放器FFPlay

Android音乐播放器-使用FFmpeg及OpenSLES

Android音乐播放器-使用FFmpeg及OpenSLES

SkeyeWebPlayer.js H5播放器开发之webpack编译flv.js实现基础播放器功能

用 C 语言和 nkCEngine 写了一个基于命令的迷你脚本编译器与脚本播放器

Android 使用VideoView实现简单视频播放