RTMP(Real-Time Messaging Protocol)推流是一种用于实时音视频数据传输的协议,广泛应用于直播、视频会议等场景。以下是关于RTMP推流的完整解析:
flv
容器格式封装音视频数据,支持H.264/AAC编码。connect
、publish
)和数据传输三个阶段。ffmpeg -re -i input.mp4 -c:v libx264 -preset ultrafast -tune zerolatency \
-c:a aac -f flv rtmp://server-ip:1935/live/stream-key
-re
:按原始帧率推送,避免过快。stream-key
:服务器分配的流名称(如test123
)。rtmp {
server {
listen 1935;
application live {
live on;
allow publish all; # 允许所有推流
allow play all; # 允许所有拉流
}
}
}
rtmp://server-ip/live/stream-key
。flv.js
或hls.js
(需转协议)。| 优势 | 劣势 | |-----------------------------------|-----------------------------------| | 低延迟,适合直播 | 基于TCP,弱网易卡顿 | | 广泛兼容(Flash/移动端/PC) | 原生不支持浏览器(需转WebRTC/HLS)| | 简单易实现 | 安全性依赖RTMPS(TLS加密) |
-preset
慢速)、网络抖动。zerolatency
参数、降低分辨率/码率。通过上述步骤和优化,可快速实现稳定可靠的RTMP推流系统。
没有搜到相关的文章