Opened 6 years ago

Closed 5 years ago

Last modified 5 years ago

#7289 closed defect (invalid)

Errors [mpegts Continuity check failed for pid ...]

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

Description

Hello.
What do the errors mean:
mpegts @ 0xf0e3c0] Continuity check failed for pid 17 expected 13 got 15

I'm trying to create a stream relay.
And so, I capture the stream over RTSP with my ip-cam and redirect its multicast address inside the linux bridge.

For the live action stream the following:
Capture with ip camera (first process) :

ffmpeg -v 48 -nostats -analyzeduration 20000000 -fflags igndts -fflags genpts -fflags latm 
              -max_delay 500000 -reorder_queue_size 10000 -rtsp_transport udp
              -r 15 -i rtsp://admin:@192.168.86.169:554/0?.sdp
              -map 0 -r 15 -c:v copy -an -f rtp_mpegts
              -max_interleave_delta 0 -fflags +discardcorrupt
              rtp://239.0.0.1:1234?ttl=1?pkt_size=1316
ffmpeg version N-90807-g00099ef Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
  configuration: --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-postproc --enable-small --enable-version3 --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib --extra-libs=-ldl --prefix=/opt/ffmpeg
  libavutil      56. 15.100 / 56. 15.100
  libavcodec     58. 19.100 / 58. 19.100
  libavformat    58. 13.100 / 58. 13.100
  libavdevice    58.  4.100 / 58.  4.100
  libavfilter     7. 19.100 /  7. 19.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '48'.
Reading option '-nostats' ... matched as option 'stats' (print progress report during encoding) with argument 0.
Reading option '-analyzeduration' ... matched as AVOption 'analyzeduration' with argument '20000000'.
Reading option '-fflags' ... matched as AVOption 'fflags' with argument 'igndts'.
Reading option '-fflags' ... matched as AVOption 'fflags' with argument 'genpts'.
Reading option '-fflags' ... matched as AVOption 'fflags' with argument 'latm'.
Reading option '-max_delay' ... matched as AVOption 'max_delay' with argument '500000'.
Reading option '-reorder_queue_size' ... matched as AVOption 'reorder_queue_size' with argument '10000'.
Reading option '-rtsp_transport' ... matched as AVOption 'rtsp_transport' with argument 'udp'.
Reading option '-r' ... matched as option 'r' (set frame rate (Hz value, fraction or abbreviation)) with argument '15'.
Reading option '-i' ... matched as input url with argument 'rtsp://admin:@192.168.86.169:554/0?.sdp'.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0'.
Reading option '-r' ... matched as option 'r' (set frame rate (Hz value, fraction or abbreviation)) with argument '15'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'.
Reading option '-an' ... matched as option 'an' (disable audio) with argument '1'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'rtp_mpegts'.
Reading option '-max_interleave_delta' ... matched as AVOption 'max_interleave_delta' with argument '0'.
Reading option '-fflags' ... matched as AVOption 'fflags' with argument '+discardcorrupt'.
Reading option 'rtp://239.0.0.1:1234?ttl=1?pkt_size=1316' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 48.
Applying option nostats (print progress report during encoding) with argument 0.
Successfully parsed a group of options.
Parsing a group of options: input url rtsp://admin:@192.168.86.169:554/0?.sdp.
Applying option r (set frame rate (Hz value, fraction or abbreviation)) with argument 15.
Successfully parsed a group of options.
Opening an input file: rtsp://admin:@192.168.86.169:554/0?.sdp.
[tcp @ 0x129d980] No default whitelist set
[rtsp @ 0x129d200] SDP:
v=0
o=- 38990265062388 38990265062388 IN IP4 192.168.86.169
s=RTSP Session
c=IN IP4 192.168.86.169
t=0 0
a=control:*
a=range:npt=0-
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000 
a=range:npt=0-
a=framerate:0S
a=fmtp:96 profile-level-id=4d002a; packetization-mode=1; sprop-parameter-sets=Z00AKp2oHgCJ+WbgICAoAAADAAgAAAMA9CA=,aO48gA==
a=framerate:25
a=control:trackID=3
m=audio 0 RTP/AVP 8
a=control:trackID=4

