系列總結(jié)
RTMP協(xié)議總結(jié)
RTMP協(xié)議 01 RTMP入門
RTMP協(xié)議 02 視頻Chunk和音頻Chunk到底長(zhǎng)啥樣?
RTMP協(xié)議 03 RTMP設(shè)計(jì)思想
RTMP協(xié)議 04 RTMP播放基本流程
RTMP協(xié)議 05 時(shí)間戳
Speex回聲消除
Speex回聲消除收斂條件
Speex 中回聲消除的遠(yuǎn)端信號(hào)FFT變換
echo cancelling using foreground and background filters
Speex中的近端信號(hào)去直流和預(yù)加重操作
Speex 采樣率對(duì)回聲消除的影響
Speex 回聲消除 frame_size和filter_length
Speex 遠(yuǎn)近端數(shù)據(jù)同步情況對(duì)回聲消除的影響
Speex 中傅里葉變換spx_fft的秘密
Speex 雙聲道回聲消除中frame_size的含義
Speex 回聲消除能處理采樣率48k嗎
Speex 一個(gè)雙聲道回聲消除的小demo
直播問題分析總結(jié)
直播問題分析總結(jié) -- 卡頓
直播問題分析總結(jié) -- 跳幀
直播問題分析總結(jié) -- 花屏&綠屏
視頻基本概念
PS & TS
Picture & Frame
CBR & VBR
Coded Video Sequences
I?frame & P?frame & B?frame
YUV420P & YV12
采樣格式4:2:0
D-1 resolution
4K resolution(分辨率)
720P的視頻YUV 420采樣后一幀數(shù)據(jù)的大小
IPB 編碼順序 & 顯示順序
音頻基本概念
Audio bit rate
Audio bit depth
PCM數(shù)據(jù)格式
封裝格式
MP4
Timescale & Duration in MP4 Format
FLV
FLV 文件格式簡(jiǎn)析
FLV中的那些Header們
錄制的FLV文件只顯示首幀然后就閃退
FLV文件的第一個(gè)Tag: onMetaData
H.264/AVC編碼的FLV文件的第二個(gè)Tag: AVCDecoderConfigurationRecord
flv # 存在B幀情況下的dts和pts
編碼格式
基本編碼概念
H.264/AVC
ES碼流結(jié)構(gòu)
H.264/AVC 碼流序列
H.264/AVC 碼流序列 2
Profile & Level (H.264)
VCL & NAL (H.264/AVC)
SPS & PPS & SEI
SPS & PPS in H.264 詳解
NALU
AVC sequence header & AAC sequence header
time_scale & num_units_in_tick
Variable block-size motion compensation
Elementary stream (ES) mean in H.264
MPEG-4
AAC
AAC Standard
ADTS
The length of ADTS Header
流媒體協(xié)議
RTSP
RTSP
RTSP & RTCP & RTP
Packet Structure of RTP
RTP/AVP & RTP/AVP/TCP
RTSP over UDP & RTSP over TCP
RTP 時(shí)間戳
如何判斷rtp數(shù)據(jù)包是否為H.264
wireshark分析rtsp
wireshark 從rtsp抓包中過濾H.264或AAC
wireshark利用RTP包分析相鄰時(shí)間戳差值
如何判斷客戶端的RTSP拉流方式(RTP包是用UDP還是TCP傳輸?shù)?
如何指定VLC的RTSP拉流方式(RTP over UDP/TCP)
從RTSP的DESCRIBE返回的SDP中計(jì)算視頻寬和高
從RTSP的DESCRIBE返回的SDP中計(jì)算幀率
packetization-mode=1 in SDP
海康攝像頭的RTSP播放地址格式
RTMP
Mac下利用nginx搭建rtmp server
wireshark分析rtmp協(xié)議
wireshark從rtmp抓包中篩選視頻或音頻
如何過濾端口不是1935的rtmp流(wireshark)
RTMP Handshake(握手協(xié)議)
C1 in Handshake (crtmpserver)
crtmpserver 中的Handshake(握手操作) -- ValidateClientScheme(驗(yàn)證客戶端模式)
解決直播或點(diǎn)播失敗的問題(crtmpserver)
AMF0
AMF0 type = String舉例 (rtmp)
RTMP Message
RTMP Chunk Header
Chunk Stream ID (RTMP)
如何從rtmp碼流中分析出客戶端的緩存時(shí)間長(zhǎng)度
wireshark抓包獲取rtmp直播流地址
視音頻傳輸優(yōu)化
FEC
兩種丟包處理策略:丟包重傳 和 FEC(前向糾錯(cuò))
2D Matrix FEC
Pro-MPEG FEC
開源項(xiàng)目
live555
live555代碼基本框架
Source & Sink (live555)
RTP timestamp(時(shí)間戳)算法 (live555)
RTP Timestamp to presentationTime (live555)
如何實(shí)現(xiàn)音視頻同步 (live555)
OutPacketBuffer::maxSize & MAX_PACKET_SIZE & maxRTCPPacketSize (live555)
FFMPEG
ffmpeg核心結(jié)構(gòu)體AVPacket/AVFrame
Mac下安裝支持rtmp協(xié)議的ffmpeg
播放器
VLC
如何用VLC播放UDP和RTP的視頻流
用vlc將rtsp/rtmp流保存為文件