直播播放视频流集成IJKPlayer

很多直播项目播放视频流使用的都是bilibiliIJKPlayer三方,其是基于FFPlayer的封装,本文会简单的讲解如何集成IJKPlayer,仅做学习交流,非实际项目。有兴趣的可以在回复中进行交流,谢谢。
关于集成编码推流的三方请看这里。

一、下载IJKPlayer

附上GitHub下载地址。

这里我针对的是iOS平台,滚动到Build iOS,根据提示操作:
1、 执行命令:git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios,克隆下项目。

二、运行IJKPlayerDemo

1、 进入下载的ijkplayer-ios文件夹,可以看到有对应的Demo文件:

直播播放视频流集成IJKPlayer_第1张图片
文件夹截图
初次运行是会报错误的,运行不起来。

2、 继续根据GitHubIJKPlayer首页的提示,执行./init-ios.sh,下载FFMPEG,这是一个比较耗时的操作,我们需要耐心等待。

3、执行完./init-ios.sh,继续下一步,编译FFMEPGcd目录到ios目录下,执行命令:./compile-ffmpeg.sh clean./compile-ffmpeg.sh all,这也是非常耗时的一个操作,继续耐心等待。

4、编译完后,可以看到文件多了许多。


直播播放视频流集成IJKPlayer_第2张图片
编译后

5、此时在运行一次Demo,你会发现,这次就可以正常运行了。(但是bilibili给的Demo的直播流貌似都不能播了,我们可以网上自己找直播流测试,这种很多,这里推荐VLC播放器,可以直接播放直播的地址,便于我们的测试)。

三、集成IJKPlayer

1、有两种方式:一是把IJKPlayer工程拖到我们的工程中集成;二是把IJKPlayer打包成frameWork。这里我们介绍第二种,只要把frameWork集成进来就好了,比第一种方法方便多了。

2、这次我们不运行Demo了,直接打开IJKMediaPlayerIJKMediaPlayer是一个framework,选择Edit Scheme,修改成Release模式。我们需要运行生成一个供模拟器使用的版本和真机使用的版本。我们随便选择一个模拟器,Build一下,就生成了一个模拟器使用的版本的framework:

直播播放视频流集成IJKPlayer_第3张图片
模拟器的framework

Build一个真机的framework了,我们选择 Generic iOS DeviceBuild一下:
直播播放视频流集成IJKPlayer_第4张图片
真机framework

3、此时我们拿到了真机和模拟器版本的framework,接下来我们就要合并模拟器和真机的framework,让我们后期用起来方便点。下图是我们真正需要合并的framework,在Bundle里面。

直播播放视频流集成IJKPlayer_第5张图片
需要合并的framework

在终端中输入命令 lipo -create "引号内使用拖动进来的真机framework生成的路径" "引号内使用拖动进来的模拟器framework生成的路径" -output "引号内为指定的合并后的路径/文件名",合并后如下:
直播播放视频流集成IJKPlayer_第6张图片
合并的framework

之后我们随便选择一个 Bundle,把合并后的framework替换进去,可以单独取个路径保存这个 Bundle,因为这就是我们后期开发需要的framework。

4、到项目中导入依赖包,选择tager->General->Linked Frameworks and Libraries,点击加号,开始添加framework。

直播播放视频流集成IJKPlayer_第7张图片
开始添加framework

5、添加所需的framework,需要依据IJKPlayerGitHub首页上的提示进行操作:

直播播放视频流集成IJKPlayer_第8张图片
所需的framework
编译一下,成功了,就OK了。

6、至此,IJKPlayer已经集成完毕,接下来我们只要参照IJKPlayer给出的Demo去对应设计自己的IJKFFMoviePlayerController类即可。

以上就是直播项目集成IJKPlayer的基本步骤,我也只是学习,没有实际的直播项目经验,如果有什么不对的,或者可以改进的,望各位大神指教。

你可能感兴趣的:(直播播放视频流集成IJKPlayer)