🎬 GStreamer 网络流 · 深度解析
📡 传输协议 · 插件化 · 实战
📚 30 章完整目录
友好色
01
GStreamer 概述
核心
什么是GStreamer · 设计理念 · 插件化 · Pipeline · 流媒体地位
02
基础元素
Element/Pad
Element · Pad · Bin · Pipeline · 状态机 · 数据流模型
03
工具链
CLI
gst-launch-1.0 · inspect · discoverer · validate · 调试技巧
04
网络传输基础
TCP/IP
TCP/IP回顾 · UDP vs TCP · RTP/RTCP · RTSP · SDP
05
UDP 传输
udpsink/src
udpsink/udpsrc · 组播 · 缓冲区 · 丢包处理策略
06
TCP 传输
tcpserversink
tcpserversink/tcpclientsrc · 连接管理 · 重连机制
07
RTP 基础
协议头部
RTP头部 · Payload Type · 序列号/时间戳 · SSRC/CSRC
08
RTP 发送
rtpbin
rtpbin · rtpsession · payloader/depayloader · 多流同步
09
RTP 接收
jitterbuffer
rtpbin接收 · jitterbuffer · NACK/RTX · FEC前向纠错
10
RTCP 协议
SR/RR
SR/RR · SDES · BYE · APP · GStreamer RTCP配置
11
RTSP 基础
方法/状态机
OPTIONS/DESCRIBE/SETUP/PLAY · 状态机 · SDP协商
12
RTSP 服务器
gst-rtsp-server
media factory · mount points · 动态源 · 鉴权
13
RTSP 客户端
rtspsrc
rtspsrc详解 · 协议选择 · 缓冲 · 重连与故障恢复
14
SDP 协议
会话/媒体
SDP结构 · m=行 · a=行 · GStreamer生成与解析
15
WebRTC 基础
ICE/STUN
架构 · ICE/STUN/TURN · DTLS-SRTP · SDP Offer/Answer
16
WebRTC 实现
webrtcbin
webrtcbin · 信令 · DataChannel · Stats统计
17
HLS 协议
m3u8/ts
HLS原理 · hlsink/hlssink2 · 分段策略 · 加密
18
DASH 协议
MPD
MPEG-DASH · MPD文件 · dashsink/dashdemux · 自适应码率
19
SRT 协议
srtsink/src
SRT特点 · srtsink/srtsrc · 加密/延迟 · ARQ重传
20
QUIC 协议
quicsink/src
QUIC简介 · quicsink/quicsrc · 0-RTT · 多路复用
21
网络抖动与缓冲
jitterbuffer
jitterbuffer原理 · netclock · 实时性 vs 流畅性 · 自适应缓冲
22
时钟同步
NTP/PTP
GStreamer时钟 · 网络时钟 · GstClock/GstNetClock · 多设备同步
23
QoS 与统计
丢包/延迟
QoS机制 · 丢包率/延迟/抖动 · probe/pad监控 · 带宽估计
24
多路复用与解复用
mux/demux
mpegtsmux/demux · matroskamux/demux · 多流封装
25
编解码器与网络
NAL/ADTS
H.264/H.265 NAL · AAC ADTS · opus · 编解码器协商
26
安全传输
TLS/SRTP
TLS/DTLS · SRTP加密 · srtpenc/srtpdec · 证书管理
27
性能优化
零拷贝
零拷贝(dmabuf) · 硬件加速 · 多线程Pipeline · 内存管理
28
调试与日志
GST_DEBUG
GST_DEBUG · 调试类别 · tcpdump/Wireshark · 问题定位
29
实战案例1
监控系统
低延迟视频监控 (RTSP + RTP + H.264)
30
实战案例2
WebRTC通话
WebRTC视频通话 (webrtcbin + Signaling Server)