iOS用ijkplayer播RTSP流

     公司要做点播平台,故而研究了几个播放器:百度,Vitamio,ijkplayer。综合这三个播放器的特点,既能播rtsp流,又能实例化多个的,ijkplayer还是比较好使的,所以就选了这个。由于在实现过程中经历了很多曲折,所以和大家分享一下这个过程。在github上下载ijkplayer的demo, https://github.com/Bilibili/ijkplayer.git ijkplayer-ios。github网址:https://github.com/Bilibili/ijkplayer?utm_source=tuicool&utm_medium=referral。ijkplayer需要homebrew、git、yasm环境

        附加我做的demo地址https://github.com/xy13663015647/yxy-player,里面有我编译好的静态库,由于静态库过大,我压缩了一下,用的时候记得解压,好用的话请给个star

1.在运行之前,需要部署环境

2.修改module-lite.sh文件


 打开demo文件夹,找到config文件夹下的module-lite.sh文件,修改这一行

COMMON_FF_CFG_FLAGS =" $ COMMON_FF_CFG_FLAGS --disable - rtp protocol =“

  修改为--> 

COMMON_FF_CFG_FLAGS =" $ COMMON_FF_CFG_FLAGS --enable - rtp protocol =",

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=rtsp"

3.执行命令行

4.修改ff_ffplay.c文件


将这段代码

static int packet_queue_get_or_buffering(FFPlayerffp, PacketQueue *q, AVPacket *pkt, int *serial, int *finished){

assert(finished);

while (1) {

修改成

static int packet_queue_get_or_buffering(FFPlayer *ffp, PacketQueue *q, AVPacket *pkt, int *serial, int finished){

while (1) {

5.编译ffmpeg,

cd ijkplayer-ios

git checkout -B latest k0.5.1

./init-ios.sh

cd ios

./compile-ffmpeg.sh clean

./compile-ffmpeg.sh all

执行./compile-ffmpeg.sh all编译过程可能会报错:

报错的原因是因为脚本找不到xcode了,执行sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer,之后在执行./compile-ffmpeg.sh all

编译时间比较久,请大家耐心等待,成功后就可以运行Demo了,编译成功后ios文件夹下面的目录是这样的


    然后就是打包IJKMediaFramework.framework框架了,这个过程我是借鉴别人的,在这里我就不盗用了,具体大家请看//www.greatytc.com/p/1f06b27b3ac0这里的打包的流程,然后将框架导入你的工程,再添加相应的框架,就可以播放rtsp流了

   另外需要大家注意一下,如果项目使用cocapod的话,我这边出现的问题如下图

在工程里添加libz.tdb,从而运行成功,如此你就可以看到rtsp的流顺利播放了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天记录一下 ijk ,ijk 默认不支持播放 RTSP 的,下面就说一下如何配置 ijk 让其支持播放 RTSP...
    今天_现在阅读 4,579评论 2 7
  • 考虑到大家可能需要播放rtsp流的播放器,恰好你又想用ijkplayer这个播放器,正好我这又有ijkplayer...
    爱上程序元阅读 547评论 0 6
  • 教程一:视频截图(Tutorial 01: Making Screencaps) 首先我们需要了解视频文件的一些基...
    90后的思维阅读 4,854评论 0 3
  • 在上一篇笔记中我们已经完成了使用SDL播放声音和视频,声音播放没有什么问题,而视频播放太快,很明显视频没有同步。在...
    762683ff5d3d阅读 1,377评论 0 1
  • 我被父母拉去爬山。那山有一个悠长绵远、时缓时急的坡。父母走在前面,我走在后面。到小树林时,我就走不动了,身体里的空...
    even_b3fb阅读 185评论 2 0