導航:首頁 > 版本升級 > openrtsp頭文件

openrtsp頭文件

發布時間:2023-03-04 11:32:14

『壹』 android用VideoView播rtsp直播流,真機跑OK,模擬器報以下異常,求解

網路不通,沒加訪問網路的用戶許可權吧?
AndroidManifest.xml加一句:
<uses-permission android:name="android.permission.INTERNET"/>

『貳』 到底怎麼才能播放H264流錄成的MP4文件

我用live555通過RTSP接收H264流,用其中的QuickTimeFileSink寫成MP4文件,用VLC可以播放,但用其它軟體無法播放!

其實就是openRTSP例子,真是太郁悶了,詳細如下:

使用AVIFileSink錄H264流成AVI一切正常,
使用QuickTimeFileSink錄H264流成MP4就只能用VLC播放,其它的都無法播放.
為什麼同樣的數據流,,錄成MP4就放不了?

我又試了,使用QuickTimeFileSink錄MP4V-ES流成MP4文件,一切都正常.說明這個類的問題不大,

接收到H264流是FU-A分片的,每幀數據如下:
000000016764........數據.......00000001.....數據.........

每幀數據有兩個左右NAL,解碼時提示:
"AVC: Consumed only 1 bytes instead of 143955"
"AVC: Unknown NAL code: 0 (0 bits)

於是,我在錄制時每個幀去掉開頭的開始碼00000001,結果播放時花屏非常嚴重,有時還是播放不了,解碼提示為:
"AVC:Consumed only 120bytes instead of 145664"
"AVC:Consumed only 35760 bytes instead of 38959"

還是這個NAL開始碼引起的, 解碼時遇到00000001認為是結束了,因為每幀中間還有NAL,為什麼會這樣?錄AVI時每幀也是這數據啊,為什麼就可以正常解碼?錄的祼碼流也是這樣的一幀,也可以解碼,放在這個MP4容器裡面就不行?難道解碼時送給解碼器的每個幀時只能含有一個NAL?

期待大牛指點。

『叄』 rtsp://是什麼啊

實時流協議RTSP(RealTimeStreamingProtocol)是由RealNetworks和Netscape共同提出的,該協議定義了一對多應用程序如何有效地通過IP網路傳送多媒體數據。RTSP在體系結構上位於RTP和RTCP之上,它使用TCP或RTP完成數據傳輸。HTTP與RTSP相比,HTTP傳送HTML,而RTP傳送的是多媒體數據。HTTP請求由客戶機發出,伺服器作出響應;使用RTSP時,客戶機和伺服器都可以發出請求,即RTSP可以是雙向的。

6.3 RTSP協議
實時流協議(RTSP)是應用級協議,控制實時數據的發送。RTSP提供了一個可擴展框架,使實時數據,如音頻與視頻,的受控、點播成為可能。數據源包括現場數據與存儲在剪輯中數據。該協議目的在於控制多個數據發送連接,為選擇發送通道,如UDP、組播UDP與TCP,提供途徑,並為選擇基於RTP上發送機制提供方法。
6.3.1 簡介
6.3.1.1 目的
實時流協議(RTSP)建立並控制一個或幾個時間同步的連續流媒體。盡管連續媒體流與控制流交叉是可能的,通常它本身並不發送連續流。換言之,RTSP充當多媒體伺服器的網路遠程式控制制。RTSP連接沒有綁定到傳輸層連接,如TCP。在RTSP連接期間,RTSP用戶可打開或關閉多個對伺服器的可靠傳輸連接以發出RTSP 請求。此外,可使用無連接傳輸協議,如UDP。RTSP流控制的流可能用到RTP,但RTSP操作並不依賴用於攜帶連續媒體的傳輸機制。實時流協議在語法和操作上與HTTP/1.1類似,因此HTTP的擴展機制大都可加入RTSP。協議支持的操作如下:
從媒體伺服器上檢索媒體:
用戶可通過HTTP或其它方法提交一個演示描述。如演示是組播,演示式就包含用於連續媒體的的組播地址和埠。如演示僅通過單播發送給用戶,用戶為了安全應提供目的地址。
媒體伺服器邀請進入會議:
媒體伺服器可被邀請參加正進行的會議,或回放媒體,或記錄其中一部分,或全部。這種模式在分布式教育應用上很有用,會議中幾方可輪流按遠程式控制制按鈕。
將媒體加到現成講座中:
如伺服器告訴用戶可獲得附加媒體內容,對現場講座顯得尤其有用。如HTTP/1.1中類似,RTSP請求可由代理、通道與緩存處理。

