[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