欢迎来到天天文库
浏览记录
ID:8970417
大小:10.92 MB
页数:18页
时间:2018-04-13
《ios培训-ios直播app之播放篇》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、iOS培训-iOS直播APP之播放篇作者:小码哥教育本篇主要讲解的是直播app中,需要用到的一个很重要的开源框架ijkplayer,然后集成这个框架可能对大多数初学者还是比较有难度的,所以本篇主要教你解决集成【ijkplayer】遇见的各种坑。效果一、基本知识README.md文件:框架的描述文件,描述这个框架怎么使用编译语言:程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要翻译,所以编译型语言的程序执行效率高,比如OC,C,C++解释性语言:解释性语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言
2、每执行一次就需要逐行翻译一次,效率比较低解释性语言执行和编译语言执行的区别:解释性语言一行一行的解析,如果有错误,就不会执行,直接执行下一行。编译语言,只要有错,就不能编译,一行都不能执行。脚本语言:属于解析语言,必须通过解释器解析,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。python:脚本语言,适合网络应用程序的开发,有利于开发效率,现在显得越来越强大PHP:服务器端脚本语言,适合做动态网站JS:作为客户端的脚本语言,在浏览中解释执行,shell:操作系统脚本语言,一般指Unix/Linux中使用的命令行编译语言,执行文件是二进制。脚本语言是解释执行的,执行
3、文件是文本shell解释器:shell是一个命令行解释器,相当于windows的cmd,处于内核和用户之间,负责把用户的指令传递给内核并且把执行结果回显给用户.默认Unix都有shell,OS基于Unix,因此OS自带shell。bash:bash是一种shell解释器版本,shell有很多种版本,就像人,也分不同国家的人。牛程序员看到不爽的Shell解释器,就会自己重新写一套,慢慢形成了一些标准,常用的Shell解释器有这么几种,sh、bash、csh等shell:通常我们说的shell,指的是shell脚本语言,而不是shell解释器。在编写shell时,第一行一定要指
4、明系统需要哪种shell解释器解释你的shell脚本,如:#!/bin/bash,使用bash解析脚本语言什么时候使用shell命令,比如有些系统命令经常需要用到,可以把命令封装到一个脚本文件,以后就不用再敲一遍了,直接执行脚本语言。比如ijkplayer,就用脚本文件下载ffmpeg,因为下载ffmpeg需要执行很多命令,全部封装到脚本文件中。在导入一些第三方框架的时候,经常需要用到一些命令,所以一般都会封装到一个脚本文件中,以后只要执行脚本,就会自动执行集成第三方框架的命令。sh:sheel脚本文件后缀名二、下载ijkPlayer去到B站得github主页,找到ijkp
5、layer项目,下载源码 ijkplayer下载地址打开Demo,查看用法,一般学习第三方库,都是先查看Demo三、编译ijkPlayer的步骤1、找到Demo并运行,就提示’libavformat/avformat.h’filenotfound原因:这个是ffmpeg中的库,ijkplayer是基于ffmpeg这个库的,因此需要导入ffmpeg解决:查看ijkplayer的README.md,一般都会有说明。init-ios.sh脚本的作用:下载ffmpeg源码想了解脚本具体怎么做的,可以查看之前写的文章带你走进脚本世界,ijkplayer之【init-ios.sh】脚本
6、分析,全面剖析了init-ios.sh这个脚本做了哪些事情。如何执行init-ios.sh脚本文件步骤一:找到init-ios.sh脚本文件步骤二:打开终端,进入到init-ios.sh脚本文件的目录步骤三:输入./init-ios.sh,就会执行当前脚本了。·执行完脚本后,就会发现ijkplayer中有ffmpeg了2、下载好ffmpeg源码后,再次运行Demo发现还是报'libavformat/avformat.h'filenotfound错误原因:执行init-ios.sh,仅仅是下载源码,但是源码并没有参与编译,需要把源码编译成.a文件Demo依赖于IJKMedia
7、Player库打开IJKMediaPlayer库,查看下源码解决:查看ijkplayer的README.md编译ffmpeg库步骤一:进入到脚本文件的目录下步骤二:执行./compile-ffmpeg.shclean步骤二功能:删除一些文件和文件夹,为编译ffmpeg.sh做准备,在编译ffmpeg.sh的时候,会自动创建刚刚删除的那些文件,为避免文件名冲突,因此在编译ffmpeg.sh之前先删除等会会自动创建的文件夹或者文件步骤三:执行./compile-ffmpeg.shall,真正的编译各个平台的ffmpeg
此文档下载收益归作者所有