[FFmpeg-trac] #7289(ffmpeg:new): Errors [mpegts Continuity check failed for pid ...]
FFmpeg
trac at avcodec.org
Fri Jun 29 15:01:30 EEST 2018
#7289: Errors [mpegts Continuity check failed for pid ...]
-------------------------------------+-------------------------------------
Reporter: jidckii | Type: defect
Status: new | Priority: normal
Component: ffmpeg | Version: git-
Keywords: mpegts | master
errors stream | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
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
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7289>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list