[FFmpeg-trac] #5197(ffmpeg:new): Issues receving rtp_mpegts sources

FFmpeg trac at avcodec.org
Tue Jan 26 16:45:25 CET 2016


#5197: Issues receving rtp_mpegts sources
-------------------------------------+-------------------------------------
             Reporter:  svyatko      |                     Type:  defect
               Status:  new          |                 Priority:  important
            Component:  ffmpeg       |                  Version:
             Keywords:  rtp_mpegts   |  unspecified
             Blocking:               |               Blocked By:
Analyzed by developer:  0            |  Reproduced by developer:  0
-------------------------------------+-------------------------------------
 == 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

--
Ticket URL: <https://trac.ffmpeg.org/ticket/5197>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list