資源描述:
《ios培訓-ios直播app之播放篇》由會員上傳分享,免費在線閱讀,更多相關內容在應用文檔-天天文庫。
1、iOS培訓-iOS直播APP之播放篇作者:小碼哥教育本篇主要講解的是直播app中,需要用到的一個很重要的開源框架ijkplayer,然后集成這個框架可能對大多數初學者還是比較有難度的,所以本篇主要教你解決集成【ijkplayer】遇見的各種坑。效果一、基本知識README.md文件:框架的描述文件,描述這個框架怎么使用編譯語言:程序在被執(zhí)行之前,需要一個專門的編譯過程,把程序編譯成為機器語言的文件,運行時不需要翻譯,所以編譯型語言的程序執(zhí)行效率高,比如OC,C,C++解釋性語言:解釋性語言的程序不需要編譯,在運行程序的時候才翻譯,每個語句都是執(zhí)行的時候才翻譯。這樣解釋性語言
2、每執(zhí)行一次就需要逐行翻譯一次,效率比較低解釋性語言執(zhí)行和編譯語言執(zhí)行的區(qū)別:解釋性語言一行一行的解析,如果有錯誤,就不會執(zhí)行,直接執(zhí)行下一行。編譯語言,只要有錯,就不能編譯,一行都不能執(zhí)行。腳本語言:屬于解析語言,必須通過解釋器解析,將其一條條的翻譯成機器可識別的指令,并按程序順序執(zhí)行。python:腳本語言,適合網絡應用程序的開發(fā),有利于開發(fā)效率,現(xiàn)在顯得越來越強大PHP:服務器端腳本語言,適合做動態(tài)網站JS:作為客戶端的腳本語言,在瀏覽中解釋執(zhí)行,shell:操作系統(tǒng)腳本語言,一般指Unix/Linux中使用的命令行編譯語言,執(zhí)行文件是二進制。腳本語言是解釋執(zhí)行的,執(zhí)行
3、文件是文本shell解釋器:shell是一個命令行解釋器,相當于windows的cmd,處于內核和用戶之間,負責把用戶的指令傳遞給內核并且把執(zhí)行結果回顯給用戶.默認Unix都有shell,OS基于Unix,因此OS自帶shell。bash:bash是一種shell解釋器版本,shell有很多種版本,就像人,也分不同國家的人。牛程序員看到不爽的Shell解釋器,就會自己重新寫一套,慢慢形成了一些標準,常用的Shell解釋器有這么幾種,sh、bash、csh等shell:通常我們說的shell,指的是shell腳本語言,而不是shell解釋器。在編寫shell時,第一行一定要指
4、明系統(tǒng)需要哪種shell解釋器解釋你的shell腳本,如:#!/bin/bash,使用bash解析腳本語言什么時候使用shell命令,比如有些系統(tǒng)命令經常需要用到,可以把命令封裝到一個腳本文件,以后就不用再敲一遍了,直接執(zhí)行腳本語言。比如ijkplayer,就用腳本文件下載ffmpeg,因為下載ffmpeg需要執(zhí)行很多命令,全部封裝到腳本文件中。在導入一些第三方框架的時候,經常需要用到一些命令,所以一般都會封裝到一個腳本文件中,以后只要執(zhí)行腳本,就會自動執(zhí)行集成第三方框架的命令。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這個腳本做了哪些事情。如何執(zhí)行init-ios.sh腳本文件步驟一:找到init-ios.sh腳本文件步驟二:打開終端,進入到init-ios.sh腳本文件的目錄步驟三:輸入./init-ios.sh,就會執(zhí)行當前腳本了。·執(zhí)行完腳本后,就會發(fā)現(xiàn)ijkplayer中有ffmpeg了2、下載好ffmpeg源碼后,再次運行Demo發(fā)現(xiàn)還是報'libavformat/avformat.h'filenotfound錯誤原因:執(zhí)行init-ios.sh,僅僅是下載源碼,但是源碼并沒有參與編譯,需要把源碼編譯成.a文件Demo依賴于IJKMedia
7、Player庫打開IJKMediaPlayer庫,查看下源碼解決:查看ijkplayer的README.md編譯ffmpeg庫步驟一:進入到腳本文件的目錄下步驟二:執(zhí)行./compile-ffmpeg.shclean步驟二功能:刪除一些文件和文件夾,為編譯ffmpeg.sh做準備,在編譯ffmpeg.sh的時候,會自動創(chuàng)建剛剛刪除的那些文件,為避免文件名沖突,因此在編譯ffmpeg.sh之前先刪除等會會自動創(chuàng)建的文件夾或者文件步驟三:執(zhí)行./compile-ffmpeg.shall,真正的編譯各個平臺的ffmpeg