RTSP流媒體資料傳輸的兩種方式(TCP和UDP)
通常情況下rtsp協議中資料傳輸的實現是UDP,因工作需要,想讓rtsp的資料傳輸部分用TCP實現。DarwinStreamingServer伺服器能自適應客戶端發起的資料傳輸請求是用TCP方式,還是用UDP方式,這裡唯一需要解決的是客戶端協議的發起問題,而vlc支援RTSP over TCP的方式。
剩下的問題就好辦了,讓vlc以TCP的方式發起連線即可。
DSS的安裝配置我就不介紹了,不懂的朋友網上查下。
方式一:TCP傳輸媒體資料
--rtsp-tcp
即用TCP方式訪問伺服器應該用如下命令:
vlc rtsp://172.16.1.1/test --rtsp-tcp
這是其中的一個RTP
我們可以看到,通過這種方式的RTP資料包是基於TCP實現的。
方式二:UDP傳輸媒體資料
雖然在和DSS的互動中vlc預設是用UDP進行媒體資料的傳輸的,但我們也要考慮如果換成其它流媒體服務的情況,所以可以加上如下引數進行限制:
--no-rtsp-tcp
即用UDP方式訪問伺服器應該用如下命令:
vlc rtsp://172.16.1.1/test –-no-rtsp-tcp
其中的一個數據包RTP包如下:
從圖上可以看到,這裡的RTP是基於UDP實現的。
好,就這些了,希望對你有幫助。
相關推薦
RTSP流媒體資料傳輸的兩種方式(TCP和UDP)
通常情況下rtsp協議中資料傳輸的實現是UDP,因工作需要,想讓rtsp的資料傳輸部分用TCP實現。DarwinStreamingServer伺服器能自適應客戶端發起的資料傳輸請求是用TCP方式,還是用UDP方式,這裡唯一需要解決的是客戶端協議的發起問題,而vlc支援RTS
獲取IOC容器中的bean的兩種方式(id和class)的區別
// ClassPathXmlApplicationContext: 是 ApplicationContext的實現類,從類路徑下來載入配置檔案 ApplicationContext ctx=new ClassPathXmlApplicationContext("a
《連載 | 物聯網框架ServerSuperIO教程》- 10.持續傳輸大塊資料流的兩種方式(如:檔案)
目 錄 10.持續傳輸大塊資料流的兩種方式(如:檔案)... 2 10.1 概述... 2 10.2 大塊資料流的兩種傳輸方式... 2 10.2.1 協議資料包的方式... 2 10.2.2
Spark獲取Kafka資料的兩種方式(原始碼)
在sparkstreaming接受資料的時候有兩種方式 (1)DirectKafkaInputDStream 使用的是 Direct 方式獲取資料;DirectKafkaInputDStream 繼承自 InputDStream (2)Socket
程式碼丟擲異常後進行事務回滾的兩種方式(Spring @Transactional註解)
需求 在service層的某個方法中,在執行完一個對資料庫的寫方法後,丟擲異常,再執行另一個對資料庫的寫方法,虛擬碼如下: @Transactional public void func() { dao.write(pojo1); throw new Exception("異常"
UITableViewCell初始化的兩種方式 (iOS開發篇)
UITableViewCell的兩種初始化方式(dequeueReusableCellWithIdentifier): 1,不註冊cell的方式: UITableViewCell *cell = [tableView dequeueReusableCellW
javaweb:會話管理和儲存會話資料的兩種技術(Cookie、Session)
會話: 什麼是會話? •會話可簡單理解為:使用者開一個瀏覽器,點選多個超連結,訪問伺服器多個web資源,然後關閉瀏覽器,整個過程稱之為一個會話。 會話過程中要解決的一些問題? •每個使用者與伺服器進行互動的過程中,各自會有一些資料,程式要想辦法儲存每個使用者的
JAVA中Arrays.sort()使用兩種方式(Comparable和Comparator介面)對物件或者引用進行排序
package com.dt.Sort; import java.util.Arrays; import java.util.Comparator; /** * 使用Comparator介面:編寫多個排序方式類實現Comparator介面,並重寫新Comparator介面中的compare()方法 pub
android stuido離線更新的兩種方式(親測可用)
以下還是as1.3時的更新方式,隨著版本更迭,現在升級as已經和普通軟體的沒什麼區別了(2015年11月30日15:33:22) 一、兩種方式 下載一個新版本更新包(並不是重新下載一個IDE安裝),這種和以前的版本並列,不會對之前的版本有任何影響,
SQL Server 2008 資料庫同步的兩種方式(釋出、訂閱)
資料庫釋出訂閱份為兩個步驟:1、釋出。2、訂閱。首先在資料來源資料庫伺服器上對需要同步的資料進行釋出,然後在目標資料庫伺服器上對上述釋出進行訂閱。釋出可以釋出一張表的部分資料,也可以對整張表進行釋出。下面分別介紹釋出、訂閱的過程。 一、釋出 釋出需要用實
Java檔案上傳的兩種方式(uploadify和Spring預設方式)
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ include file="../jsp/include/taglibs.jsp"%> <!DOCTY
ubuntu 16.04安裝redis的兩種方式(apt和編譯方式)和解除安裝
保證網路暢通,選定好下載工作路徑,執行以下命令下載redis-3.2.6: sudo wget http://download.redis.io/releases/redis-3.2.6.ta
Android 呼叫系統api錄音的兩種方式(MediaRecorder、AudioRecord)
廢話 許可權、許可權、許可權,必須要先獲取了錄音許可權,其他的事情晚點再說。 另外,新版本的Android 10系統會對錄音
全排列的兩種解法(dfs和STL)
#include #include using namespace std; char str[15]; int main() { int n,i,j; while(scanf("%d",&n)!=EOF) { for
matplotlib.pyplot 中顯示影象的兩種模式(互動和阻塞)及其在Python畫圖中的應用
介紹 在使用matplotlib的過程中,發現不能像matlab一樣同時開幾個視窗進行比較,於是查詢得知了互動模式,但是放在腳本里執行的適合卻總是一閃而過,影象並不停留,遂仔細閱讀和理解了一下文件,記下解決辦法,問題比較簡單,僅供菜鳥參考。 python視覺化庫matpl
linux下終端分屏使用的兩種方法(screen和tmux)
本文主要介紹兩種終端分屏工具:screen和tmux,分享出來供大家參考學習,下面來看看詳細的介紹: 一、使用screen分屏(只能上下分屏,不能左右分屏) (1)安裝工具 在ubuntu系統中使用sudo apt-get install screen 安裝s
FileInputStream讀取位元組流。讀取檔案資料的兩種方式(寫的好)
總結: //1讀取檔案的資料到位元組流inputStream InputStream inputStream = new FileInputStream("D:\\demo.txt");//讀取檔案的資料到位元組流inputStream。
媒體查詢的兩種方式
back link css span color nbsp div clas width 第一種:link的方式: 1 <link rel="stylesheet" media="screen and (max-width:600px)" href="./css/b
(轉)Activity和Fragment傳遞資料的兩種方式
1、第一種方式,也是最常用的方式,就是使用Bundle來傳遞引數 MyFragment myFragment = new MyFragment(); Bundle bundle = new Bundle(); bundle.putString("DATA",values);//這裡的va
Spark-Streaming獲取kafka資料的兩種方式:Receiver與Direct的方
簡單理解為:Receiver方式是通過zookeeper來連線kafka佇列,Direct方式是直接連線到kafka的節點上獲取資料 回到頂部 使用Kafka的高層次Consumer API來實現。receiver從Kafka中獲取的資料都儲存在Spark Exec