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
flv # 存在B帧情况下的dts和pts

编码格式

基本编码概念

霍夫曼编码(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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 大半年没写博客了,但我一直关注着互联网的动向,最近会研究很多东西,并分享,今年移动直播行业的兴起,诞生了一大...
    flyinskybiu阅读 6,611评论 1 25
  • <转> 一、个人见解(直播难与易) 直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因...
    XLsn0w阅读 1,610评论 0 5
  • 前言 大半年没写博客了,但我一直关注着互联网的动向,最近会研究很多东西,并分享,今年移动直播行业的兴起,诞生了一大...
    阿七笔记阅读 1,934评论 0 5
  • 看着其他人在朋友圈晒出的面试过程面试感悟,我又犯病了——怀疑自己的能力,老是觉得自己很弱 别人敢于尝试,敢于挑战,...
    ljyyyy阅读 215评论 0 0
  • 01 豆丁,你知道吗?你妈妈在没有生你之前,跟爸爸一样也是一枚文青。那个时候,妈妈画画,爸爸写点东西,我们也常常看...
    丁爸阅读 539评论 0 50