[FFmpeg-trac] #2186(avformat:open): program detection in transport stream broken (was: udp stream input differences between 10.5 and newers)

FFmpeg trac at avcodec.org
Fri Jan 25 02:54:55 CET 2013


#2186: program detection in transport stream broken
-------------------------------------+-------------------------------------
             Reporter:  hugo         |                    Owner:
                 Type:  defect       |                   Status:  open
             Priority:  important    |                Component:  avformat
              Version:  git-master   |               Resolution:
             Keywords:  mpegts       |               Blocked By:
  regression                         |  Reproduced by developer:  1
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Changes (by cehoyos):

 * status:  new => open
 * component:  undetermined => avformat
 * priority:  normal => important
 * version:  unspecified => git-master
 * keywords:  stream map selection => mpegts regression
 * reproduced:  0 => 1


Old description:

> im using a multicast stream as input of ffmpeg, running on Centos 6.3
>
> 10.5 version from rpmfusion can identify the programs on the stream , but
> newer versions do not .
> i test even 10.6 version from rpmfusion and 1.1.1 from sources , with
> same result:
>
> this is the command used :
> # /usr/bin/ffmpeg  -i 'udp://@230.20.20.21:32960?overrun_nonfatal=1' -bsf
> h264_mp4toannexb -map 0:p:304:0  -c:v  libx264 -preset medium -g 25 -s
> 1280x720  -r 30000/1001 -filter:v yadif  -b:v 2000k -bt 200k -map
> 0:p:304:1 -c:a aac  -ac 2 -ar 44100 -ab 128k  -vol 200  -strict -2    -f
> mpegts test.ts
>
> result with version 10.5 :
>
> ffmpeg version 0.10.5 Copyright (c) 2000-2012 the FFmpeg developers built
> on Oct  7 2012 19:01:46 with gcc 4.4.6 20110731 (Red Hat 4.4.6-3)
>   configuration: --prefix=/usr --bindir=/usr/bin
> --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg
> --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --extra-
> cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-
> protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-bzlib
> --disable-crystalhd --enable-gnutls --enable-libass --enable-libcdio
> --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-
> libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-
> libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex
> --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264
> --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc
> --enable-pthreads --disable-static --enable-shared --enable-gpl
> --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-
> runtime-cpudetect
>   libavutil      51. 35.100 / 51. 35.100
>   libavcodec     53. 61.100 / 53. 61.100
>   libavformat    53. 32.100 / 53. 32.100
>   libavdevice    53.  4.100 / 53.  4.100
>   libavfilter     2. 61.100 /  2. 61.100
>   libswscale      2.  1.100 /  2.  2.100
>   libswresample   0.  6.100 /  0. 17.102
>   libpostproc    52.  0.100 / 52.  2.100
>

>
> Input #0, mpegts, from 'udp://@230.20.20.21:32960?overrun_nonfatal=1':
>   Duration: N/A, start: 27641.679322, bitrate: 704 kb/s
>   Program 304
>     Metadata:
>       service_name    : Cinecanal HD
>       service_provider:
>     Stream #0:11[0x580]: Video: h264 ([27][0][0][0] / 0x001B), 29.97 tbr,
> 90k tbn
>     Stream #0:13[0x581]: Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz,
> 5.1(side), s16, 384 kb/s
>     Stream #0:14[0xbc2](spa): Subtitle: dvb_subtitle ([6][0][0][0] /
> 0x0006)
>     Stream #0:15[0xbc3](spa): Unknown: none ([130][0][0][0] / 0x0082)
>   Program 305
>     Metadata:
>       service_name    : Universal HD
>       service_provider:
>     Stream #0:5[0xa00]: Video: h264 (Main) ([27][0][0][0] / 0x001B),
> yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 89.91 fps, 29.97 tbr, 90k tbn,
> 59.94 tbc
>     Stream #0:6[0x9d8](spa): Audio: ac3 ([6][0][0][0] / 0x0006), 0
> channels, s16
>     Stream #0:7[0x9da](eng): Audio: ac3 ([6][0][0][0] / 0x0006), 48000
> Hz, stereo, s16, 128 kb/s
>     Stream #0:8[0x9ee](spa): Subtitle: dvb_subtitle ([6][0][0][0] /
> 0x0006)
>     Stream #0:9[0x9ed](eng): Subtitle: dvb_subtitle ([6][0][0][0] /
> 0x0006)
>     Stream #0:10[0x9ef](spa): Unknown: none ([130][0][0][0] / 0x0082)
>   Program 203
>     Metadata:
>       service_name    : HBO Plus MP-4
>       service_provider:
>     Stream #0:0[0xa94]: Video: h264 ([27][0][0][0] / 0x001B), 50 tbr, 90k
> tbn, 180k tbc
>     Stream #0:1[0xa95](eng): Audio: ac3 (AC-3 / 0x332D4341), 0 channels,
> s16
>     Stream #0:2[0xa96](spa): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz,
> stereo, s16, 192 kb/s
>     Stream #0:3[0xa97](spa): Unknown: none ([130][0][0][0] / 0x0082)
>     Stream #0:4[0xa98](spa): Subtitle: dvb_subtitle ([6][0][0][0] /
> 0x0006)
>   Program 301
>     Metadata:
>       service_name    : TV Publica HD
>       service_provider:
>     Stream #0:16[0x102]: Video: h264 ([27][0][0][0] / 0x001B), 50 tbr,
> 90k tbn
>     Stream #0:12[0x103]: Audio: aac_latm ([17][0][0][0] / 0x0011), 0
> channels, s16
>