6.3.1.2 協議特點
RTSP 特性如下:
可擴展性:
新方法和參數很容易加入RTSP。
易解析:
RTSP可由標准 HTTP或MIME解吸器解析。
安全:
RTSP使用網頁安全機制。
獨立於傳輸:
RTSP可使用不可靠數據報協議(UDP)、可靠數據報協議(RDP),如要實現應用級可靠,可使用可靠流協議。
多伺服器支持:
每個流可放在不同伺服器上,用戶端自動同不同伺服器建立幾個並發控制連接,媒體同步在傳輸層執行。
記錄設備控制:
協議可控制記錄和回放設備。
流控與會議開始分離:
僅要求會議初始化協議提供,或可用來創建唯一會議標識號。特殊情況下, SIP或H.323
可用來邀請伺服器入會。
適合專業應用:
通過SMPTE 時標,RTSP支持幀級精度,允許遠程數字編輯
演示描述中立:
協議沒強加特殊演示或元文件,可傳送所用格式類型;然而,演示描述至少必須包含一個RTSP URI。
代理與防火牆友好:
協議可由應用和傳輸層防火牆處理。防火牆需要理解SETUP方法,為UDP媒體流打開一個"缺口"。
HTTP友好:
此處,RTSP明智的採用HTTP觀念,使現在結構都可重用。結構包括Internet 內容選擇平台(PICS)。由於在大多數情況下控制連續媒體需要伺服器狀態, RTSP不僅僅向HTTP 添加方法。
適當的伺服器控制:
如用戶啟動一個流,他必須也可以停止一個流。
傳輸協調;
實際處理連續媒體流前,用戶 可協調傳輸方法。
性能協調:
如基本特徵無效,必須有一些清理機制讓用戶決定那種方法沒生效。這允許用戶提出適合的用戶界面。
6.3.1.3擴展RTSP
由於不是所有媒體伺服器有著相同的功能,媒體伺服器有必要支持不同請求集。RTSP 可以如下三種方式擴展,這里以改變大小排序:
以新參數擴展。如用戶需要拒絕通知,而方法擴展不支持,相應標記就加入要求的段中。
加入新方法。如信息接收者不理解請求,返回501錯誤代碼(還未實現),發送者不應再次嘗試這種方法。用戶可使用OPTIONS方法查詢伺服器支持的方法。伺服器使用公共響應頭列出支持的方法。
定義新版本協議,允許改變所有部分。(除了協議版本號位置)
6.3.1.4操作模式
每個演示和媒體流可用RTSP URL識別。演示組成的整個演示與媒體屬性由演示描述文件定義。使用HTTP或其它途徑用戶可獲得這個文件,它沒有必要保存在媒體伺服器上。
為了說明,假設演示描述描述了多個演示,其中每個演示維持了一個公共時間軸。為簡化說明,且不失一般性,假定演示描述的確包含這樣一個演示。演示可包含多個媒體流。除媒體參數外,網路目標地址和埠也需要決定。下面區分幾種操作模式:
單播:
以用戶選擇的埠號將媒體發送到RTSP請求源。
組播,伺服器選擇地址:
媒體伺服器選擇組播地址和埠,這是現場直播或准點播常用的方式。
組播,用戶選擇地址:
如伺服器加入正在進行的組播會議,組播地址、埠和密匙由會議描述給出。
6.3.1.5 RTSP狀態
RTSP控制通過單獨協議發送的流,與控制通道無關。例如,RTSP控制可通過TCP連接,而數據流通過UDP。因此,即使媒體伺服器沒有收到請求,數據也會繼續發送。在連接生命期,單個媒體流可通過不同TCP連接順序發出請求來控制。所以,伺服器需要維持能聯系流與RTSP請求的連接狀態。RTSP中很多方法與狀態無關,但下列方法在定義伺服器流資源的分配與應用上起著重要的作用:
SETUP:
讓伺服器給流分配資源,啟動RTSP連接。
PLAY與RECORD:
啟動SETUP 分配流的數據傳輸。
PAUSE:
臨時停止流,而不釋放伺服器資源。
TEARDOWN:
釋放流的資源,RTSP連接停止。
標識狀態的RTSP方法使用連接頭段識別RTSP連接,為響應SETUP請求,伺服器連
接產生連接標識。

6.3.1.6 與其他協議關系
RTSP在功能上與HTTP有重疊,與HTTP相互作用體現在與流內容的初始接觸是通過網頁的。目前的協議規范目的在於允許在網頁伺服器與實現RTSP媒體伺服器之間存在不同傳遞點。例如,演示描述可通過HTTP和RTSP檢索,這降低了瀏覽器的往返傳遞,也允許獨立RTSP 伺服器與用戶不全依靠HTTP。
但是,RTSP與HTTP 的本質差別在於數據發送以不同協議進行。HTTP是不對稱協議,用戶發出請求,伺服器作出響應。RTSP中,媒體用戶和伺服器都可發出請求,且其請求都是無狀態的;在請求確認後很長時間內,仍可設置參數,控制媒體流。重用HTTP功能至少在兩個方面有好處,即安全和代理。要求非常接近,在緩存、代理和授權上採用HTTP功能是有價值的。
當大多數實時媒體使用RTP作為傳輸協議時,RTSP沒有綁定到RTP。RTSP假設存在演示描述格式可表示包含幾個媒體流的演示的靜態與臨時屬性。

6.3.2 協議參數

