🎥 FFmpeg 直播推流介绍与实例
FFmpeg 不仅能用来处理本地音视频文件,它也是一款非常强大的 直播推流工具,广泛用于 RTMP、HLS、RTP、SRT 等多种直播协议的推拉流场景。
一、直播常用协议简介
协议 | 全称 | 特点 |
RTMP | Real-Time Messaging Protocol | Adobe 开发,低延迟,适合推流到 CDN 或直播平台 |
HLS | HTTP Live Streaming | 苹果开发,基于 HTTP,适合网页播放,有轻微延迟 |
RTP/RTCP | Real-time Transport Protocol | 常用于内网传输,配合 SDP 使用 |
SRT | Secure Reliable Transport | 安全可靠,抗丢包能力强,适合公网传输 |
二、推流的基本流程
- 采集源: 摄像头、屏幕、已有视频文件等
- 编码: 视频使用 H.264/H.265,音频使用 AAC/G.711 等
- 封装: FLV(RTMP)、MPEG-TS(HLS)、RTP 包等
- 传输: 推送到服务器或 CDN 地址(如 B站、抖音、OBS Server、Nginx-RTMP、SRS等)
三、常用编码器选项
参数 | 含义 |
-c:v libx264 | 视频编码为 H.264 |
-c:a aac | 音频编码为 AAC |
-pix_fmt yuv420p | 设置像 |