Opened 9 years ago
Last modified 9 years ago
#5197 new defect
Issues receving rtp_mpegts sources
Reported by: | svyatko | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | rtp |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
Using static build 2.8.5 I can happily send out a multicast stream using rtp_mpegts muxer, but receiving this same stream doesn't work properly.
I have tried the following receiving options :
./ffmpeg -i rtp://239.10.10.10:5000 gives me these errors:
Input #0, rtp, from 'rtp://239.10.10.10:5000': Duration: N/A, start: 623.210667, bitrate: N/A Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 25 tbr, 90k tbn, 50 tbc Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 119 kb/s Output #0, mpegts, to 'udp://238.44.100.100:10000': Metadata: encoder : Lavf56.40.101 Stream #0:0: Video: h264 ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 tbr, 90k tbn, 90k tbc Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, 119 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help RTP: missed 36 packets RTP: missed 9 packets RTP: missed 41 packets-1.0 size= 2083kB time=00:00:02.96 bitrate=5754.1kbits/s RTP: missed 17 packets RTP: missed 43 packets RTP: missed 24 packets-1.0 size= 2375kB time=00:00:03.47 bitrate=5593.3kbits/s RTP: missed 4 packets RTP: missed 20 packets RTP: missed 7 packets RTP: missed 11 packets-1.0 size= 2646kB time=00:00:03.99 bitrate=5420.0kbits/s RTP: missed 9 packets RTP: missed 15 packets-1.0 size= 2890kB time=00:00:04.51 bitrate=5239.6kbits/s RTP: missed 19 packets Last message repeated 1 times RTP: missed 17 packets-1.0 size= 3426kB time=00:00:05.15 bitrate=5441.2kbits/s RTP: missed 6 packets RTP: missed 7 packets
./ffmpeg -f mpegts -i rtp://239.10.10.10:5000 gives me the following errors:
[mpegts @ 0x45cf360] PES packet size mismatch Input #0, mpegts, from 'rtp://239.10.10.10:5000' Duration: N/A, start: 1737.615600, bitrate: N/A Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 128 kb/s Output #0, mpegts, to 'udp://238.44.100.100:10000': Metadata: encoder : Lavf56.40.101 Stream #0:0: Video: h264 ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 90k tbn, 90k tbc Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, 128 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help [mpegts @ 0x4a43f40] AAC bitstream not in ADTS format and extradata missing [mpegts @ 0x45cf360] PES packet size mismatchme=00:00:14.99 bitrate=4317.5kbits/s [mpegts @ 0x4a43f40] AAC bitstream not in ADTS format and extradata missing Last message repeated 1 times [mpegts @ 0x45cf360] PES packet size mismatch
How to reproduce:
Create your RTP_MPEGTS source from a local udp multicast:
'''./ffmpeg -i udp://238.44.100.1:5000 -c:v copy -c:a copy -f rtp_mpegts rtp://239.10.10.10:5200''' ffmpeg version 2.8.5-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.9.3 (Debian 4.9.3-10) configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --disable-indev=sndio --disable-outdev=sndio --cc=gcc-4.9 libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100
Setup your receiving end specifying the type of the RTP:
./ffmpeg -f mpegts -i rtp://239.10.10.10:5200 -c:v copy -c:a copy -f mpegts udp://238.100.100.100:10000 ffmpeg version 2.8.5-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.9.3 (Debian 4.9.3-10) configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --disable-indev=sndio --disable-outdev=sndio --cc=gcc-4.9 libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100
Setup your receiving end without specifying the type of the RTP:
./ffmpeg -i rtp://239.10.10.10:5200 -c:v copy -c:a copy -f mpegts udp://238.44.100.100:10000 ffmpeg version 2.8.5-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.9.3 (Debian 4.9.3-10) configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --disable-indev=sndio --disable-outdev=sndio --cc=gcc-4.9 libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100
Am i missing something here ? FFMPEG still doesn't seem to demux RTP mpegts packets properly.
Since there was an RTP_MPEGTS muxer added in 2.6, can this not be brought to the demuxing side ?
Thanks
Svyatko
Change History (2)
comment:1 by , 9 years ago
Component: | ffmpeg → undetermined |
---|---|
Keywords: | rtp added; rtp_mpegts removed |
Priority: | important → normal |
comment:2 by , 9 years ago
Hiya.
As requested, i have used the latest git head, and reran the tests as follow:
- Test 1:
- Use -f lavfi -i testsrc -f lavfi -i sine as a source + generate -f rtp_mpegts output.
- Receive -i rtp:// from the sender and output to /dev/null
- Use -f lavfi -i testsrc -f lavfi -i sine as a source + generate -f rtp_mpegts output.
This test shown positive results, i was not getting any issues on the Receiver side.
FFMPEG_Sender:
[root@FFMPEG_RECEIVER ffmpeg]# ./ffmpeg -y -i rtp://238.44.100.1:5200 -c:v copy -c:a copy -f mpegts /dev/null ffmpeg version N-78152-g27f1ea5 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4) configuration: --arch=x86_64 --enable-static --disable-shared --disable-doc --disable-ffplay --enable-ffprobe --disable-ffserver --enable-version3 --enable-gpl --enable-nonfree --enable-pthreads --enable-postproc --enable-swscale --enable-avfilter --enable-runtime-cpudetect libavutil 55. 16.100 / 55. 16.100 libavcodec 57. 22.102 / 57. 22.102 libavformat 57. 23.100 / 57. 23.100 libavdevice 57. 0.100 / 57. 0.100 libavfilter 6. 27.100 / 6. 27.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 [NULL @ 0x35b1b40] time_increment_bits 0 is invalid in relation to the current bitstream, this is likely caused by a missing VOL header [NULL @ 0x35b1b40] time_increment_bits set to 5 bits, based on bitstream analysis [mpeg4 @ 0x35b1b40] time_increment_bits 4 is invalid in relation to the current bitstream, this is likely caused by a missing VOL header [mpeg4 @ 0x35b1b40] time_increment_bits set to 5 bits, based on bitstream analysis [mpeg4 @ 0x35b1b40] looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag [mpeg4 @ 0x35b1b40] [IMGUTILS @ 0x7ffc468752c0] Picture size 0x0 is invalid [mpeg4 @ 0x35b1b40] video_get_buffer: image parameters invalid [mpeg4 @ 0x35b1b40] get_buffer() failed [mpeg4 @ 0x35b1b40] thread_get_buffer() failed [mpeg4 @ 0x35b1b40] get_buffer() failed (-22 (nil)) [mpeg4 @ 0x35b1b40] [IMGUTILS @ 0x7ffc468752c0] Picture size 0x0 is invalid [mpeg4 @ 0x35b1b40] video_get_buffer: image parameters invalid [mpeg4 @ 0x35b1b40] get_buffer() failed [mpeg4 @ 0x35b1b40] thread_get_buffer() failed [mpeg4 @ 0x35b1b40] get_buffer() failed (-22 (nil)) [mpeg4 @ 0x35b1b40] [IMGUTILS @ 0x7ffc468752c0] Picture size 0x0 is invalid [mpeg4 @ 0x35b1b40] video_get_buffer: image parameters invalid [mpeg4 @ 0x35b1b40] get_buffer() failed [mpeg4 @ 0x35b1b40] thread_get_buffer() failed [mpeg4 @ 0x35b1b40] get_buffer() failed (-22 (nil)) [mpeg4 @ 0x35b1b40] [IMGUTILS @ 0x7ffc468752c0] Picture size 0x0 is invalid [mpeg4 @ 0x35b1b40] video_get_buffer: image parameters invalid [mpeg4 @ 0x35b1b40] get_buffer() failed [mpeg4 @ 0x35b1b40] thread_get_buffer() failed [mpeg4 @ 0x35b1b40] get_buffer() failed (-22 (nil)) [mpeg4 @ 0x35b1b40] [IMGUTILS @ 0x7ffc468752c0] Picture size 0x0 is invalid [mpeg4 @ 0x35b1b40] video_get_buffer: image parameters invalid [mpeg4 @ 0x35b1b40] get_buffer() failed [mpeg4 @ 0x35b1b40] thread_get_buffer() failed [mpeg4 @ 0x35b1b40] get_buffer() failed (-22 (nil)) [mpeg4 @ 0x35b1b40] [IMGUTILS @ 0x7ffc468752c0] Picture size 0x0 is invalid [mpeg4 @ 0x35b1b40] video_get_buffer: image parameters invalid [mpeg4 @ 0x35b1b40] get_buffer() failed [mpeg4 @ 0x35b1b40] thread_get_buffer() failed [mpeg4 @ 0x35b1b40] get_buffer() failed (-22 (nil)) Input #0, rtp, from 'rtp://238.44.100.1:5200': Duration: N/A, start: 4217.307911, bitrate: N/A Program 1 Stream #0:1: Video: mpeg4 (Simple Profile) ([16][0][0][0] / 0x0010), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 25 tbc Stream #0:0: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, mono, fltp, 129 kb/s Output #0, mpegts, to '/dev/null': Metadata: encoder : Lavf57.23.100 Stream #0:0: Video: mpeg4 ([16][0][0][0] / 0x0010), yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 25 fps, 25 tbr, 90k tbn, 90k tbc Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, mono, 129 kb/s Stream mapping: Stream #0:1 -> #0:0 (copy) Stream #0:0 -> #0:1 (copy) Press [q] to stop, [?] for help frame=230654 fps=441 q=-1.0 Lsize= 434468kB time=02:33:46.55 bitrate= 385.8kbits/s speed=17.6x
FFMPEG Receiver:
[root@FFMPEG_RECEIVER ffmpeg]# ./ffmpeg -y -v debug -i rtp://238.44.100.1:5200 -c:v copy -c:a copy -f mpegts /dev/null ffmpeg version N-78152-g27f1ea5 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4) configuration: --arch=x86_64 --enable-static --disable-shared --disable-doc --disable-ffplay --enable-ffprobe --disable-ffserver --enable-version3 --enable-gpl --enable-nonfree --enable-pthreads --enable-postproc --enable-swscale --enable-avfilter --enable-runtime-cpudetect libavutil 55. 16.100 / 55. 16.100 libavcodec 57. 22.102 / 57. 22.102 libavformat 57. 23.100 / 57. 23.100 libavdevice 57. 0.100 / 57. 0.100 libavfilter 6. 27.100 / 6. 27.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 Splitting the commandline. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'. Reading option '-i' ... matched as input file with argument 'rtp://238.44.100.1:5200'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'. Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'copy'. Reading option '-f' ... matched as option 'f' (force format) with argument 'mpegts'. Reading option '/dev/null' ... matched as output file. Finished splitting the commandline. Parsing a group of options: global . Applying option y (overwrite output files) with argument 1. Applying option v (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input file rtp://238.44.100.1:5200. Successfully parsed a group of options. Opening an input file: rtp://238.44.100.1:5200. [udp @ 0x23a5700] end receive buffer size reported is 131072 [udp @ 0x23b59e0] end receive buffer size reported is 131072 [rtp @ 0x23a3420] SDP: v=0 c=IN IP4 238.44.100.1 m=application 5200 RTP/AVP 33 [udp @ 0x23a5920] end receive buffer size reported is 131072 [udp @ 0x23a5740] end receive buffer size reported is 131072 setting jitter buffer size to 500 [rtp @ 0x23a3420] stream=0 stream_type=10 pid=100 prog_reg_desc= [rtp @ 0x23a3420] stream=1 stream_type=f pid=101 prog_reg_desc= [rtp @ 0x23a3420] All programs have pmt, headers found [NULL @ 0x23a7560] time_increment_bits 0 is invalid in relation to the current bitstream, this is likely caused by a missing VOL header [NULL @ 0x23a7560] time_increment_bits set to 5 bits, based on bitstream analysis [mpeg4 @ 0x23a7560] time_increment_bits 4 is invalid in relation to the current bitstream, this is likely caused by a missing VOL header [mpeg4 @ 0x23a7560] time_increment_bits set to 5 bits, based on bitstream analysis [mpeg4 @ 0x23a7560] looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag [mpeg4 @ 0x23a7560] [IMGUTILS @ 0x7ffe5b2ff910] Picture size 0x0 is invalid [mpeg4 @ 0x23a7560] video_get_buffer: image parameters invalid [mpeg4 @ 0x23a7560] get_buffer() failed [mpeg4 @ 0x23a7560] thread_get_buffer() failed [mpeg4 @ 0x23a7560] get_buffer() failed (-22 (nil)) [rtp @ 0x23a3420] invalid dts/pts combination 21879290 [mpeg4 @ 0x23a7560] [IMGUTILS @ 0x7ffe5b2ff910] Picture size 0x0 is invalid [mpeg4 @ 0x23a7560] video_get_buffer: image parameters invalid [mpeg4 @ 0x23a7560] get_buffer() failed [mpeg4 @ 0x23a7560] thread_get_buffer() failed [mpeg4 @ 0x23a7560] get_buffer() failed (-22 (nil)) [rtp @ 0x23a3420] invalid dts/pts combination 21882890 [mpeg4 @ 0x23a7560] [IMGUTILS @ 0x7ffe5b2ff910] Picture size 0x0 is invalid [mpeg4 @ 0x23a7560] video_get_buffer: image parameters invalid [mpeg4 @ 0x23a7560] get_buffer() failed [mpeg4 @ 0x23a7560] thread_get_buffer() failed [mpeg4 @ 0x23a7560] get_buffer() failed (-22 (nil)) [rtp @ 0x23a3420] invalid dts/pts combination 21886490 [mpeg4 @ 0x23a7560] [IMGUTILS @ 0x7ffe5b2ff910] Picture size 0x0 is invalid [mpeg4 @ 0x23a7560] video_get_buffer: image parameters invalid [mpeg4 @ 0x23a7560] get_buffer() failed [mpeg4 @ 0x23a7560] thread_get_buffer() failed [mpeg4 @ 0x23a7560] get_buffer() failed (-22 (nil)) [rtp @ 0x23a3420] invalid dts/pts combination 21890090 [mpeg4 @ 0x23a7560] [IMGUTILS @ 0x7ffe5b2ff910] Picture size 0x0 is invalid [mpeg4 @ 0x23a7560] video_get_buffer: image parameters invalid [mpeg4 @ 0x23a7560] get_buffer() failed [mpeg4 @ 0x23a7560] thread_get_buffer() failed [mpeg4 @ 0x23a7560] get_buffer() failed (-22 (nil)) [rtp @ 0x23a3420] invalid dts/pts combination 21893690 [mpeg4 @ 0x23a7560] [IMGUTILS @ 0x7ffe5b2ff910] Picture size 0x0 is invalid [mpeg4 @ 0x23a7560] video_get_buffer: image parameters invalid [mpeg4 @ 0x23a7560] get_buffer() failed [mpeg4 @ 0x23a7560] thread_get_buffer() failed [mpeg4 @ 0x23a7560] get_buffer() failed (-22 (nil)) [rtp @ 0x23a3420] invalid dts/pts combination 21897290 [mpeg4 @ 0x23a7560] [IMGUTILS @ 0x7ffe5b2ff910] Picture size 0x0 is invalid [mpeg4 @ 0x23a7560] video_get_buffer: image parameters invalid [mpeg4 @ 0x23a7560] get_buffer() failed [mpeg4 @ 0x23a7560] thread_get_buffer() failed [mpeg4 @ 0x23a7560] get_buffer() failed (-22 (nil)) [rtp @ 0x23a3420] All info found Input #0, rtp, from 'rtp://238.44.100.1:5200': Duration: N/A, start: 243.026911, bitrate: N/A Program 1 Stream #0:0, 8, 1/90000: Video: mpeg4 (Simple Profile), 1 reference frame ([16][0][0][0] / 0x0010), yuv420p(left), 320x240 [SAR 1:1 DAR 4:3], 1/25, 25 fps, 25 tbr, 90k tbn, 25 tbc Stream #0:1, 14, 1/90000: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, mono, fltp, 132 kb/s Successfully opened the file. Parsing a group of options: output file /dev/null. Applying option c:v (codec name) with argument copy. Applying option c:a (codec name) with argument copy. Applying option f (force format) with argument mpegts. Successfully parsed a group of options. Opening an output file: /dev/null. Successfully opened the file. [mpegts @ 0x2434520] muxrate VBR, pcr every 9000 pkts, sdt every 200, pat/pmt every 40 pkts Output #0, mpegts, to '/dev/null': Metadata: encoder : Lavf57.23.100 Stream #0:0, 0, 1/90000: Video: mpeg4, 1 reference frame ([16][0][0][0] / 0x0010), yuv420p(left), 320x240 (0x0) [SAR 1:1 DAR 4:3], 1/90000, q=2-31, 25 fps, 25 tbr, 90k tbn, 90k tbc Stream #0:1, 0, 1/90000: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, mono, 132 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (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 24 times frame= 4286 fps=440 q=-1.0 Lsize= 8037kB time=00:02:51.71 bitrate= 383.4kbits/s speed=17.6x
- Test 2:
- Use real UDP MPEGTS source + generate -f rtp_mpegts output.
- Receive -i rtp:// from the sender and output to /dev/null
This test shown issues as mentioned in the initial description.
FFMPEG Sender:
[root@FFMPEG_SENDER ffmpeg]# ./ffmpeg -i udp://238.44.10.250:5000 -f rtp_mpegts rtp://238.44.100.1:5200?pkt_size=1328 ffmpeg version N-78152-g27f1ea5 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4) configuration: --arch=x86_64 --enable-static --disable-shared --disable-doc --disable-ffplay --enable-ffprobe --disable-ffserver --enable-version3 --enable-gpl --enable-nonfree --enable-pthreads --enable-postproc --enable-swscale --enable-avfilter --enable-runtime-cpudetect --enable-libx264 libavutil 55. 16.100 / 55. 16.100 libavcodec 57. 22.102 / 57. 22.102 libavformat 57. 23.100 / 57. 23.100 libavdevice 57. 0.100 / 57. 0.100 libavfilter 6. 27.100 / 6. 27.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 [h264 @ 0x3d51ea0] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] no frame! [h264 @ 0x3d51ea0] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] non-existing PPS 0 referenced [h264 @ 0x3d51ea0] decode_slice_header error [h264 @ 0x3d51ea0] no frame! Input #0, mpegts, from 'udp://238.44.10.250:5000': Duration: N/A, start: 15814.676533, bitrate: N/A Program 1 Metadata: service_name : Service 1 service_provider: test Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 127 kb/s Output #0, rtp_mpegts, to 'rtp://238.44.100.1:5200?pkt_size=1328': Metadata: encoder : Lavf57.23.100 Stream #0:0: Video: mpeg4, yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 90k tbn, 25 tbc Metadata: encoder : Lavc57.22.102 mpeg4 Side data: unknown side data type 10 (24 bytes) Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc57.22.102 aac Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help frame= 765 fps= 30 q=31.0 Lsize= 5435kB time=00:00:30.60 bitrate=1455.1kbits/s dup=43 drop=0 speed= 1.2x
FFMPEG Receiver:
[root@FFMPEG_RECEIVER ffmpeg]# ./ffmpeg -y -v debug -i rtp://238.44.100.1:5200 -c:v copy -c:a copy -f mpegts /dev/null ffmpeg version N-78152-g27f1ea5 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4) configuration: --arch=x86_64 --enable-static --disable-shared --disable-doc --disable-ffplay --enable-ffprobe --disable-ffserver --enable-version3 --enable-gpl --enable-nonfree --enable-pthreads --enable-postproc --enable-swscale --enable-avfilter --enable-runtime-cpudetect libavutil 55. 16.100 / 55. 16.100 libavcodec 57. 22.102 / 57. 22.102 libavformat 57. 23.100 / 57. 23.100 libavdevice 57. 0.100 / 57. 0.100 libavfilter 6. 27.100 / 6. 27.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 Splitting the commandline. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'. Reading option '-i' ... matched as input file with argument 'rtp://238.44.100.1:5200'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'. Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'copy'. Reading option '-f' ... matched as option 'f' (force format) with argument 'mpegts'. Reading option '/dev/null' ... matched as output file. Finished splitting the commandline. Parsing a group of options: global . Applying option y (overwrite output files) with argument 1. Applying option v (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input file rtp://238.44.100.1:5200. Successfully parsed a group of options. Opening an input file: rtp://238.44.100.1:5200. [udp @ 0x2bf5700] end receive buffer size reported is 131072 [udp @ 0x2c059e0] end receive buffer size reported is 131072 [rtp @ 0x2bf3420] SDP: v=0 c=IN IP4 238.44.100.1 m=application 5200 RTP/AVP 33 [udp @ 0x2bf5920] end receive buffer size reported is 131072 [udp @ 0x2bf5740] end receive buffer size reported is 131072 setting jitter buffer size to 500 [rtp @ 0x2bf3420] stream=0 stream_type=10 pid=100 prog_reg_desc= [rtp @ 0x2bf3420] stream=1 stream_type=f pid=101 prog_reg_desc= [rtp @ 0x2bf3420] All programs have pmt, headers found [rtp @ 0x2bf3420] All info found Input #0, rtp, from 'rtp://238.44.100.1:5200': Duration: N/A, start: 377.834156, bitrate: N/A Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #0:0, 25, 1/90000: Video: mpeg4 (Simple Profile), 1 reference frame ([16][0][0][0] / 0x0010), yuv420p(left), 1920x1080 [SAR 1:1 DAR 16:9], 1/25, 25 fps, 25 tbr, 90k tbn, 25 tbc Stream #0:1, 32, 1/90000: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 24 kb/s Successfully opened the file. Parsing a group of options: output file /dev/null. Applying option c:v (codec name) with argument copy. Applying option c:a (codec name) with argument copy. Applying option f (force format) with argument mpegts. Successfully parsed a group of options. Opening an output file: /dev/null. Successfully opened the file. [mpegts @ 0x2c87520] muxrate VBR, pcr every 9000 pkts, sdt every 200, pat/pmt every 40 pkts Output #0, mpegts, to '/dev/null': Metadata: encoder : Lavf57.23.100 Stream #0:0, 0, 1/90000: Video: mpeg4, 1 reference frame ([16][0][0][0] / 0x0010), yuv420p(left), 1920x1080 (0x0) [SAR 1:1 DAR 16:9], 1/90000, q=2-31, 25 fps, 25 tbr, 90k tbn, 90k tbc Stream #0:1, 0, 1/90000: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, 24 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (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 8 times [rtp @ 0x2bf3420] max delay reached. need to consume packet bitrate=1310.3kbits/s speed=1.09x RTP: missed 10 packets [rtp @ 0x2bf3420] Continuity check failed for pid 256 expected 0 got 2 [rtp @ 0x2bf3420] Continuity check failed for pid 0 expected 9 got 11 [rtp @ 0x2bf3420] Continuity check failed for pid 4096 expected 9 got 11 [rtp @ 0x2bf3420] Continuity check failed for pid 256 expected 7 got 10 [rtp @ 0x2bf3420] max delay reached. need to consume packet bitrate=1322.1kbits/s speed=1.09x RTP: missed 7 packets [rtp @ 0x2bf3420] Continuity check failed for pid 256 expected 0 got 12 [rtp @ 0x2bf3420] Continuity check failed for pid 256 expected 9 got 100.2kbits/s speed=1.08x [rtp @ 0x2bf3420] Continuity check failed for pid 256 expected 7 got 8 [rtp @ 0x2bf3420] Continuity check failed for pid 0 expected 12 got 14 [rtp @ 0x2bf3420] Continuity check failed for pid 4096 expected 12 got 14 [rtp @ 0x2bf3420] Continuity check failed for pid 17 expected 6 got 7 [rtp @ 0x2bf3420] max delay reached. need to consume packet bitrate=1323.0kbits/s speed=1.06x RTP: missed 9 packets [rtp @ 0x2bf3420] Continuity check failed for pid 0 expected 15 got 0 [rtp @ 0x2bf3420] Continuity check failed for pid 4096 expected 15 got 0 [rtp @ 0x2bf3420] Continuity check failed for pid 256 expected 6 got 3 [rtp @ 0x2bf3420] max delay reached. need to consume packet RTP: missed 1 packets [rtp @ 0x2bf3420] Continuity check failed for pid 256 expected 4 got 11 [rtp @ 0x2bf3420] Continuity check failed for pid 256 expected 10 got 14 [rtp @ 0x2bf3420] Continuity check failed for pid 256 expected 8 got 11 [rtp @ 0x2bf3420] max delay reached. need to consume packet bitrate=1324.7kbits/s speed=1.06x RTP: missed 10 packets [rtp @ 0x2bf3420] Continuity check failed for pid 256 expected 1 got 3 [rtp @ 0x2bf3420] Continuity check failed for pid 256 expected 14 got 0 [rtp @ 0x2bf3420] Continuity check failed for pid 256 expected 4 got 9 [rtp @ 0x2bf3420] Continuity check failed for pid 0 expected 11 got 13 [rtp @ 0x2bf3420] Continuity check failed for pid 4096 expected 11 got 13 [rtp @ 0x2bf3420] Continuity check failed for pid 17 expected 1 got 2337.9kbits/s speed=1.06x frame= 652 fps= 26 q=-1.0 Lsize= 4341kB time=00:00:26.44 bitrate=1344.6kbits/s speed=1.05x
- Test 3:
- On the Receiver side, Use live RTP MPEGTS source from a 3d party encoder + output to /dev/null
- On the Receiver side, Use live RTP MPEGTS source from a 3d party encoder + output to /dev/null
This test shows us that the issue is not only with receiving RTP MPEGTS originating from FFMPEG, but also from other 3d party encoders.
FFMPEG Receiver:
[root@FFMPEG_RECEIVER ffmpeg]# ./ffmpeg -v debug -y -i rtp://236.44.100.100:5100 -c:v copy -c:a copy -f mpegts udp://238.44.100.100:5000 ffmpeg version N-78152-g27f1ea5 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4) configuration: --arch=x86_64 --enable-static --disable-shared --disable-doc --disable-ffplay --enable-ffprobe --disable-ffserver --enable-version3 --enable-gpl --enable-nonfree --enable-pthreads --enable-postproc --enable-swscale --enable-avfilter --enable-runtime-cpudetect libavutil 55. 16.100 / 55. 16.100 libavcodec 57. 22.102 / 57. 22.102 libavformat 57. 23.100 / 57. 23.100 libavdevice 57. 0.100 / 57. 0.100 libavfilter 6. 27.100 / 6. 27.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 Splitting the commandline. Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-i' ... matched as input file with argument 'rtp://236.44.100.100:5100'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'. Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'copy'. Reading option '-f' ... matched as option 'f' (force format) with argument 'mpegts'. Reading option 'udp://238.44.100.100:5000' ... matched as output file. Finished splitting the commandline. Parsing a group of options: global . Applying option v (set logging level) with argument debug. Applying option y (overwrite output files) with argument 1. Successfully parsed a group of options. Parsing a group of options: input file rtp://236.44.100.100:5100. Successfully parsed a group of options. Opening an input file: rtp://236.44.100.100:5100. [udp @ 0x3154700] end receive buffer size reported is 131072 [udp @ 0x31649e0] end receive buffer size reported is 131072 [rtp @ 0x3152420] SDP: v=0 c=IN IP4 236.44.100.100 m=application 5100 RTP/AVP 33 [udp @ 0x3154920] end receive buffer size reported is 131072 [udp @ 0x3154740] end receive buffer size reported is 131072 setting jitter buffer size to 500 [rtp @ 0x3152420] stream=0 stream_type=0 pid=6e prog_reg_desc= [rtp @ 0x3152420] probing stream 0 pp:2500 [rtp @ 0x3152420] Probe with size=42993, packets=1 detected aac with score=1 [rtp @ 0x3152420] stream=0 stream_type=1b pid=6e prog_reg_desc= [rtp @ 0x3152420] stream=1 stream_type=4 pid=6f prog_reg_desc= [rtp @ 0x3152420] All programs have pmt, headers found [NULL @ 0x3156a80] non-existing SPS 0 referenced in buffering period [NULL @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [rtp @ 0x3152420] probing stream 1 pp:2500 [rtp @ 0x3152420] probing stream 1 pp:2499 [rtp @ 0x3152420] Probe with size=5760, packets=2 detected mp3 with score=51 [rtp @ 0x3152420] probed stream 1 [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [rtp @ 0x3152420] Non-increasing DTS in stream 1: packet 4 with DTS 9223090561878073791, packet 5 with DTS 887003085 [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] non-existing SPS 0 referenced in buffering period [h264 @ 0x3156a80] non-existing PPS 0 referenced [h264 @ 0x3156a80] decode_slice_header error [h264 @ 0x3156a80] no frame! [h264 @ 0x3156a80] Frame num gap 1442 1437 [h264 @ 0x3156a80] Frame num gap 1442 1438 [h264 @ 0x3156a80] Frame num gap 1442 1439 [h264 @ 0x3156a80] Frame num gap 1442 1440 [rtp @ 0x3152420] All info found [rtp @ 0x3152420] Setting avg frame rate based on r frame rate Input #0, rtp, from 'rtp://236.44.100.100:5100': Duration: N/A, start: 9855.469833, bitrate: N/A Program 1 Stream #0:0, 32, 1/90000: Video: h264 (High 4:2:2), 4 reference frames ([27][0][0][0] / 0x001B), yuv422p10le(tv, bt709, left), 1920x1080 (1920x1088) [SAR 1:1 DAR 16:9], 1/50, 50 fps, 50 tbr, 90k tbn, 50 tbc Stream #0:1(eng), 25, 1/90000: Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 192 kb/s Successfully opened the file. Parsing a group of options: output file udp://238.44.100.100:5000. Applying option c:v (codec name) with argument copy. Applying option c:a (codec name) with argument copy. Applying option f (force format) with argument mpegts. Successfully parsed a group of options. Opening an output file: udp://238.44.100.100:5000. Successfully opened the file. [mpegts @ 0x31c2ac0] muxrate VBR, pcr every 9000 pkts, sdt every 200, pat/pmt every 40 pkts Output #0, mpegts, to 'udp://238.44.100.100:5000': Metadata: encoder : Lavf57.23.100 Stream #0:0, 0, 1/90000: Video: h264, 1 reference frame ([27][0][0][0] / 0x001B), yuv422p10le(left), 1920x1080 (0x0) [SAR 1:1 DAR 16:9], 1/90000, q=2-31, 50 fps, 50 tbr, 90k tbn, 90k tbc Stream #0:1(eng), 0, 1/90000: Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, 192 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (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 66 times [rtp @ 0x3152420] max delay reached. need to consume packet RTP: missed 168 packets [rtp @ 0x3152420] Continuity check failed for pid 110 expected 7 got 13 [rtp @ 0x3152420] Continuity check failed for pid 111 expected 8 got 0 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 7 got 8 [rtp @ 0x3152420] Continuity check failed for pid 100 expected 4 got 5 [rtp @ 0x3152420] Continuity check failed for pid 0 expected 0 got 1 [rtp @ 0x3152420] PES packet size mismatch [rtp @ 0x3152420] Continuity check failed for pid 110 expected 6 got 8 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 8 got 10 [rtp @ 0x3152420] max delay reached. need to consume packet bitrate=5874.3kbits/s speed=1.98x RTP: missed 4 packets [rtp @ 0x3152420] Continuity check failed for pid 110 expected 14 got 10 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 2 got 3 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 4 got 603.1kbits/s speed=1.54x [rtp @ 0x3152420] Continuity check failed for pid 110 expected 6 got 8 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 15 got 2 [rtp @ 0x3152420] max delay reached. need to consume packet bitrate=9353.7kbits/s speed=1.36x RTP: missed 2 packets [rtp @ 0x3152420] Continuity check failed for pid 110 expected 12 got 3 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 9 got 10 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 15 got 0 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 8 got 10 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 14 got 1 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 2 got 4 [rtp @ 0x3152420] max delay reached. need to consume packet bitrate=10747.2kbits/s speed=1.27x RTP: missed 3 packets [rtp @ 0x3152420] Continuity check failed for pid 110 expected 11 got 5 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 5 got 6 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 3 got 4428.7kbits/s speed= 1.2x [rtp @ 0x3152420] Continuity check failed for pid 110 expected 5 got 7 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 9 got 10 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 13 got 14 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 4 got 5 [rtp @ 0x3152420] max delay reached. need to consume packet bitrate=11881.3kbits/s speed=1.18x RTP: missed 1 packets [rtp @ 0x3152420] Continuity check failed for pid 110 expected 11 got 15 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 11 got 12 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 8 got 9 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 6 got 7 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 7 got 9 Last message repeated 1 times [rtp @ 0x3152420] max delay reached. need to consume packet bitrate=12642.1kbits/s speed=1.12x RTP: missed 4 packets [rtp @ 0x3152420] Continuity check failed for pid 110 expected 6 got 3 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 5 got 8 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 15 got 2 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 15 got 0 [rtp @ 0x3152420] Continuity check failed for pid 111 expected 9 got 10 [rtp @ 0x3152420] Continuity check failed for pid 110 expected 2 got 5 [rtp @ 0x3152420] PES packet size mismatch frame= 469 fps= 50 q=-1.0 Lsize= 17041kB time=00:00:10.28 bitrate=13571.2kbits/s speed=1.09x
One other observation i have is that pushing to /dev/null doesn't generate as many errors as when remixing the rtp source to UDP for instance.
Please test current FFmpeg git head, please use
-f lavfi -i testsrc -f lavfi -i sine
as source and please provide command lines including complete, uncut console output to make this a valid ticket.