[请问] ffmpeg rtsp stream to file

楼主: kuangs (kuangs)   2019-01-02 18:18:56
最近刚接触影音这块,在处理rtsp stream 转为 mp4 档案时遇到一个问题,
我有一个rtsp stream,我想用把这个stream 存成档案,
但发现ffmpeg会读不到stream的资料。
使用 ffmpeg 2.8.15
我有使用VLC来确定rtsp stream是可正常播放
并且使用其他的rtsp stream来验证功能是正常的
在VLC上两个stream 都可以正常播放
用VLC的Codec Info来观察了两个stream的差别发现些许不同
正常的stream:
Stream 0:
Type: Video
Codec: H264-MPEG-4 AVC(part 10)(h264)
Resolution: 1920x1080
Frame Rate: 24
Decoded format: Planar 4:2:0 YUV
无法读取的Stream :
Stream 0: // stream type 为AVMEDIA_TYPE_VIDEO
Type: Video
Codec: H264-MPEG-4 AVC(part 10)(h264)
Stream 1: //ffmpeg 会把这个stream type 认定为AVMEDIA_TYPE_DATA
Type: Video
Codec: H264-MPEG-4 AVC(part 10)(h264)
Resolution: 1920x1080
Frame Rate: 24
Decoded format: Planar 4:2:0 YUV
ffmpeg 会去读取 stream 0 但资料看起来是在stream 1 ??
有尝试直接用Stream 1 来当做是 video stream
但后续decode时会找不到decoder,回报错误
avcodec_find_decoder(av_dec_ctx->codec_id) //返回NULL
观察RTSP交换资讯的SDP里面看到 Stream 1 是
m=application 0 RTP/AVP 107
a=control:trackID=12
a=rtpmap:107 vnd.onvif.metadata/90000
所以ffmpeg 把 stream type 认定为 AVMEDIA_TYPE_DATA 似乎也没错??
有几个问题想请教
1. 请问有什么办法让ffmpeg 可以支援此种格式的rtsp stream ??
2. 什么原因导致两种stream 格式不相同??
作者: neidhart (茫茫天数此中求)   2019-02-07 09:53:00
VLC可读的话,直接用VLC save to file呢?

Links booklink

Contact Us: admin [ a t ] ucptt.com