FFmpeg作为强大的多媒体处理工具,在RTSP推流场景中广泛应用。以下是系统化的技术解析:
一、基础概念
二、核心优势
三、典型推流命令
ffmpeg -re -i input.mp4 -c:v libx264 -preset ultrafast -tune zerolatency \
-f rtsp rtsp://server_ip:554/live/stream
参数说明:
-re
按输入文件原生帧率处理-preset ultrafast
极速编码模式-f rtsp
指定输出格式四、应用场景
五、常见问题解决方案
ffmpeg -i input -c:v libx264 -preset ultrafast -x264opts nal-hrd=cbr \
-tune zerolatency -f rtsp rtsp://...
ffmpeg -re -i input -c copy -f rtsp -rtsp_transport tcp \
-flags +global_header -max_delay 100 -attempt_recovery 1 \
-recovery_wait_time 1 rtsp://...
ffmpeg -i input -c:v libx264 -c:a aac -strict experimental \
-af aresample=async=1 -f rtsp rtsp://...
六、高级配置示例(TCP传输+硬件加速)
ffmpeg -hwaccel cuvid -c:v h264_cuvid -i input \
-c:v h264_nvenc -preset p7 -tune ll \
-rtsp_transport tcp -f rtsp rtsp://...
七、性能监控指标
-stats
参数显示实时编码统计ffmpeg -loglevel debug 2>&1 | grep 'rtsp'
-analyzeduration 10M -probesize 32M
八、安全注意事项
rtsp://user:pass@server/stream
-rtsp_transport tcp -encryption_scheme tls
九、调试技巧
ffplay -rtsp_flags prefer_tcp -i rtsp://...
tcpdump -i eth0 -w rtsp.pcap 'port 554'
十、扩展应用
ffmpeg -i input -map 0 -c:v libx264 -f tee \
"[f=rtsp]rtsp://server/stream1|[f=rtsp]rtsp://server/stream2"
ffmpeg -i input -vf "scale=w=trunc(oh*a/2)*2:h=720" -f rtsp...
注:实际部署时应根据网络条件调整-bufsize
和-maxrate
参数,建议先通过ffprobe分析输入流属性后再确定编码参数。