1. 程式人生 > >SIPp之播放rtp語音/視訊流

SIPp之播放rtp語音/視訊流

192.168.0.20是一個有註冊認證的SIP伺服器,伺服器埠為5060; 192.168.0.101是我在windows安裝的cygwin軟體後測試機器; branchc1.xml 中的50000 呼叫 eyebeem號碼50010 sipp版本: SIPp v3.2-TLS-PCAP, version unknown, built Jul 17 2013, 21:50:11
user.csv指令碼:
[html] view plain copy  print?
  1. SEQUENTIAL  
  2. 50000;50010;[authentication username=50000password=50000]  



流程如下:
                              
    REGISTER ----------> SIP_server     
         401 <---------- SIP_server       
    REGISTER ----------> SIP_server        
         200 <---------- SIP_server        
      INVITE
 ----------> SIP_server       
         407 <---------- SIP_server       
         ACK ----------> SIP_server       
      INVITE ----------> SIP_server -- INVITE--------->50010(eyebeem)     
         100 <---------- SIP_server---100 <---------- 50010(eyebeem)  
         180 <---------- SIP_server---180 <---------- 50010(eyebeem)    
         200 <---------- SIP_server---200 <---------- 50010(eyebeem)
         ACK ----------> SIP_server---ACK ---------->50010(eyebeem) 
       -----------RTP語音流(wireshark抓的語音包G711u.pcap)-----------
       Pause [    50.0s]      
         BYE ---------->       
         200 <----------       

