iOS視頻直播學習

整個流媒體播放系統(tǒng)主要分為視頻服務器端和iOS視頻播放器客戶端。
服務器端主要負責為播放器端提供直播蛙酪,點播等視頻流;
播放器端負責接收服務器發(fā)送的數據流翘盖,進行解碼和播放桂塞。

一、流媒體技術的含義
流媒體并不是一種新型的媒體馍驯,而是一種新的技術阁危。廣義上的流媒體指的是使音頻和視頻形成穩(wěn)定和連續(xù)的傳輸流和回放流的一系列技術、方法和協(xié)議的總稱汰瘫,即流媒體技術狂打;狹義上的流媒體是相對于傳統(tǒng)的下載-回放方式而言的,指的是一種從 Internet 上獲取音頻和視頻等多媒體數據的新方法混弥,它能夠支持多媒體數據流的實時傳輸和實時播放趴乡。通過運用流媒體技術,服務器能夠向客戶機發(fā)送穩(wěn)定和連續(xù)的多媒體數據流,客戶機在接收數據的同時以一個穩(wěn)定的速率回放晾捏,而不用等數據全部下載完之后再進行回放蒿涎。

二、HLS協(xié)議
HLS是HTTP Live Streaming的縮寫惦辛。它是蘋果公司實現的基于HTTP的流媒體傳輸協(xié)議劳秋,可以實現流媒體的直播和點播,也就是我們常說的Live和VOD胖齐。最先開始主要應用于iOS系統(tǒng)玻淑,為iOS設備提供視頻直播和點播方案,現在在大多數的移動設備也實現了這個功能呀伙。HLS的點播岁忘,是將常見的分段HTTP點播,不同的是区匠,他的分段非常小干像。實現的重點在于對媒體文件的分割,目前有很多開源工具驰弄。
相對于其他的流媒體直播協(xié)議麻汰,HLS最大的不同在于,客戶端獲取到的戚篙,并不是一個完整的數據流五鲫,而是一段一段的切片TS(MPEG-TS格式)。HLS協(xié)議在服務端將直播數據存儲為連續(xù)的岔擂,一定時長的媒體文件位喂,codec為MPEG-TS,客戶端再按照playlist去在下載并播放這些文件乱灵,從而達到直播或者點播功能塑崖。HLS由于采取HTTP協(xié)議傳輸文件,所以不用考慮防火墻或者代理的問題痛倚,因為一般的主機80端口應該是開放的规婆。還有一個優(yōu)點在于,客戶端可以很快的選擇和切換碼率蝉稳,以適應不同帶寬條件下的播放抒蚜。
HLS協(xié)議的實現過程:
首先對視頻數據進行錄入、編碼耘戚,然后服務器軟件的流分段程序將媒體視頻流分解成一系列簡短的.ts媒體文件嗡髓,這些.ts文件被放置在web服務器上。這個流分段程序同時還創(chuàng)建一個索引文件收津,該索引文件包含元數據以及一個.m3u8媒體文件的列表饿这,且索引文件的URL發(fā)布到服務器上浊伙,客戶端軟件即可讀取索引,請求媒體文件蛹稍,并將其在客戶端播放器中顯示出來。
根據以上的了解部服,想要實現HLS直播唆姐,需要研究并實現以下技術關鍵點:
采集視頻源和音頻源的數據
對原始數據進行H.264編碼和AAC編碼
視頻和音頻數據封裝為MPEG-TS包
HLS分段生成策略及m3u8索引文件
HTTP傳輸協(xié)議

三、RTSP協(xié)議
與負責傳送數據的 RTP/RTCP不同廓八,RTSP 主要負責在服務器和客戶端之間建立連接奉芦,并響應用戶的操作請求,如暫停剧蹂,快進声功、快退、音量加減等宠叼。與HLS相比先巴,RTSP傳輸的延遲更低。最常見的模式如下圖所示冒冬。

