linux下使用FFmpeg实时转流(RTSP摄像头到服务器)方法

使用FFmpeg实时转流(RTSP摄像头到服务器)

确保已安装FFmpeg并拥有摄像头RTSP地址及目标服务器推流地址(如RTMP)。

ffmpeg -i "rtsp://摄像头地址" -c:v libx264 -preset ultrafast -tune zerolatency -c:a aac -f flv "rtmp://服务器地址/stream_key"

参数说明

  • -i "rtsp://摄像头地址":输入源为RTSP流。
  • -c:v libx264:视频编码为H.264。
  • -preset ultrafast:加快编码速度以适应实时性。
  • -tune zerolatency:降低延迟。
  • -c:a aac:音频编码为AAC(若需保留音频)。
  • -f flv:输出格式为FLV(兼容RTMP)。

优化与调试

降低延迟:添加-rtsp_transport tcp强制使用TCP传输(避免UDP丢包导致问题)。

ffmpeg -rtsp_transport tcp -i "rtsp://摄像头地址" -c:v libx264 -preset ultrafast -tune zerolatency -c:a aac -f flv "rtmp://服务器地址/stream_key"

视频参数调整:通过-b:v控制码率,-g设置关键帧间隔(如2秒)。

ffmpeg -i "rtsp://摄像头地址" -c:v libx264 -b:v 2000k -g 50 -preset ultrafast -tune zerolatency -f flv "rtmp://服务器地址/stream_key"

纯视频推流:若无需音频,添加-an关闭音频。

ffmpeg -i "rtsp://摄像头地址" -c:v libx264 -preset ultrafast -an -f flv "rtmp://服务器地址/stream_key"


后台运行与日志

后台运行:使用nohupscreen保持进程长期运行。

nohup ffmpeg -i "rtsp://摄像头地址" -c:v libx264 -preset ultrafast -f flv "rtmp://服务器地址/stream_key" > ffmpeg.log 2>&1 &

日志监控:通过tail -f实时查看日志。

tail -f ffmpeg.log


故障排查

检查RTSP可用性:先用ffplay测试摄像头流是否正常。

ffplay -rtsp_transport tcp "rtsp://摄像头地址"

服务器验证:使用推流工具(如OBS)测试服务器地址是否有效。

网络延迟:若出现卡顿,尝试降低分辨率或码率。

ffmpeg -i "rtsp://摄像头地址" -vf scale=640:360 -c:v libx264 -b:v 1000k -preset ultrafast -f flv "rtmp://服务器地址/stream_key"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值