Failed to parse interval end specification ''
[rtsp @ 0x129d200] video codec set to: h264
Failed to parse interval end specification ''
[rtsp @ 0x129d200] RTP Profile IDC: 4d Profile IOP: 0 Level: 2a
[rtsp @ 0x129d200] RTP Packetization Mode: 1
[rtsp @ 0x129d200] Extradata set to 0x129ce60 (size: 38)
[rtp @ 0x129fe40] No default whitelist set
[udp @ 0x12a2480] No default whitelist set
[udp @ 0x12a2480] end receive buffer size reported is 131072
[udp @ 0x129f740] No default whitelist set
[udp @ 0x129f740] end receive buffer size reported is 131072
[rtsp @ 0x129d200] setting jitter buffer size to 10000
[rtp @ 0x12c2940] No default whitelist set
[udp @ 0x129ff00] No default whitelist set
[udp @ 0x129ff00] end receive buffer size reported is 131072
[udp @ 0x129f8c0] No default whitelist set
[udp @ 0x129f8c0] end receive buffer size reported is 131072
[rtsp @ 0x129d200] setting jitter buffer size to 10000
[rtsp @ 0x129d200] hello state=0
[h264 @ 0x12a0dc0] nal_unit_type: 7, nal_ref_idc: 3
[h264 @ 0x12a0dc0] nal_unit_type: 8, nal_ref_idc: 3
[h264 @ 0x12a0dc0] nal_unit_type: 7, nal_ref_idc: 3
[h264 @ 0x12a0dc0] nal_unit_type: 8, nal_ref_idc: 3
[h264 @ 0x12a0dc0] unknown SEI type 229
[h264 @ 0x12a0dc0] nal_unit_type: 7, nal_ref_idc: 3
[h264 @ 0x12a0dc0] nal_unit_type: 8, nal_ref_idc: 3
[h264 @ 0x12a0dc0] nal_unit_type: 6, nal_ref_idc: 0
[h264 @ 0x12a0dc0] nal_unit_type: 5, nal_ref_idc: 3
[h264 @ 0x12a0dc0] unknown SEI type 229
[h264 @ 0x12a0dc0] Format yuvj420p chosen by get_format().
[h264 @ 0x12a0dc0] Reinit context to 1920x1088, pix_fmt: yuvj420p
[h264 @ 0x12a0dc0] nal_unit_type: 1, nal_ref_idc: 3
    Last message repeated 5 times
[h264 @ 0x12a0dc0] unknown SEI type 229
[rtsp @ 0x129d200] All info found
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://admin:@192.168.86.169:554/0?.sdp':
  Metadata:
    title           : RTSP Session
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0, 28, 1/90000: Video: h264, 1 reference frame, yuvj420p(pc, bt709, progressive, left), 1920x1080 (1920x1088), 0/1, 15 fps, 15 tbr, 90k tbn, 30 tbc
    Stream #0:1, 94, 1/8000: Audio: pcm_alaw, 8000 Hz, mono, s16, 64 kb/s
Successfully opened the file.
Parsing a group of options: output url rtp://239.0.0.1:1234?ttl=1?pkt_size=1316.
Applying option map (set input stream mapping) with argument 0.
Applying option r (set frame rate (Hz value, fraction or abbreviation)) with argument 15.
Applying option c:v (codec name) with argument copy.
Applying option an (disable audio) with argument 1.
Applying option f (force format) with argument rtp_mpegts.
Successfully parsed a group of options.
Opening an output file: rtp://239.0.0.1:1234?ttl=1?pkt_size=1316.
[rtp @ 0x14343c0] No default whitelist set
[udp @ 0x14b0140] No default whitelist set
[udp @ 0x12e3500] No default whitelist set
Successfully opened the file.
[mpegts @ 0x1302100] muxrate VBR, pcr every 1 pkts, sdt every 200, pat/pmt every 40 pkts
Output #0, rtp_mpegts, to 'rtp://239.0.0.1:1234?ttl=1?pkt_size=1316':
  Metadata:
    title           : RTSP Session
    encoder         : Lavf58.13.100
    Stream #0:0, 0, 1/90000: Video: h264, 1 reference frame, yuvj420p(pc, bt709, progressive, left), 1920x1080 (0x0), 0/1, q=2-31, 15 fps, 15 tbr, 90k tbn, 15 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
    Last message repeated 4 times