指令碼如下:
[html]
 view plain copy  print?
  1. <?xmlversion="1.0"encoding="ISO-8859-1"?>
  2. <!DOCTYPE scenario SYSTEM "sipp.dtd">
  3. <!-- This program is free software; you can redistribute it and/or  -->
  4. <!-- modify it under the terms of the GNU General Public License as -->
  5. <!-- published by the Free Software Foundation; either version 2 of the-->
  6. <!-- License, or (at your option) any later version.            -->
  7. <!--                                                            -->
  8. <!-- This program is distributed in the hope that it will be useful, -->
  9. <!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
  10. <!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -->
  11. <!-- GNU General Public License for more details.                -->
  12. <!--                                                            -->
  13. <!-- You should have received a copy of the GNU General Public License-->
  14. <!-- along with this program; if not, write to the              -->
  15. <!-- Free Software Foundation, Inc.,                            -->
  16. <!-- 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA     -->
  17. <!--                                                           -->
  18. <!--                 Sipp default 'branchc' scenario.          -->
  19. <!--                                                           -->
  20. <!-- 首先發送SIP註冊訊息,Register。裡面的From與To是註冊的號碼  -->
  21. <scenarioname="branch_client">
  22.   <sendretrans="500">
  23.     <![CDATA[ 
  24.       REGISTER sip:[remote_ip] SIP/2.0 
  25.       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] 
  26.       From: [field0] <sip:[field0]@[local_ip]:[local_port]>;tag=[call_number];rport 
  27.       To: [field0] <sip:[field0]@[remote_ip]:[remote_port]> 
  28.       Call-ID: [call_id] 
  29.       CSeq: 1 REGISTER 
  30.       Contact: sip:[field0]@[local_ip]:[local_port] 
  31.       Content-Length: 0 
  32.       Expires: 300 
  33.     ]]>
  34.   </send>
  35.   <recvresponse="100"ptional="true">
  36.   </recv>
  37.   <!--  SIPp會收到來自AST要求驗證的401 訊息體,Recv意思為Receive,接收到來自AST的401要求驗證的訊息,Next為如果收到401,那麼轉至Label為1的地方進行操作 -->
  38.   <recvresponse="401"auth="true"next="1">
  39.   </recv>
  40.   <!--  send invite with authentication messages -->
  41.   <!--  開始傳送Register訊息,裡面將把驗證的密碼訊息傳送給對方,在訊息體裡面是抓不到密碼訊息的,而且已經被md5方式加密過。-->
  42.   <labelid="1"/>
  43.   <sendretrans="500">
  44.     <![CDATA[ 
  45.       REGISTER sip:[field0]@[remote_ip]:[remote_port] SIP/2.0 
  46.       Via: SIP/2.0/[transport] [local_ip]:[local_port] 
  47.       From: [field0] <sip:[field0]@[local_ip]:[local_port]>;tag=[call_number];rport 
  48.       To: [field0] <sip:[field0]@[remote_ip]:[remote_port]> 
  49.       Call-ID: [call_id] 
  50.       CSeq: 2 REGISTER 
  51.       Contact: sip:[field0]@[local_ip]:[local_port] 
  52.       [field2] 
  53.       Content-Length: [len] 
  54.       Expires: 3600 
  55.     ]]>
  56.   </send>
  57.   <recvresponse="100"ptional="true">
  58.   </recv>
  59.   <!--   收到來自AST的200 ACK訊息後,系統轉至等待1000ms,或者可以直接去掉該設定 -->
  60.   <recvresponse="200"next="2">
  61.   </recv>
  62.   <labelid="2"/>
  63.   <pausemilliseconds="1000"/>
  64.   <sendretrans="500">
  65.     <![CDATA[ 
  66.       INVITE sip:[field1]@[remote_ip]:[remote_port] SIP/2.0 
  67.       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] 
  68.       From: [field0] <sip:[field0]@[local_ip]:[local_port]>;tag=[call_number] 
  69.       To: [field1] <sip:[field1]@[remote_ip]:[remote_port]> 
  70.       Call-ID: [call_id] 
  71.       CSeq: 1 INVITE 
  72.       Contact: sip:[field0]@[local_ip]:[local_port] 
  73.       Max-Forwards: 70 
  74.       Subject: Performance Test 
  75.       Content-Type: application/sdp 
  76.       Content-Length: [len] 
  77.        v=0 
  78.       o=[local_ip] 53655765 2353687637 IN IP[local_ip_type] [local_ip] 
  79.       s=- 
  80.       c=IN IP[local_ip_type] [local_ip] 
  81.       t=0 0 
  82.       m=audio [auto_media_port] RTP/AVP 8 0 101 
  83. 相關推薦

    SIPp播放rtp語音/視訊流

    192.168.0.20是一個有註冊認證的SIP伺服器,伺服器埠為5060; 192.168.0.101是我在windows安裝的cygwin軟體後測試機器; branchc1.xml 中的50000 呼叫 eyebeem號碼50010 sipp版本: SIPp v3.2-TLS

    Android開發播放RTSP協議視訊流

    Android開法之播放RTSP協議視訊流 本人近來研究在安卓手機上播放RTSP協議的實時視訊流,發現使用Android自帶的VideoView播放可以播出,但是使用經過重寫後的io.vov.vita

    “多媒體”首次體驗播放

    公眾 sta .com 完成 空格 最重要的 with desktop 總結 從技能的差別而區分出來的領域,都有自己的數據結構與流程。想要精通一個專業領域,意味著需要理解透它的結構與流程(但有很多理解是可以平移的),但是,這不意味著從概念入手就是最好的辦法。 小程覺得,找一

    使用VLC接收RTP流並時時播放(RTP流是pcma包)

    簡單的 了解 不想 sdn 英文 好好學習 是不是 網絡數 ram 寫在前:   或許是本人水平有限, 一個簡單的問題楞是想了很久還沒想出來, 最後還是問我師父的結果.   總的來說, 目的就是: 服務器會發給本地電腦一系列的rtp包, 這些rtp包都是pcma編碼的語音包

    GB28181技術基礎3 - RTP

    同步控制 eal gb28181 格式 borde 重新 bsp 使用 復數 一. RTP協議 實時傳輸協議 RTP(Real-time Transport Protocol)是一個網絡傳輸協議,它是由IETF的多媒體傳輸工作小組1996年在RFC 1889中

    Java學習筆記FreeTTS(語音

    分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

    DZ先生怪談國標基於RTP的視音訊封裝

    1. 基於 RTP 的視音訊資料PS 封裝基於 RTP 的 PS 封裝首先按照ISO/IEC13818-1:2000 將視音訊流封裝成 PS 包, 再將 PS 包以負載的方式封裝成 RTP 包。進行 PS 封 裝 時, 應 將 每 個 視 頻 幀 封 裝 為 一 個 PS 包, 且 每 個 關

    人工智慧應用小程式語音機器人的打造

    人工智慧應用之客服機器人的打造 人工智慧技術是2018年網際網路上談論最多的話題之一。那麼關於人工智慧技術的應用話題層出不窮,比如大資料、計算機視覺、爬蟲、自然語音處理、無人汽車等等。今天張佬獅想和大家談一下關於自然語音處理方面的應用。 自言語言處理是研究計算機

    多媒體播放視訊——VideoView和MediaPlayer(MediaPlayer和SurfaceView結合)

    VideoView 一、簡介: 後面講解SurfaceView。 VideoView將視訊的顯示和控制集於一身,它的用法和MediaPlayer很相似,因為VideoView只是做好了一個封裝而已,它的背後仍然是MediaPlayer來對視訊檔案進

    Android 通過WebView來播放flash線上視訊流

    首先,Android 自帶的WebView控制元件是不支援flash播放的,在Android4.0以上的版本中,所以需要客戶端安裝adobe flashplayer播放器外掛,這樣就可以利用WebView來播放flash視訊。 具體的方法,還是直接上程式碼: private

    動態時間規整演算法(Dynamic Time Warping, DTW)初探單詞語音識別

        動態時間規整演算法(DTW)是最近接觸的一種提取時間序列模板方法。本文主要是一些自己的學習記錄,並適當地加入自己的理解。若有見解不一致之處,歡迎交流。 1 動態時間規整(DTW)基本思想     先從單詞語音時間序列的規整問題引入DTW的基本思想。   

    live555原始碼分析------ H264 RTP封包原理(總結)

    在一個RTP 包中封裝多個NALU,對於較小的NALU 可以採用這種打包方案,從而提高傳輸效率。 即可能是由多個 NAL 單元組成一個 RTP 包。 分別有4種組合方式: STAP-A, STAP-B, MTAP16, MTAP24.  那麼這裡的型別值分別是 24, 25, 26 以及 27.

    android 語音識別 訊飛語音移植

    轉載自:http://blog.csdn.net/chenshufei2/article/details/8496905 一、簡介     語音識別現在應用越來越廣泛了 比如語音寫簡訊、語音搜尋商品、語音搜尋關鍵字等等,這遍我們就簡單的談談國內比較流

    php 在web端來播放amr語音(如微信語音

    說下整體思路 1、伺服器安裝ffmpeg 2、使用ffmpeg -i 指令來轉換amr為mp3格式(這個到時候寫在php程式碼中,使用system函式執行即可) 3、在網頁端使用html5的audio標籤來播放mp3檔案 下面是操作細節: 一、伺服器安裝ff

    VLC播放RTP打包傳送的.264檔案

    轉自: http://blog.csdn.net/liuzongming1988/article/details/8292455 這個問題,我在網上找了好久,大概有兩個星期了,經過海量的搜素和查詢今天終於有了進展,雖然原理還不懂但是終於可以看到現象了。接下來做的就是深

    移動端語音播放以及語音條拖動的實現

    移動端語音播放,包含了語音播放動態小喇叭,語音條,時間長度,支援移動端觸動拖動,不支援PC拖動。 類似於微信公眾號裡面的語音播放,效果如下: 進入頁面: 播放時: 頁面程式碼: <!DOCTYPE html> <html> <head&g

    課堂/會議同屏教學解決方案RTSP/RTP over UDP組播解決方案

    問題 在之前的部落格《EasyIPCamera實現Windows PC桌面、安卓Android桌面同屏直播,助力無紙化會議系統》我們描述了一套基於EasyIPCamera的同屏功能,但是這個可以說只是一個功能實現,並不能用於實際的現場應用,因為再強的流媒體伺服

    VLC同時開啟播放多個視訊流BAT指令碼

            工作中,難免會遇到要用同一個程式連續開啟多個URL資源/路徑的情況,一個視窗一個視窗的啟動效率太低。         這裡以VLC同時播放多個碼流影象為例,寫個簡單的BAT指令碼,供需要者參考。          PS:         1. 使用方式:

    FFMPEG系列五:H264視訊流直播

    原理和程式碼都很簡單,寫完之後在接收端,解碼時就開始報錯了: 12345non-existing PPS0referenceddecode_slice_header errornon-existing PPS0referenceddecode_slice_heade

    html播放器的設定

    <!-- 如果選擇第一種播放模式,第二種和視訊播放不顯示,會衝突,他們不相容--><!-- 音樂播放器自動播放,自帶滾動條 ,新型瀏覽器-->第一種可以實現自動的播放 <audio src="../music/a.mp3" dir="aut