【如何快速的开发一个完整的iOS直播app】(播放篇
在看这篇之前,如果您还不了解直播原理,请查看上篇文章原理篇如何快速地开发一个完整的iOS直播App
开发一款直播app,集成ijkplayer成功后,就算完成直播功能一半的工程了,只要有拉流url,就能播放直播啦!
很多文章,可能的是如何做,我比较注重为什么这样做,大家有什么不明白,还可以多多提出来。
程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要翻译,所以编译型语言的程序执行效率高,比如OC,C,C++
解释性语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低
属于解析语言,必须通过解释器解析,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。
python:脚本语言,适合网络应用程序的开发,有利于开发效率,现在显得越来越强大。
shell:操作系统脚本语言,一般指Unix/Linux中使用的命令行。
shell是一个命令行解释器,相当于windows的cmd,处于内核和用户之间,负责把用户的指令传递给内核并且把执行结果回显给用户。
bash是一种shell解释器版本,shell有很多种版本,就像人,也分不同国家的人。
牛程序员看到不爽的Shell解释器,就会自己重新写一套,慢慢形成了一些标准,常用的Shell解释器有这么几种,sh、bash、csh等
通常我们说的shell,指的是shell脚本语言,而不是shell解释器。
在编写shell时,第一行一定要指明系统需要哪种shell解释器解释你的shell脚本,如:#! /bin/bash,使用bash解析脚本语言。
什么时候使用shell命令,比如有些系统命令经常需要用到,可以把命令封装到一个脚本文件,以后就不用再敲一遍了,直接执行脚本语言。
比如ijkplayer,就用脚本文件下载ffmpeg,因为下载ffmpeg需要执行很多命令,全部封装到脚本文件中。
在导入一些第三方框架的时候,经常需要用到一些命令,所以一般都会封装到一个脚本文件中,以后只要执行脚本,就会自动执行集成第三方框架的命令。
想了解脚本具体怎么做的,可以查看之前写的文章带你走进脚本世界,ijkplayer之【init-ios.sh】脚本分析,全面剖析了init-ios.sh这个脚本做了哪些事情。
原因:执行init-ios.sh,仅仅是下载源码,但是源码并没有参与编译,需要把源码编译成.a文件
步骤二功能:删除一些文件和文件夹,为编译ffmpeg.sh做准备,在编译ffmpeg.sh的时候,会自动创建刚刚删除的那些文件,为避免文件名冲突,因此在编译ffmpeg.sh之前先删除等会会自动创建的文件夹或者文件
注意:ijkplayer的README中的方法比较麻烦,不方便携带,不推荐。
如何打包,请参考,iOS中集成ijkplayer视频直播框架,写的非常不错,就不一一详细介绍了,但是只有发布版本的库。
我自己打包了ijkplayer两个版本库,分别用于调试和发布(DEBUG和Release),点击下载
调试的话,拖入调试版本的ijkplayer库,发布的话,拖入发布版本的ijkplayer库。
后续还会更新更多有关直播的资料,希望做到每一个朋友从零开始做一款直播app,并且Demo也会慢慢完善。Demo点击下载。
把jkplayer直接拖入到与Classes同一级目录下,直接运行程序,就能成功了
注意:不需要打开工程,把jkplayer拖入到工程中,而是直接把jkplayer库拷贝到与Classes同一级目录下就可以了。