四伸蚯、播放器端解碼
FFmpeg簡介
FFmpeg 是一個跨平臺的開源視頻框架,能實現如視頻編碼简烤、解碼剂邮、轉碼、串流横侦、濾波挥萌、播放等豐富的功能。其支持的視頻格式以及播放協(xié)議非常豐富枉侧,幾乎包含了所有音視頻編解碼引瀑、封裝格式以及播放協(xié)議。而實時視頻直播一般使用的協(xié)議榨馁,如 RSTP伤疙,在 FFmpeg 中得到了很好的支持。 在手機直播軟件中辆影,可以調用FFmpeg編寫一個播放器徒像。

五、主要使用的協(xié)議:
HLS 協(xié)議 : >5M會被AppStore拒絕 服務器要求低 延遲高 多平臺
RTMP 協(xié)議: 電視直播 PC端使用 配合flash插件 及時性好
需要轉碼ffmpeg 延遲200ms
RTSP 協(xié)議: 攝像頭功能
軟解碼: ffmpeg
硬解碼:ios8之后 VideoToolBox 框架

直播過程大概為5步
數據采集-->數據編碼--->數據傳輸-->數據解碼-->顯示到屏幕

數據采集:采集視頻及音頻數據蛙讥。 原始數據锯蛀。
數據編碼:編碼成(flv)
數據傳輸:
(推流)把你本地得到編碼數據。上傳到流媒體服務器次慢。rtmp hls (rtmp協(xié)議)
(拉流) 把你的數據從流媒體服務器上拉下來旁涤。
數據解碼: 流翔曲。。音頻流()劈愚,視頻流瞳遍。。
播放顯示:openGLES:渲染菌羽。掠械。GPUImage

直播聊天室: 融云(5000+) 視頻+聊天室、
主播開播注祖、猾蒂、 (在開播同時,需要申請是晨。推流地址肚菠。+后臺創(chuàng)建融云聊天室)。罩缴。黑名單蚊逢。。(通知箫章。)时捌。。全直播(通知)
送禮物炉抒,:扣款

三方提供商: 七牛奢讨。 YY 和斗魚 騰訊。焰薄。now拿诸。。網易云信塞茅、

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末亩码,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子野瘦,更是在濱河造成了極大的恐慌描沟,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鞭光,死亡現場離奇詭異吏廉,居然都是意外死亡,警方通過查閱死者的電腦和手機惰许,發(fā)現死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門席覆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人汹买,你說我怎么就攤上這事佩伤×木螅” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵生巡,是天一觀的道長耙蔑。 經常有香客問我,道長孤荣,這世上最難降的妖魔是什么甸陌? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮垃环,結果婚禮上邀层,老公的妹妹穿的比我還像新娘返敬。我一直安慰自己遂庄,他們只是感情好,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布劲赠。 她就那樣靜靜地躺著涛目,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凛澎。 梳的紋絲不亂的頭發(fā)上霹肝,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機與錄音塑煎,去河邊找鬼沫换。 笑死,一個胖子當著我的面吹牛最铁,可吹牛的內容都是我干的讯赏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼冷尉,長吁一口氣:“原來是場噩夢啊……” “哼漱挎!你這毒婦竟也來了?” 一聲冷哼從身側響起雀哨,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤磕谅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后雾棺,有當地人在樹林里發(fā)現了一具尸體唯鸭,經...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年笑陈,在試婚紗的時候發(fā)現自己被綠了馋艺。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡嘉栓,死狀恐怖宏榕,靈堂內的尸體忽然破棺而出拓诸,到底是詐尸還是另有隱情,我是刑警寧澤麻昼,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布奠支,位于F島的核電站,受9級特大地震影響抚芦,放射性物質發(fā)生泄漏倍谜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一叉抡、第九天 我趴在偏房一處隱蔽的房頂上張望尔崔。 院中可真熱鬧,春花似錦褥民、人聲如沸季春。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽载弄。三九已至,卻和暖如春撵颊,著一層夾襖步出監(jiān)牢的瞬間宇攻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工倡勇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留逞刷,地道東北人。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓妻熊,卻偏偏與公主長得像夸浅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子固耘,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內容