云计算百科
云计算领域专业知识百科平台

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"


后台运行与日志

后台运行:使用nohup或screen保持进程长期运行。

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"

赞(0)
未经允许不得转载:网硕互联帮助中心 » linux下使用FFmpeg实时转流(RTSP摄像头到服务器)方法
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!