[rtp_mpegts @ 0x12ffdc0] Non-monotonous DTS in output stream 0:0; previous: 36000, current: 6000; changing to 36001. This may result in incorrect timestamps in the output file.
[rtp_mpegts @ 0x12ffdc0] Non-monotonous DTS in output stream 0:0; previous: 36001, current: 12000; changing to 36002. This may result in incorrect timestamps in the output file.
[rtp_mpegts @ 0x12ffdc0] Non-monotonous DTS in output stream 0:0; previous: 36002, current: 18000; changing to 36003. This may result in incorrect timestamps in the output file.
[rtp_mpegts @ 0x12ffdc0] Non-monotonous DTS in output stream 0:0; previous: 36003, current: 24000; changing to 36004. This may result in incorrect timestamps in the output file.
[rtp_mpegts @ 0x12ffdc0] Non-monotonous DTS in output stream 0:0; previous: 36004, current: 30000; changing to 36005. This may result in incorrect timestamps in the output file.
[rtp_mpegts @ 0x12ffdc0] Non-monotonous DTS in output stream 0:0; previous: 36005, current: 36000; changing to 36006. This may result in incorrect timestamps in the output file.
[NULL @ 0x12a0dc0] unknown SEI type 229
    Last message repeated 2451 times
[rtsp @ 0x129d200] max delay reached. need to consume packet
[rtsp @ 0x129d200] RTP: missed 2 packets
[rtsp @ 0x129d200] max delay reached. need to consume packet
[rtsp @ 0x129d200] RTP: missed 6 packets
[NULL @ 0x12a0dc0] unknown SEI type 229
    Last message repeated 284 times
[rtsp @ 0x129d200] max delay reached. need to consume packet
[rtsp @ 0x129d200] RTP: missed 3 packets
[NULL @ 0x12a0dc0] unknown SEI type 229

Sometimes RTP packets are being crashed, but this is not the main problem.

NEXT

Capture from first the stream and redirect to hls (second process):

ffmpeg -v 48 -nostats -analyzeduration 10000000 -fflags igndts -max_delay 0  
              -i cache:rtp://239.0.0.1:1234
              -map 0 -r 15 -c:v copy -an 
              -f hls -max_delay 10000000 -max_interleave_delta 0 -fflags +discardcorrupt
              -hls_time 3 -hls_list_size 15 -hls_flags delete_segments -use_localtime 1 
              -hls_segment_filename "%Y%m%d_%H%M%S-%s.ts" 
              cam01.m3u8

and here constantly appear errors

[mpegts @ 0xf0e3c0] Continuity check failed for pid 17 expected 6 got 8
[mpegts @ 0xf0e3c0] Continuity check failed for pid 256 expected 10 got 8
[mpegts @ 0xf0e3c0] Continuity check failed for pid 0 expected 10 got 5
[mpegts @ 0xf0e3c0] Continuity check failed for pid 4096 expected 10 got 5
[mpegts @ 0xf0e3c0] Continuity check failed for pid 17 expected 7 got 10
[mpegts @ 0xf0e3c0] Continuity check failed for pid 256 expected 7 got 4
[mpegts @ 0xf0e3c0] Continuity check failed for pid 0 expected 11 got 6
[mpegts @ 0xf0e3c0] Continuity check failed for pid 4096 expected 11 got 6
[mpegts @ 0xf0e3c0] Continuity check failed for pid 17 expected 13 got 15

full outpu in file cam01_hls.txt

Attachments (1)

cam01_hls.txt (260.1 KB ) - added by jidckii 6 years ago.
cam01_hls.txt

Download all attachments as: .zip

Change History (4)

by jidckii, 6 years ago

Attachment: cam01_hls.txt added

cam01_hls.txt

comment:1 by jidckii, 6 years ago

In the moments of these errors, video frames deteriorate.

comment:2 by jidckii, 5 years ago

Resolution: fixed
Status: newclosed

The problem was that the output interface was a linux bridge, and the packet queue was not working in it.

comment:3 by llogan, 5 years ago

Component: ffmpegundetermined
Keywords: errors stream removed
Resolution: fixedinvalid
Note: See TracTickets for help on using tickets.