直播播放视频流集成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文件:

文件夹截图
初次运行是会报错误的,运行不起来。

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

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

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


编译后

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

三、集成IJKPlayer

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

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

模拟器的framework

Build一个真机的framework了,我们选择Generic iOS DeviceBuild一下:
真机framework

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

需要合并的framework

在终端中输入命令lipo -create "引号内使用拖动进来的真机framework生成的路径" "引号内使用拖动进来的模拟器framework生成的路径" -output "引号内为指定的合并后的路径/文件名",合并后如下:
合并的framework

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

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

开始添加framework

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

所需的framework
编译一下,成功了,就OK了。

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

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

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

推荐阅读更多精彩内容