StreamingMedia文章目录
系列总结
RTMP协议总结
RTMP协议 01 RTMP入门
RTMP协议 02 视频Chunk和音频Chunk到底长啥样?
RTMP协议 03 RTMP设计思想
RTMP协议 04 RTMP播放基本流程
RTMP协议 05 时间戳
Speex回声消除
Speex回声消除收敛条件
Speex 中回声消除的远端信号FFT变换
echo cancelling using foreground and background filters
Speex中的近端信号去直流和预加重操作
Speex 采样率对回声消除的影响
Speex 回声消除 frame_size和filter_length
Speex 远近端数据同步情况对回声消除的影响
Speex 中傅里叶变换spx_fft的秘密
Speex 双声道回声消除中frame_size的含义
Speex 回声消除能处理采样率48k吗
Speex 一个双声道回声消除的小demo
直播问题分析总结
直播问题分析总结 -- 卡顿
直播问题分析总结 -- 跳帧
直播问题分析总结 -- 花屏&绿屏
视频基本概念
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采样后一帧数据的大小
IPB 编码顺序 & 显示顺序
音频基本概念
Audio bit rate
Audio bit depth
PCM数据格式
封装格式
MP4
Timescale & Duration in MP4 Format
FLV
FLV 文件格式简析
FLV中的那些Header们
录制的FLV文件只显示首帧然后就闪退
FLV文件的第一个Tag: onMetaData
H.264/AVC编码的FLV文件的第二个Tag: AVCDecoderConfigurationRecord
编码格式
基本编码概念
H.264/AVC
ES码流结构
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
流媒体协议
RTSP
RTSP
RTSP & RTCP & RTP
Packet Structure of RTP
RTP/AVP & RTP/AVP/TCP
RTSP over UDP & RTSP over TCP
RTP 时间戳
如何判断rtp数据包是否为H.264
wireshark分析rtsp
wireshark 从rtsp抓包中过滤H.264或AAC
wireshark利用RTP包分析相邻时间戳差值
如何判断客户端的RTSP拉流方式(RTP包是用UDP还是TCP传输的)
如何指定VLC的RTSP拉流方式(RTP over UDP/TCP)
从RTSP的DESCRIBE返回的SDP中计算视频宽和高
从RTSP的DESCRIBE返回的SDP中计算帧率
packetization-mode=1 in SDP
海康摄像头的RTSP播放地址格式
RTMP
Mac下利用nginx搭建rtmp server
wireshark分析rtmp协议
wireshark从rtmp抓包中筛选视频或音频
如何过滤端口不是1935的rtmp流(wireshark)
RTMP Handshake(握手协议)
C1 in Handshake (crtmpserver)
crtmpserver 中的Handshake(握手操作) -- ValidateClientScheme(验证客户端模式)
解决直播或点播失败的问题(crtmpserver)
AMF0
AMF0 type = String举例 (rtmp)
RTMP Message
RTMP Chunk Header
Chunk Stream ID (RTMP)
如何从rtmp码流中分析出客户端的缓存时间长度
wireshark抓包获取rtmp直播流地址
视音频传输优化
FEC
两种丢包处理策略:丢包重传 和 FEC(前向纠错)
2D Matrix FEC
Pro-MPEG FEC
开源项目
live555
live555代码基本框架
Source & Sink (live555)
RTP timestamp(时间戳)算法 (live555)
RTP Timestamp to presentationTime (live555)
如何实现音视频同步 (live555)
OutPacketBuffer::maxSize & MAX_PACKET_SIZE & maxRTCPPacketSize (live555)
FFMPEG
ffmpeg核心结构体AVPacket/AVFrame
Mac下安装支持rtmp协议的ffmpeg
播放器
VLC
如何用VLC播放UDP和RTP的视频流
用vlc将rtsp/rtmp流保存为文件