Opened 11 years ago

Last modified 11 years ago

#2039 new defect

ONVIF metadata read failure in Avigilon camera?

Reported by: ati Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: rtsp h264
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

I have an "Avigilon 2.0MP-HD-H264-B1" h264 camera, and I cannot get the
rtsp video stream from it, due to some errors. Maybe the errors come
from the ONVIF metadata stream.
I`ve attached the output file of the command:
$ ffprobe -report rtsp://admin:admin@192.168.0.213/defaultPrimary

-I've tried this also, but the result is the same:
$ ffprobe -report -analyzeduration 100000000 -probesize 2000000000 rtsp://admin:admin@192.168.0.213/defaultPrimary

-The camera works well with VLC.

-Could be the problem from the Stream #0:2 which is a data stream?
The camera sends ONVIF xml texts in this stream.

-When I try to play that stream with Totem(2.30.2), it gives this error (maybe
this is helpful):
"The playback of this movie requires a VND.ONVIF.METADATA RTP depayloader plugin which is not installed."


$ ffprobe -report rtsp://admin:admin@192.168.0.213/defaultPrimary

ffprobe started on 2012-12-17 at 11:56:34
Report written to "ffprobe-20121217-115634.log"
Command line:
ffprobe -report rtsp://admin:admin@192.168.0.213/defaultPrimary
ffprobe version N-47911-g2e59142 Copyright (c) 2007-2012 the FFmpeg developers

built on Dec 17 2012 11:42:48 with gcc 4.4.5 (Debian 4.4.5-8)
configuration: --enable-shared --disable-static
libavutil 52. 12.100 / 52. 12.100
libavcodec 54. 80.100 / 54. 80.100
libavformat 54. 49.102 / 54. 49.102
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 27.102 / 3. 27.102
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102

[rtsp @ 0x806a3a0] SDP:
v=0
o=- 1293840018232 1293840018232 IN IP4 192.168.0.213
s=Live
t=0 0
m=audio 0 RTP/AVP 0
c=IN IP4 192.168.0.213
c=IN IP4 224.3.3.5
a=control:rtsp://192.168.0.213/defaultPrimary/mic0/trackID=1
m=video 0 RTP/AVP 96
c=IN IP4 192.168.0.213
c=IN IP4 224.3.3.3
a=control:rtsp://192.168.0.213/defaultPrimary/cam0/trackID=1
a=fmtp:96 packetization-mode=0; profile-level-id=42A01E; sprop-parameter-sets=J01AH42NKBaHt/4AQAA21BgYGQAAAwPoAADDUOhAB08AAQcau8uNCADp4AAg41d5cE+iwA==,KO48gA==
a=rtpmap:96 H264/90000
a=x-avg-params:96 source-height=1080; source-width=1920
m=application 0 RTP/AVP 98
c=IN IP4 192.168.0.213
c=IN IP4 224.3.3.6
a=control:rtsp://192.168.0.213/defaultPrimary/metadata/trackID=1
a=rtpmap:98 vnd.onvif.metadata/90000

[rtsp @ 0x806a3a0] video codec set to: h264
[rtsp @ 0x806a3a0] hello state=0
[h264 @ 0x8078b80] non-existing PPS referenced
[h264 @ 0x8078b80] non-existing PPS 0 referenced
[h264 @ 0x8078b80] decode_slice_header error
[h264 @ 0x8078b80] no frame!
[h264 @ 0x8078b80] non-existing PPS referenced
[h264 @ 0x8078b80] non-existing PPS 0 referenced
[h264 @ 0x8078b80] decode_slice_header error
[h264 @ 0x8078b80] no frame!
...
[h264 @ 0x8078b80] non-existing PPS referenced
[h264 @ 0x8078b80] non-existing PPS 0 referenced
[h264 @ 0x8078b80] decode_slice_header error
[h264 @ 0x8078b80] no frame!
[rtsp @ 0x806a3a0] Non-increasing DTS in stream 2: packet 7 with DTS 39728541624, packet 8 with DTS 39728541624
[h264 @ 0x8078b80] non-existing PPS referenced
[h264 @ 0x8078b80] non-existing PPS 0 referenced
[h264 @ 0x8078b80] decode_slice_header error
[h264 @ 0x8078b80] no frame!
...
[h264 @ 0x8078b80] non-existing PPS referenced
[h264 @ 0x8078b80] non-existing PPS 0 referenced
[h264 @ 0x8078b80] decode_slice_header error
[h264 @ 0x8078b80] no frame!
[rtsp @ 0x806a3a0] Non-increasing DTS in stream 2: packet 14 with DTS 39728631913, packet 15 with DTS 39728631913
[h264 @ 0x8078b80] non-existing PPS referenced
[h264 @ 0x8078b80] non-existing PPS 0 referenced
[h264 @ 0x8078b80] decode_slice_header error
[h264 @ 0x8078b80] no frame!
...
[h264 @ 0x8078b80] non-existing PPS referenced
[h264 @ 0x8078b80] non-existing PPS 0 referenced
[h264 @ 0x8078b80] decode_slice_header error
[h264 @ 0x8078b80] no frame!
[rtsp @ 0x806a3a0] Non-increasing DTS in stream 2: packet 21 with DTS 39728722438, packet 22 with DTS 39728722438
[h264 @ 0x8078b80] non-existing PPS referenced
[h264 @ 0x8078b80] non-existing PPS 0 referenced
[h264 @ 0x8078b80] decode_slice_header error
[h264 @ 0x8078b80] no frame!
...
[h264 @ 0x8078b80] non-existing PPS referenced
[h264 @ 0x8078b80] non-existing PPS 0 referenced
[h264 @ 0x8078b80] decode_slice_header error
[h264 @ 0x8078b80] no frame!
[rtsp @ 0x806a3a0] Non-increasing DTS in stream 2: packet 29 with DTS 39728812454, packet 30 with DTS 39728812454
[h264 @ 0x8078b80] non-existing PPS referenced
[h264 @ 0x8078b80] non-existing PPS 0 referenced
[h264 @ 0x8078b80] decode_slice_header error
[h264 @ 0x8078b80] no frame!
...
[h264 @ 0x8078b80] non-existing PPS referenced
[h264 @ 0x8078b80] non-existing PPS 0 referenced
[h264 @ 0x8078b80] decode_slice_header error
[h264 @ 0x8078b80] no frame!
[rtsp @ 0x806a3a0] max_analyze_duration 5000000 reached at 5000000
[rtsp @ 0x806a3a0] decoding for stream 1 failed
[rtsp @ 0x806a3a0] Could not find codec parameters for stream 1 (Video: h264): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[rtsp @ 0x806a3a0] Estimating duration from bitrate, this may be inaccurate
[rtsp @ 0x806a3a0] Ignoring outlier non primary stream starttime 441427.197411
Input #0, rtsp, from 'rtsp://admin:admin@192.168.0.213/defaultPrimary':

Metadata:

title : Live

Duration: N/A, start: 536870.733375, bitrate: 64 kb/s

Stream #0:0, 252, 1/8000: Audio: pcm_mulaw, 8000 Hz, 1 channels, s16, 64 kb/s
Stream #0:1, 123, 1/90000: Video: h264, 90k tbr, 90k tbn, 180k tbc
Stream #0:2, 35, 1/90000: Data: none

[h264 @ 0x8078b80] detected 2 logical cores
Unsupported codec with id 0 for input stream 2

Attachments (4)

avigilon.fr0 (40.9 KB ) - added by ati 11 years ago.
avigilon.fr1 (21.1 KB ) - added by ati 11 years ago.
avigilon.fr2 (35.5 KB ) - added by ati 11 years ago.
avigilon.fr3 (19.9 KB ) - added by ati 11 years ago.

Download all attachments as: .zip

Change History (10)

comment:1 by Carl Eugen Hoyos, 11 years ago

Component: FFprobeundetermined
Keywords: rtsp h264 added

Is this really only reproducible with ffprobe or also with "ffmpeg -i ..."? (ie, does ffmpeg also only show "Video: h264, 90k tbr, 90k tbn, 180k tbc" without resolution, colour space etc.?)
You should only provide ffprobe output for specific ffprobe tickets, for all problems that are reproducible with ffmpeg, ffplay, etc. only ffmpeg output is needed.

comment:2 by ati, 11 years ago

Yes, you are right, I can reproduce this with "ffmpeg -i .." also. Further, when I try with own software using libav*, the above message issued when executing avformat_find_stream_info() function.
The message is the same in all 3 cases, and it only show "Video: h264, 90k tbr, 90k tbn, 180k tbc" without other parameters.

When I try with own software, after getting the above messages, I can read the 3 streams (audio, video, data) with av_read_frame(). The audio seems OK, at least by the frame size. The data stream is a correct xml stream. The frame sizes of the video stream seems OK also, but gives errors when executing avcodec_decode_video2(), but I think the problem is before this stage, around avformat_find_stream_info().

I can send the first video frame (which is an I frame) getted by av_read_frame(), if it helps.

comment:3 by Carl Eugen Hoyos, 11 years ago

I don't know if it helps, but please provide the first few frames.

by ati, 11 years ago

Attachment: avigilon.fr0 added

by ati, 11 years ago

Attachment: avigilon.fr1 added

by ati, 11 years ago

Attachment: avigilon.fr2 added

by ati, 11 years ago

Attachment: avigilon.fr3 added

comment:4 by ati, 11 years ago

Component: undeterminedFFprobe

I've attached avigilon.fr[0..3] frames. The first and the third are I frames, since I set the I frame interval to 2 in the camera.

comment:5 by ati, 11 years ago

Component: FFprobeundetermined

comment:6 by bhlowe@gmail.com, 11 years ago

I am seeing this same behavior on a Vivotek camera.
This URL works in VLC, but not ffprobe:
rtsp://173.164.248.33:5561/live2.sdp

My setup is:

built on Apr 9 2013 21:19:07 with gcc 4.6.3 (GCC) 20120306 (Red Hat 4.6.3-2)

configuration:
libavutil 52. 25.100 / 52. 25.100
libavcodec 55. 2.100 / 55. 2.100
libavformat 55. 1.100 / 55. 1.100
libavdevice 55. 0.100 / 55. 0.100
libavfilter 3. 49.101 / 3. 49.101
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102

[rtsp @ 0x2a3fea0] Could not find codec parameters for stream 0 (Video: h264): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
rtsp://viewer:viewer@bhlowe.dyndns.org:5561/live2.sdp: Operation not permitted

Note: See TracTickets for help on using tickets.