FFmpeg录制RTSP流

本文详细解析了RTSP协议的参数配置,包括连接建立后的播放控制、传输方式选择、媒体类型过滤等关键设置。并通过实例展示了如何使用FFmpeg进行RTSP流的TCP传输,有效解决UDP传输中常见的丢包问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RTSP参数说明

执行以下命令,会输出RTSP相关的协议读取操作参数。

ffmpeg -h demuxer=RTSP
参数类型说明
initial_pause布尔建立连接后暂停播放
rtsp_transport标记

设置RTSP传输协议,具体如下:

  • udp: UDP
  • tcp: TCP
  • udp_multicast: UDP多播协议
  • http: HTTP隧道
rstp_flags标记

RTSP使用标记,如下:

  • filter_src: 只接收指定IP的流
  • listen: 设置为被动接收模式
  • prefer_tcp: TCP亲和模式,如果TCP可用则首选TCP传输
allowed_media_types标记

设置允许接收的数据模式(默认全部开启):

  • video: 只接收视频
  • audio: 只接收音频
  • data: 只接收数据
  • subtitle: 只接收字幕
min_port整数设置最小本地端口,默认5000
max_port整数设置最大本地UDP端口,默认65000
timeout整数设置监听端口超时时间
reorder整数设置处理重新排序的缓冲区包的个数
buffer_size整数设置底层传输包Buffer的大小
user-agent字符串用户客户端标识

RTSP参数使用举例

FFmpeg默认使用的RTSP拉流方式为UDP传输,为避免丢包导致的花屏、绿屏等问题,考虑将传输方式改为TCP。

ffmpeg -rstp_transport tcp -i rtsp://... -c copy -f mp4 output.mp4

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值