顯示具有 [程式設計]Protocol 標籤的文章。 顯示所有文章
顯示具有 [程式設計]Protocol 標籤的文章。 顯示所有文章

2024年11月20日 星期三

SRT RTMP RTP WebRTC 比較

SRT (Secure Reliable Transport)

技術

  • 底層傳輸用 UDP
  • 實作類似於 TCP 的傳輸可靠性
  • 安全層面上,SRT 也通過錯誤修正機制和加密等功能,確保影片內容能夠安全傳輸
  • 可以雙向、互動
  • SRT作為影片直播的協議,只是一種包裝、切分檔案的方法,可以適用在MPEG-2、H.264或是HEVC等任一種影片Codec。 最後, SRT採用業界標準的加密,能確保安全。
  • SRT則是每個單獨的數據包都有時間戳(timestamp)。對接收器來說,這就很容易重現傳過來的訊號,並大大減少對緩衝的需求。

    優點

  • 低延遲傳輸
  • 高度可靠性
  • SRT 的延遲比 RTMP 少 2.5 ~ 3.2 倍

    使用環境

  • 特別適用於不穩定的網絡環境,最低直播的延遲時間可以低至 120ms

2022年7月13日 星期三

HEVC學習筆記

高效率視訊編碼(High Efficiency Video Coding,簡稱HEVC),又稱為H.265和MPEG-H第2部分,是一種視訊壓縮標準。

HEVC码流是由一系列NAL unit(NALU)组成,每个NAL包含整数字节的数据,头两个字节为NAL unit Header(1 byte in H.264),剩余的为负载数据(原始字节序列负荷RBSP)。不同的NAL单元分为VCL NAL和non VCL NAL单元,前者携带编码过的图像数据,后者包含多帧共享的控制参数信息。

2021年3月8日 星期一

192.168.0.1/24中斜線/24的含義

192.168.0.1/24

/24是指子網遮罩,24個1即: 11111111.11111111.11111111.00000000 ,一個255 是8個1,轉換成十進制就是:255.255.255.0。


/24就是前三個ip數是固定的,最後一個1就是不確定的,所以192.168.0、192.168.0.2、192.168.0.3在同一個網段內,而192.168.2.1不在同一網段內,必須通過路由器才能通。


以下想看再看

2021年2月24日 星期三

版本編號的命名規則

版本編號格式

版本編號必須要依照以下格式命名:

[主版本號].[次版本號].[修訂版本號]

以上每個編號都是 >= 0 的數字,下面是一個符合規則的版本編號:

1.0.3

每次一發佈新版本的時候就遞增其中一個編號。

什麼是TTL(Time To Live:)?

TTL使用的地方

  • TCP/IP 封包表頭佔用了8 bits。
  • DNS 預設TTL=86400秒,等同24小時(難怪每次更新至少24小時)

TCP/IP Time To Live

  • 當TTL使用在TCP/IP時,表示躍點的意思,128 hops是傳送端發出,每經過一個Router就會減一,當接收端收到後,會回傳,就可以知道中間經過多少個Router,而當減到0時就Time Out避免封包一直傳遞。
  • 這時候可能會有人問,為何回傳都是TTL = 128,因為當128-128 = 0時,表示兩地是存在同一個網路內。
  • 所以TTL使用在TCP/IP時,就沒有所謂越大越好或者越小越好的問題。

HTTP 狀態程式碼表示什麼意思?

在 Web 開發中的HTTP 狀態碼(英語:HTTP Status Code)是用以表示 HTTP 響應狀態的 3 位數字程式碼。比如:

  • 1xx:訊息
  • 2xx:成功
  • 3xx:重定向
  • 4xx:客戶端錯誤
  • 5xx:伺服器錯誤

熟記這些狀態碼可以讓我們在快速定位 Web 開發中遇到的問題、編寫符合規範的介面服務,下面描述這些 3 位數字都是些什麼意思。

2021年2月2日 星期二

127.0.0.1和0.0.0.0地址的區別

1. IP地址分類

1.1 IP地址表示

IP地址由兩個部分組成,net-id和host-id,即網絡號和主機號。

net-id:表示ip地址所在的網絡號。

host-id:表示ip地址所在網絡中的某個主機號碼。

即:

  IP-address ::= { <Network-number>, <Host-number> }

2021年1月6日 星期三

What is ICE?

EX
candidate:842163049 1 udp 1677729535 211.23.7.25 62764 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag o5a5 network-cost 999
candidate:750991856 1 udp 25108223 237.30.3.30 58779 typ relay raddr 47.61.6.61 rport 54761 generation 0

欄位說明:
component = 2)用於RTCP
udp/tcp後面的一長串數字 - 1677722110 - 是候選者的優先級
機候選者的優先級高於其他候選者,因為使用主機候選者在資源使用方面更有效。
relay:表示是中繼候選,這些候選者從TURN服務器獲得
ufrag & pwd:一旦ICE候選者被交換,驗證過程開始,其中兩個瀏覽器試圖使用所提供的候選者連接。在該過程中使用ice-ufrag和ice-pwd憑證,為了避免被攻擊,未經驗證的連接無法建立會話。

2020年12月30日 星期三

ICE格式解析



例如收到一條ICE candidate如下:

candidate:240568271 1 udp 1686052607 174.139.8.82 64462 typ srflx raddr 10.1.1.19 rport 64462 generation 0 ufrag TWCy network-id 2 network-cost 50

欄位解析:

2020年11月20日 星期五

[暫存]開啟mdns設定

mDNS(multicast DNS)

It is a zero-configuration service

Network: 224.0.0.251:5353/UDP

It is implemented by the Apple Bonjour and open source Avahi software packages.


原理

1)每個進入局域網的主機, 如果開啟了mDNS服務的話,都會向局域網內的所有主機組播一個消息,我是誰,和我的IP地址是多少。

2)然後其他也有該服務的主機就會響應,也會告訴你,它是誰,它的IP地址是多少。