6.3.3 RTSP 信息
RTSP是基於文本的協議,採用ISO 10646 字元集,使用UTF-8編碼方案。行以CRLF中斷,但接收者本身可將CR和LF解釋成行終止符。基於文本的協議使以自描述方式增加可選參數更容易。由於參數的數量和命令的頻率出現較低,處理效率沒引起注意。如仔細研究,文本協議很容易以腳本語言(如:Tcl、Visual Basic與Perl)實現研究原型。
10646字元集避免敏感字元集切換,但對應用來說不可見。RTCP也採用這種編碼方案。帶有重要意義位的ISO 8859-1字元表示如100001x 10xxxxxx.。RTSP信息可通過任何低層傳輸協議攜帶。
請求包括方法、方法作用於其上的對象和進一步描述方法的參數。方法也可設計為在伺服器端只需要少量或不需要狀態維護。當信息體包含在信息中,信息體長度有如下因素決定:
不管實體頭段是否出現在信息中,不包括信息體的的響應信息總以頭段後第一和空行結束。
如出現內容長度頭段,其值以位元組計,表示信息體長度。如未出現頭段,其值為零。
伺服器關閉連接。
注意:RTSP目前並不支持HTTP/1.1"塊"傳輸編碼,需要有內容長度頭。假如返回適度演示描述長度,即使動態產生,使塊傳輸編碼沒有必要,伺服器也應該能決定其長度。如有實體,即使必須有內容長度,且長度沒顯式給出,規則可確保行為合理。
從用戶到伺服器端的請求信息在第一行內包括源採用的方法、源標識和所用協議版本。RTSP定義了附加狀態代碼,而沒有定義任何HTTP代碼。
6.3.4 實體
如不受請求方法或響應狀態編碼限制,請求和響應信息可傳輸實體,實體由實體頭文件和試題體組成,有些響應僅包括實體頭。在此,根據誰發送實體、誰接收實體,發送者和接收者可分別指用戶和伺服器。
實體頭定義實體體可選元信息,如沒有實體體,指請求標識的資源。擴展頭機制允許定義附加實體頭段,而不用改變協議,但這些段不能假定接收者能識別。不可識別頭段應被接收者忽略,而讓代理轉發。
6.3.5 連接
RTSP請求可以幾種不同方式傳送:
1、持久傳輸連接,用於多個請求/響應傳輸。
2、每個請求/響應傳輸一個連接。
3、無連接模式。
傳輸連接類型由RTSP URI來定義。對 "rtsp" 方案,需要持續連接;而"rtspu"方案,調用RTSP 請求發送,而不用建立連接。
不象HTTP,RTSP允許媒體伺服器給媒體用戶發送請求。然而,這僅在持久連接時才支持,否則媒體伺服器沒有可靠途徑到達用戶,這也是請求通過防火牆從媒體伺服器傳到用戶的唯一途徑。
6.3.6 方法定義
方法記號表示資源上執行的方法,它區分大小寫。新方法可在將來定義,但不能以$開頭。
某些防火牆設計與其他環境可能要求伺服器插入RTSP方法和流數據。由於插入將使客戶端和伺服器操作復雜,並強加附加開銷,除非有必要,應避免這樣做。插入二進制數據僅在RTSP通過TCP傳輸時才可使用。流數據(如RTP包)用一個ASCII美圓符號封裝,後跟一個一位元組通道標識,其後是封裝二進制數據的長度,兩位元組整數。流數據緊

『肆』 網路攝像頭中ONVIF/RTSP是什麼意思

分析如下:

攝像頭上面的兩個標記「ONVIF/RTSP」就是攝像頭符合「網路視頻標專准規范」和「實時流屬傳輸協議」的標准生產出來的,符合質量要求的產品。

(4)openrtsp頭文件擴展閱讀

ONVIF規范描述了網路視頻的模型、介面、數據類型以及數據交互的模式。並復用了一些現有的標准,如WS系列標准等。ONVIF規范的目標是實現一個網路視頻框架協議,使不同廠商所生產的網路視頻產品(包括攝錄前端、錄像設備等)完全互通。

RTSP(Real Time Streaming Protocol),RFC2326,實時流傳輸協議,是TCP/IP協議體系中的一個應用層協議,由哥倫比亞大學、網景和RealNetworks公司提交的IETF RFC標准。該協議定義了一對多應用程序如何有效地通過IP網路傳送多媒體數據。

資料來源:網路:onvif

『伍』 live555的openRTSP客戶端流程

1、創建TaskScheler和BasicUsageEnvironment類;
2、命令行解析,獲取流媒體地址和其他選項;
3、創建RTSPClient對象;
4、如果需要,RTSPClient對象發送OPTIONS命令並解析服務端響應,獲取可以使用命令集。
5、RTSPClient對象發送DESCRIBE命令,並從獲服務端反饋中獲取流媒體相關描述SDP字串。
6、創建MediaSession對象,解析SDP字串,創建了相應的子會話對象。在這個過程中還完成了RTP和RTCP通信使用的GroupSock對象的創建,包括協議和埠的選擇。
7、根據流媒體不同類型,實例化具體的RTP會話的Source和Sink對象。
8、RTSPClient對象發送SETUP和PLAY命令,服務端開始傳輸流媒體數據。
9、TaskScheler開始事件處理循環,通過select監聽數據包到達並調用注冊函數進行處理。

閱讀全文

與openrtsp頭文件相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接