流媒体

StreamingMedia文章目录

2016-08-25  本文已影响68人  FlyingPenguin

系列总结

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

编码格式

基本编码概念

霍夫曼编码(Huffman Coding)

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

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流保存为文件

工具

Elecard StreamEye Tools

上一篇 下一篇

猜你喜欢

热点阅读