> ###################
> same command , but with the newly 1.1.1 compiled from source :
> ###################
> ffmpeg version N-49198-g70270f2 Copyright (c) 2000-2013 the FFmpeg
> developers
>   built on Jan 23 2013 16:19:29 with gcc 4.4.6 (GCC) 20120305 (Red Hat
> 4.4.6-4)
>   configuration: --enable-version3 --enable-libopencore-amrnb --enable-
> libopencore-amrwb --enable-libvpx --enable-libass --enable-bzlib
> --enable-zlib --enable-libfaac --enable-libmp3lame --enable-libtheora
> --enable-libvorbis --enable-libx264 --enable-libvo-aacenc --enable-
> libxvid --disable-ffplay --enable-shared --enable-gpl --enable-postproc
> --enable-nonfree --enable-avfilter --enable-pthreads --extra-cflags=-fPIC
> --arch=x86_64
>   libavutil      52. 15.100 / 52. 15.100
>   libavcodec     54. 90.100 / 54. 90.100
>   libavformat    54. 61.103 / 54. 61.103
>   libavdevice    54.  3.102 / 54.  3.102
>   libavfilter     3. 33.100 /  3. 33.100
>   libswscale      2.  2.100 /  2.  2.100
>   libswresample   0. 17.102 /  0. 17.102
>   libpostproc    52.  2.100 / 52.  2.100
>
> Input #0, mpegts, from 'udp://@230.20.20.21:32960?overrun_nonfatal=1':
>   Duration: N/A, start: 27971.116400, bitrate: 576 kb/s
>   Program 304
>     Metadata:
>       service_name    : Cinecanal HD
>       service_provider:
>   Program 305
>     Metadata:
>       service_name    : Universal HD
>       service_provider:
>   Program 203
>     Metadata:
>       service_name    : HBO Plus MP-4
>       service_provider:
>     Stream #0:0[0xa94]: Video: h264 ([27][0][0][0] / 0x001B), 50 tbr, 90k
> tbn, 180k tbc
>     Stream #0:1[0xa95](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz,
> stereo, fltp, 192 kb/s
>     Stream #0:2[0xa96](spa): Audio: ac3 (AC-3 / 0x332D4341), 0 channels,
> fltp
>     Stream #0:3[0xa97](spa): Unknown: none ([130][0][0][0] / 0x0082)
>     Stream #0:4[0xa98](spa): Subtitle: dvb_subtitle ([6][0][0][0] /
> 0x0006)
>   Program 301
>     Metadata:
>       service_name    : TV Publica HD
>       service_provider:
>   No Program
>     Stream #0:5[0x580]: Video: h264 ([27][0][0][0] / 0x001B), 29.97 tbr,
> 90k tbn
>     Stream #0:6[0x581]: Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz,
> 5.1(side), fltp, 384 kb/s
>     Stream #0:7[0xbc2](spa): Subtitle: dvb_subtitle ([6][0][0][0] /
> 0x0006)
>     Stream #0:8[0xbc3](spa): Unknown: none ([130][0][0][0] / 0x0082)
>     Stream #0:9[0xa00]: Video: h264 ([27][0][0][0] / 0x001B), 29.97 tbr,
> 90k tbn
>     Stream #0:10[0x9d8](spa): Audio: ac3 ([6][0][0][0] / 0x0006), 0
> channels
>     Stream #0:11[0x9da](eng): Audio: ac3 ([6][0][0][0] / 0x0006), 0
> channels
>     Stream #0:12[0x9ee](spa): Subtitle: dvb_subtitle ([6][0][0][0] /
> 0x0006)
>     Stream #0:13[0x9ed](eng): Subtitle: dvb_subtitle ([6][0][0][0] /
> 0x0006)
>     Stream #0:14[0x9ef](spa): Unknown: none ([130][0][0][0] / 0x0082)
>     Stream #0:15[0x102]: Video: h264 ([27][0][0][0] / 0x001B), 50 tbr,
> 90k tbn
>     Stream #0:16[0x103]: Audio: aac_latm ([17][0][0][0] / 0x0011), 0
> channels, fltp
> Stream map '0:p:304:0' matches no streams.
>
> i even try to select the streams from [#0x580] as example , gave me an
> error. trying to select with 0:0 select video stream ramdomly .
>
> of course i like to use the newer version , works better transcoding and
> use less cpu , but i cant to select the right stream

New description:

 im using a multicast stream as input of ffmpeg, running on Centos 6.3

 10.5 version from rpmfusion can identify the programs on the stream , but
 newer versions do not .
 i test even 10.6 version from rpmfusion and 1.1.1 from sources , with same
 result:

 this is the command used :
 # /usr/bin/ffmpeg  -i 'udp://@230.20.20.21:32960?overrun_nonfatal=1' -bsf
 h264_mp4toannexb -map 0:p:304:0  -c:v  libx264 -preset medium -g 25 -s
 1280x720  -r 30000/1001 -filter:v yadif  -b:v 2000k -bt 200k -map
 0:p:304:1 -c:a aac  -ac 2 -ar 44100 -ab 128k  -vol 200  -strict -2    -f
 mpegts test.ts

 result with version 10.5 :
 {{{
 ffmpeg version 0.10.5 Copyright (c) 2000-2012 the FFmpeg developers built
 on Oct  7 2012 19:01:46 with gcc 4.4.6 20110731 (Red Hat 4.4.6-3)
   configuration: --prefix=/usr --bindir=/usr/bin
 --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg
 --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --extra-
 cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-
 protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-bzlib
 --disable-crystalhd --enable-gnutls --enable-libass --enable-libcdio
 --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-
 libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-
 libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex
 --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264
 --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc
 --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-
 debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
   libavutil      51. 35.100 / 51. 35.100
   libavcodec     53. 61.100 / 53. 61.100
   libavformat    53. 32.100 / 53. 32.100
   libavdevice    53.  4.100 / 53.  4.100
   libavfilter     2. 61.100 /  2. 61.100
   libswscale      2.  1.100 /  2.  2.100
   libswresample   0.  6.100 /  0. 17.102
   libpostproc    52.  0.100 / 52.  2.100



 Input #0, mpegts, from 'udp://@230.20.20.21:32960?overrun_nonfatal=1':
   Duration: N/A, start: 27641.679322, bitrate: 704 kb/s
   Program 304
     Metadata:
       service_name    : Cinecanal HD
       service_provider:
     Stream #0:11[0x580]: Video: h264 ([27][0][0][0] / 0x001B), 29.97 tbr,
 90k tbn
     Stream #0:13[0x581]: Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz,
 5.1(side), s16, 384 kb/s
     Stream #0:14[0xbc2](spa): Subtitle: dvb_subtitle ([6][0][0][0] /
 0x0006)
     Stream #0:15[0xbc3](spa): Unknown: none ([130][0][0][0] / 0x0082)
   Program 305
     Metadata:
       service_name    : Universal HD
       service_provider:
     Stream #0:5[0xa00]: Video: h264 (Main) ([27][0][0][0] / 0x001B),
 yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 89.91 fps, 29.97 tbr, 90k tbn,
 59.94 tbc
     Stream #0:6[0x9d8](spa): Audio: ac3 ([6][0][0][0] / 0x0006), 0
 channels, s16
     Stream #0:7[0x9da](eng): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz,
 stereo, s16, 128 kb/s
     Stream #0:8[0x9ee](spa): Subtitle: dvb_subtitle ([6][0][0][0] /
 0x0006)
     Stream #0:9[0x9ed](eng): Subtitle: dvb_subtitle ([6][0][0][0] /
 0x0006)
     Stream #0:10[0x9ef](spa): Unknown: none ([130][0][0][0] / 0x0082)
   Program 203
     Metadata:
       service_name    : HBO Plus MP-4
       service_provider:
     Stream #0:0[0xa94]: Video: h264 ([27][0][0][0] / 0x001B), 50 tbr, 90k
 tbn, 180k tbc
     Stream #0:1[0xa95](eng): Audio: ac3 (AC-3 / 0x332D4341), 0 channels,
 s16
     Stream #0:2[0xa96](spa): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz,
 stereo, s16, 192 kb/s
     Stream #0:3[0xa97](spa): Unknown: none ([130][0][0][0] / 0x0082)
     Stream #0:4[0xa98](spa): Subtitle: dvb_subtitle ([6][0][0][0] /
 0x0006)
   Program 301
     Metadata:
       service_name    : TV Publica HD
       service_provider:
     Stream #0:16[0x102]: Video: h264 ([27][0][0][0] / 0x001B), 50 tbr, 90k
 tbn
     Stream #0:12[0x103]: Audio: aac_latm ([17][0][0][0] / 0x0011), 0
 channels, s16
 }}}

 ###################
 same command , but with the newly 1.1.1 compiled from source :
 ###################
 {{{
 ffmpeg version N-49198-g70270f2 Copyright (c) 2000-2013 the FFmpeg
 developers
   built on Jan 23 2013 16:19:29 with gcc 4.4.6 (GCC) 20120305 (Red Hat
 4.4.6-4)
   configuration: --enable-version3 --enable-libopencore-amrnb --enable-
 libopencore-amrwb --enable-libvpx --enable-libass --enable-bzlib --enable-
 zlib --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-
 libvorbis --enable-libx264 --enable-libvo-aacenc --enable-libxvid
 --disable-ffplay --enable-shared --enable-gpl --enable-postproc --enable-
 nonfree --enable-avfilter --enable-pthreads --extra-cflags=-fPIC
 --arch=x86_64
   libavutil      52. 15.100 / 52. 15.100
   libavcodec     54. 90.100 / 54. 90.100
   libavformat    54. 61.103 / 54. 61.103
   libavdevice    54.  3.102 / 54.  3.102
   libavfilter     3. 33.100 /  3. 33.100
   libswscale      2.  2.100 /  2.  2.100
   libswresample   0. 17.102 /  0. 17.102
   libpostproc    52.  2.100 / 52.  2.100

 Input #0, mpegts, from 'udp://@230.20.20.21:32960?overrun_nonfatal=1':
   Duration: N/A, start: 27971.116400, bitrate: 576 kb/s
   Program 304
     Metadata:
       service_name    : Cinecanal HD
       service_provider:
   Program 305
     Metadata:
       service_name    : Universal HD
       service_provider:
   Program 203
     Metadata:
       service_name    : HBO Plus MP-4
       service_provider:
     Stream #0:0[0xa94]: Video: h264 ([27][0][0][0] / 0x001B), 50 tbr, 90k
 tbn, 180k tbc
     Stream #0:1[0xa95](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz,
 stereo, fltp, 192 kb/s
     Stream #0:2[0xa96](spa): Audio: ac3 (AC-3 / 0x332D4341), 0 channels,
 fltp
     Stream #0:3[0xa97](spa): Unknown: none ([130][0][0][0] / 0x0082)
     Stream #0:4[0xa98](spa): Subtitle: dvb_subtitle ([6][0][0][0] /
 0x0006)
   Program 301
     Metadata:
       service_name    : TV Publica HD
       service_provider:
   No Program
     Stream #0:5[0x580]: Video: h264 ([27][0][0][0] / 0x001B), 29.97 tbr,
 90k tbn
     Stream #0:6[0x581]: Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz,
 5.1(side), fltp, 384 kb/s
     Stream #0:7[0xbc2](spa): Subtitle: dvb_subtitle ([6][0][0][0] /
 0x0006)
     Stream #0:8[0xbc3](spa): Unknown: none ([130][0][0][0] / 0x0082)
     Stream #0:9[0xa00]: Video: h264 ([27][0][0][0] / 0x001B), 29.97 tbr,
 90k tbn
     Stream #0:10[0x9d8](spa): Audio: ac3 ([6][0][0][0] / 0x0006), 0
 channels
     Stream #0:11[0x9da](eng): Audio: ac3 ([6][0][0][0] / 0x0006), 0
 channels
     Stream #0:12[0x9ee](spa): Subtitle: dvb_subtitle ([6][0][0][0] /
 0x0006)
     Stream #0:13[0x9ed](eng): Subtitle: dvb_subtitle ([6][0][0][0] /
 0x0006)
     Stream #0:14[0x9ef](spa): Unknown: none ([130][0][0][0] / 0x0082)
     Stream #0:15[0x102]: Video: h264 ([27][0][0][0] / 0x001B), 50 tbr, 90k
 tbn
     Stream #0:16[0x103]: Audio: aac_latm ([17][0][0][0] / 0x0011), 0
 channels, fltp
 Stream map '0:p:304:0' matches no streams.
 }}}
 i even try to select the streams from [#0x580] as example , gave me an
 error. trying to select with 0:0 select video stream ramdomly .

 of course i like to use the newer version , works better transcoding and
 use less cpu , but i cant to select the right stream

--

Comment:

 Regression since 4c41fc8.

 Until this is fixed, you can use version 1.0.3.

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2186#comment:1>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list