RTMP,RTSP,HLS比較與分析
考慮做一個手機直播系統,首先需要指定一個合理的技術方案。由於自己以前不是搞多媒體這塊,對流媒體開發不熟悉,自己的理解思維總習慣用java web開發的慣性走,先指定一個大體的框架。不管對還是錯,先考慮其技術可行性。
框架的指定,首先取決於自己採用的流媒體協議,我們熟知的流媒體協議有RTMP,RTSP,HLS。網上有很多這方面的介紹,我懶得複製了,在這裡只談談自己的看法。
先談一下HLS,這個協議接觸得最早,自己的個人理解,如果要開發一套準實時的手機音視訊直播系統,需要支援iphone,android,windows phone等多款手機,這個協議真心不錯。為什麼是準實時呢,因為客戶端播放的是最新切割的ts檔案,它的延遲取決於切片的大小。
1、採集視訊源和音訊源的資料
2、對原始資料進行H264編碼和AAC編碼
3、視訊和音訊資料封裝為MPEG-TS包
4、HLS分段生成策略及m3u8索引檔案
5、HTTP傳輸協議
這裡面的很多步驟需要用到ffmpeg編解碼庫,比如編碼, 切片等。方便之處是可以使用普通的http伺服器就ok了,推薦使用nginx,這是一款功能無比強大的web伺服器,其反向代理,效能好的不可言喻。
由於我大學非計算機專業出身,或者說與計算機專業一點都不靠邊,我的計算機語言功底弱爆了。資料結構演算法真心是我的軟肋,C++語言就會簡單的用MFC編寫hello world ,HLS當初就這樣被我放棄了。
RTSP協議,這應該是實時性最好的了,如果要想實時性要求很高,比如0.5s以內,這個是不錯的選擇。前陣子模仿spydroid寫了個建議的rtsp伺服器,其實就是options,describe,setup,play,pause,teardown這幾步了,這個協議用的最廣泛,網上介紹也比較多。要想真正深入瞭解rtsp協議,c++語言功底好的可以檢視live555 。
RTMP協議,自己最近研究的,如果有興趣,可以看看我的其他文章。
相關推薦
RTMP,RTSP,HLS比較與分析
考慮做一個手機直播系統,首先需要指定一個合理的技術方案。由於自己以前不是搞多媒體這塊,對流媒體開發不熟悉,自己的理解思維總習慣用java web開發的慣性走,先指定一個大體的框架。不管對還是錯,先考慮其技術可行性。 框架的指定,首先取決於
關於CSDN, cnblog, iteye和51cto四個博客網站的比較與分析
googl 相對 互聯 pager lex blank enter 但是 傳播 http://blog.csdn.net/pkucl1/article/details/6629819 CSDN: http://blog.csdn.net/ cnblog: http
開發日常小結(31):陣列array與列表ArrayList的遍歷效能比較與分析
2018年10月03日 目錄 測試結論 測試例子 效能分析 測試結論 Java兩個常用的資料結構進行效能的比較,發現ArrayList和array還是相差較大的,陣列的遍歷時間遠遠小於ArrayList。 測試例子 impo
影象處理中,SIFT,FAST,MSER,STAR等特徵提取演算法的比較與分析(利用openCV實現)
本人為研究生,最近的研究方向是物體識別。所以就將常用的幾種特徵提取方式做了一個簡要的實驗和分析。這些實驗都是藉助於openCV在vs2010下完成的。基本上都是使用的openCV中內建的一些功能函式。 1. SIFT演算法 尺度不變特徵轉換(Scale-inva
JDBC、JDBCTemplate、MyBatis、Hiberante 比較與分析
JDBC (Java Data Base Connection,java資料庫連線) JDBC(Java Data Base Connection,java資料庫連線)是一種用於執行SQL語句的Java API,可以為多種關係資料庫提供統一訪問,它由一組用Java
前段播放 流媒體(RTMP,RTSP,HLS)
前言 最近專案需要流媒體的播放,後端一共提供了 三種流資料(RTSP,RTMP,HLS),在不同的場景可能會使用到不同方式播放,就需要做到適配, 支援所有的流資料播放。花了一段時間研究,在這裡和大家分享一下,還有些遺留問題,看大家有沒有好的方法。 RTSP 簡介 這種協議流資料前段播放,沒有特別好的解決方法,
rtmp/rtsp/hls公網測試地址
相信大家在除錯播放器的時候,都有這樣的困惑,很難找到合適的公有測試源,以下是大牛直播SDK整理的真正可用的直播地址源。 hls的地址,用vlc驗證通過。 1. RTMP協議直播源 香港衛視:rtmp://live.hkstv.hk.lxdns.com/live/hk
rtmp流轉Hls流 與 flv轉mpegts
rtmp協議是adobe出的一種流媒體格式協議。是目前較為流行的協議的一種。HLS協議是蘋果推出的一種流媒體協議,由於IOS系統不支援RTMP協議,如實現RTMP協議的流媒體需要自己實現RTMP的客戶端,這使得移動手機端使用RTMP的流媒體增加了一些開發成本。HLS協議的詳情
【乾貨】Spring MVC與JAX-RS比較與分析
過去幾年,REST逐漸成為影響Web框架、Web協議與Web應用設計的重要概念。如果你還不瞭解REST,那這個簡短的介紹 將有助你快速掌握REST,此外還可以點選這裡 瞭解關於REST的更多資訊。 相關廠商 內容 現在有越來越多的公司希望能以簡單而又貼合Web架構本身的方式
前端播放流媒體(RTMP,RTSP,HLS)
前言 最近專案需要流媒體的播放,後端一共提供了 三種流資料(RTSP,RTMP,HLS),在不同的場景可能會使用到不同方式播放,就需要做到適配, 支援所有的流資料播放。花了一段時間研究,在這裡和大家分享一下,還有些遺留問題,看大家有沒有好的方法。 RTSP 簡介 這種協議流資料前段播放,沒有特別好
對當前主流hybrid app、web app與native app工具的初步比較與分析
本文獻給web開發需要轉型app開發的朋友,原生開發的朋友可自行忽略。 隨著移動網際網路元年—2011年,已過去4年了。一大批網際網路的站長正面臨的流量減少的困境,不少技術能力稍強的站長轉型iOS、Android開發者。跟得上市場的站長繼續成長,跟不上的小部分站長正在面臨
RTMP協議與RTSP協議比較
考慮做一個手機直播系統,首先需要指定一個合理的技術方案。由於自己以前不是搞多媒體這塊,對流媒體開發不熟悉,自己的理解思維總習慣用java web開發的慣性走,先指定一個大體的框架。不管對還是錯,先考慮其技術可行性。 框架的指定,首先取決於自己採用的流媒體協議,我們熟知的流媒體協議有RTMP,RTSP,HLS
Nginx-rtmp直播之業務流程分析--比較詳細
1. 綜述 1.1 直播原理 使用 obs 向 nginx 推送一個直播流,該直播流經 nginx-rtmp 的 ngx_rtmp_live_module 模組轉發給 application live 應用, 然後使用 vlc 連線 live,播放該直播流。 1.2 nginx.conf
大資料處理過程,業務性資料庫與分析性資料庫比較
一丶 一般情況下,資料探勘經過如下階段1,資料記錄到資料來源中,如(文字檔案,傳統的業務資料系統,和其他各種資料來源)2.這些資料經過ETL(extract,transform,load)過程儲存到資料倉庫中,如hive(這些資料倉庫並不儲存資料,只是在檔案系統上的儲存倉庫引
各種RTMP直播流播放許可權_音視訊_資料花屏_問題檢測與分析工具EasyRTMPClient
之前的一篇部落格《網路攝像機IPCamera RTSP直播播放網路/許可權/音視訊資料/花屏問題檢測與分析助手EasyRTSPClient》,我們介紹了RTSP流的檢測和分析工具EasyRTSPClient,可以說已經是深入了我的平時運維工作中了,當我們發現有任
RTSP協議分析與標準RTSP服務端與客戶端互動流程
1.1. RTSP協議簡介 一種應用層協議,可基於tcp或udp協議。 RTSP(Real Time StreamingProtocol,實時流媒體協議)是由Real Network和Netscape共同提出的一種應用層協議,它定義瞭如何在IP網路上有效地傳輸流媒
歸併排序和快速排序比較【演算法設計與分析實驗報告】
下面的原始碼是修改的了時間差精確到了納秒級別的了,但是還是感覺很有誤差。無論怎麼測,總是快排比歸併快,即使是測試資料的陣列長度在10以內。 前面一樣的程式寫的是時間精確到微秒級的,陣列長度大概在一萬以內的,就是歸併排序快了,大於這個長度的快速排
流媒體協議介紹(rtp/rtcp/rtsp/rtmp/mms/hls)
RTP 參考文件 RFC3550/RFC3551 Real-time Transport Protocol)是用於Internet上針對多媒體資料流的一種傳輸層協議。RTP協議詳細說明了在網際網路上傳遞音訊和視訊的標準資料包格式。RTP
EasyPlayer開源流媒體移動端播放器推出RTSP-RTMP-HTTP-HLS全功能Pro版
EasyPlayerPro介紹 Android EasyPlayerPro專業版全功能播放器,是由EasyDarwin開源團隊維護的一款支援RTSP、RTMP、HTTP、HLS多種流媒體協議的播放器版本。Android上同時保留原來RTSP專用播放器,功能精煉
Objective-C Block與函式指標比較、分析
本來不應該將OC block與函式指標進行比較的,這兩者除了宣告形式上類似,都可用來實現回撥(CallBack)之外,其不同的地方會更多。 今天從一個小例子開始對Objective-C裡面函式指標和Block進行剖析。 函式指標是C語言裡面就有的,而Objec