ffmpeg 以海康摄像机rtsp 流输入 输出hls 问题及原因

使用ffmpeg进行HLS切片时遇到问题,当输入为海康摄像机的rtsp流,ffmpeg命令无法实时输出切片文件,只有在中断时才输出所有文件。原因是海康rtsp流的SDP显示有音频流但实际上没有。在解析SDP时ffmpeg错误地认为有两路流,导致在av_interleaved_write_frame()中因音频流未到达而不输出。解决方案包括在解析SDP时准确判断流或在输出时强制设置flush为1。
摘要由CSDN通过智能技术生成

最近用ffmpeg 做hls 的切片 当用海康的摄像机做rtsp流输入:

ffmpeg 命令如下:ffmpeg -y -i "rtsp://220.178.65.131:554/hikvision://218.23.62.231:8000:0:1?username=admin&password=12345" -c:v copy -map 0:0 -flags -global_header -f segment -segment_list  playlist.m3u8  -segment_time 10 -segment_format mpeg_ts -segment_list_type m3u8  segment%05d.ts

问题:切片内容不能时事输出,除非收到中断(ctrl+c)才会输出所有的切片文件 和 m3u8文件。

原因:海康摄像机rtsp 流 返回的sdp 中显示有音频流的(而实际上是没有的)。下面 是 海康返回的SDP

v=0
o=- 1109162014219182 0 IN IP4 0.0.0.0
s=HIK Media Server
i=HIK Media Server Session Description : standard
e=NONE
c=IN IP4 0.0.0.0
t=0 0
a=control:*
a=range:npt=0.0-
m=video 0 RTP/AVP 96
i=Video media
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=4D0014;packetization-mode=0
a=control:trackID=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值