0.4.1&0.4.0 Linux&Windows client MPEG2 PS&TS broken?

Jean-Paul Saman jpsaman at wxs.nl
Wed Jul 3 23:12:50 CEST 2002


Johann Hanne wrote:
> On Wed, 3 Jul 2002, Tristan Leteurtre wrote:
> 
> 
>>On Tue, Jul 02, 2002, Johann Hanne wrote:
>>
>>>On Wed, 26 Jun 2002, Bill Eldridge wrote:
>>>
>>>
>>>>Johann Hanne wrote:
>>>>
>>>>>Hi all,
>>>>>
>>>>>i have tried to play a MPEG2 program stream and MPEG2 transport stream 
>>>>>from a locally stored file with VLC 0.4.1 and 0.4.0. MPlayer plays the PS 
>>>>>file fine. Windows Media Player (with a MPEG2 demuxer) plays the PS and 
>>>>>the TS file fine. So both files should be ok.
>>>>
>>>>I don't think that's an assumption you can make.
>>>>I'd start off by grabbing a known MPEG2 file
>>>>from
>>>>  ftp://ftp.videolan.org/pub/videolan/streams/presentation/
>>>>
>>>>such as presentation_short.vob and make sure you can play
>>>>that file.  (Sorry if that's what you did, but it looks
>>>>like vlc isn't happy reading the file, and just gives
>>>>up without a lot of effort).
>>>
>>>ok, the files from this directory work fine. But what can I do to find out 
>>>what's wrong with my files? The TS file is directly recorded with a DVB 
>>>card (with only two PIDs, 110 and 120) 
>>
>>I guess it is a WinDVB-S or so ...
> 
> It's a Siemens-DVB-C card with MPEG2-Decoder, i.e. full-featured unlike 
> the Nova budget-cards.
> 
> 
>>how did you obtain the stream ? With
>>DVBset ? Do you have only 2 pids, or you have also the PAT and the PMT ?
> 
> It has been recorded with a simple C program which simply tells the 
> dumuxer (via /dev/ost/demux) to only let through PIDs 110 and 120 and then 
> records the stream by reading from /dev/ost/dvr.
> The program stream has been generated from the transport stream by ts2ps 
> coming with the DVB driver package.
> 
For MPEG SP-TS You need the PCR_PID, PAT (PID 0) and PMT otherwise no 
decoder can tell what Video and Audio Pids it should decode. Translation 
an incomplete Transport Stream to PS will not help. In addition the PS 
will probably also miss some crucial MPEG PS header information.

> 
>>What messages gives you the vlc ?
> 
> With the program stream:
> [jonny at dh3mb tmp]$ vlc -vvv ps1.mpg
> VideoLAN Client - version 0.4.1_2002-06-25 Ourumov - (c) 1996-2002 
> VideoLAN
> 
> module: checking built-in modules
> module: new builtin module `idct', IDCT module
> module: new builtin module `idctclassic', classic IDCT module
> module: new builtin module `motion', motion compensation module
> module: new builtin module `imdct', AC3 IMDCT module
> module: new builtin module `downmix', AC3 downmix module
> module: new builtin module `chroma_i420_rgb', I420,IYUV,YV12 to 
> RGB,RV15,RV16,RV24,RV32 conversions
> module: new builtin module `chroma_i420_yuy2', conversions from 
> I420,IYUV,YV12 to YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv,Y211
> module: new builtin module `chroma_i422_yuy2', conversions from I422 to 
> YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv,Y211
> module: new builtin module `chroma_i420_ymga', conversions from 
> I420,IYUV,YV12 to YMGA
> module: new builtin module `mpeg_adec', MPEG I/II layer 1/2 audio decoder
> module: new builtin module `ac3_adec', software AC3 decoder
> module: new builtin module `mpeg_vdec', MPEG I/II video decoder module
> module: new builtin module `memcpymmx', MMX memcpy module
> module: new builtin module `idctmmx', MMX IDCT module
> module: new builtin module `motionmmx', MMX motion compensation module
> module: new builtin module `chroma_i420_rgb_mmx', MMX I420,IYUV,YV12 to 
> RV15,RV16,RV24,RV32 conversions
> module: new builtin module `chroma_i420_yuy2_mmx', MMX conversions from 
> I420,IYUV,YV12 to YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv
> module: new builtin module `chroma_i422_yuy2_mmx', MMX conversions from 
> I422 to YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv
> module: new builtin module `chroma_i420_ymga_mmx', MMX conversions from 
> I420,IYUV,YV12 to YMGA
> module: new builtin module `memcpymmxext', MMX EXT memcpy module
> module: new builtin module `idctmmxext', MMX EXT IDCT module
> module: new builtin module `motionmmxext', MMXEXT motion compensation 
> module
> module: new builtin module `memcpy3dn', 3D Now! memcpy module
> module: new builtin module `imdct3dn', 3D Now! AC3 IMDCT module
> module: new builtin module `downmix3dn', 3D Now! AC3 downmix module
> module: new builtin module `imdctsse', SSE AC3 IMDCT module
> module: new builtin module `downmixsse', SSE AC3 downmix module
> module: new builtin module `xvideo', XVideo extension module
> module: checking plugin modules
> module: browsing `.'
> module: browsing `plugins'
> module: browsing `/usr/local/lib/videolan/vlc'
> module: new plugin module `dummy', dummy functions module
> module: new plugin module `null', the Null module that does nothing
> module: new plugin module `rc', remote control interface module
> module: new plugin module `logger', file logging interface module
> module: new plugin module `mpeg_es', ISO 13818-2 MPEG Elementary Stream 
> input
> module: new plugin module `mpeg_ps', ISO 13818-1 MPEG Program Stream input
> module: new plugin module `mpeg_ts', ISO 13818-1 MPEG Transport Stream 
> input
> module: new plugin module `mpeg_audio', MPEG I/II Audio stream demux
> module: new plugin module `file', Standard filesystem file reading
> module: new plugin module `udp', Raw UDP access plug-in
> module: new plugin module `http', HTTP access plug-in
> module: new plugin module `ipv4', IPv4 network abstraction layer
> module: new plugin module `memcpy', libc memcpy module
> module: new plugin module `lpcm_adec', linear PCM audio decoder
> module: new plugin module `ac3_spdif', SPDIF pass-through AC3 decoder
> module: new plugin module `spudec', DVD subtitles decoder module
> module: new plugin module `filter_deinterlace', deinterlacing module
> module: new plugin module `filter_invert', invert video module
> module: new plugin module `filter_wall', image wall video module
> module: new plugin module `filter_transform', image transformation module
> module: new plugin module `filter_distort', miscellaneous video effects 
> module
> module: new plugin module `filter_clone', image clone video module
> module: new plugin module `filter_crop', image crop video module
> module: new plugin module `fx_scope', scope effect module
> module: new plugin module `vcd', VCD input module
> module: new plugin module `ipv6', IPv6 network abstraction layer
> module: new plugin module `avi', RIFF-AVI Stream input
> module: new plugin module `x11', X11 module
> module: new plugin module `sdl', Simple DirectMedia Layer module
> module: new plugin module `fb', Linux console framebuffer module
> module: new plugin module `dsp', Linux OSS /dev/dsp module
> module: new plugin module `gtk', Gtk+ interface module
> module: module bank initialized, found 61 modules
> config: config file /home/jonny/.videolan/vlcrc doesn't already exist
> intf: playlist initialized
> intf: added `ps1.mpg' to playlist
> module: locking memcpy module `memcpymmx'
> module: locking interface module `gtk'
> intf: interface initialized
> intf: creating new input thread
> input: playlist item `ps1.mpg'
> thread info: 1026 (input) has been created (src/input/input.c:196)
> input: access `', demux `', name `ps1.mpg'
> input : VCD plugin discarded (not a valid drive)
> input: opening file `ps1.mpg'
> module: locking access module `file'
> input: TS plug-in discarded (no sync)
> input: RIFF-AVI plug-in discarded (avi_file)
> input: ES plug-in discarded (no startcode)
> input error: this doesn't look like an MPEG PS stream, but continuing 
> anyway
> input warning: garbage (0x6b48dbdd)
> intf: stream has changed, refreshing interface
> module: locking decoder module `mpeg_vdec'
> module: locking motion module `motionmmx'
> module: locking iDCT module `idctmmx'
> thread info: 2051 (decoder) has been created (src/input/input_dec.c:82)
> module: locking decoder module `mpeg_adec'
> thread info: 3076 (decoder) has been created (src/input/input_dec.c:82)
> module: locking demux module `mpeg_ps'
> input warning: garbage (0x6b48dbdd)
> aout: no aout present, spawning one
> vpar: no vout present, spawning one
> vout: found adaptor 0, port 69, image format 0x32315659 (YV12) planar
> intf: stream has changed, refreshing interface
> module: locking video output module `xvideo'
> vout info: got 8 direct buffer(s)
> vout info: picture in 720x576, chroma 0x30323449 (I420), aspect ratio 16:9
> vout info: picture out 720x576, chroma 0x32315659 (YV12), aspect ratio 
> 16:9
> vout info: direct render, mapping render pictures 0-6 to system pictures 
> 1-7
> thread info: 4101 (video output) has been created 
> (src/video_output/video_output.c:211)
> vout: video display resized (1016x576)
> vpar synchro warning: pts != current_date (-65618092289)
> vpar info: stream periodicity changed from B[1] to B[2]
> module: hiding unused plugin module `ipv6'
> module: hiding unused plugin module `fx_scope'
> module: hiding unused plugin module `avi'
> module: hiding unused plugin module `filter_crop'
> module: hiding unused plugin module `vcd'
> module: hiding unused plugin module `filter_clone'
> module: hiding unused plugin module `filter_distort'
> module: hiding unused plugin module `filter_transform'
> module: hiding unused plugin module `fb'
> module: hiding unused plugin module `x11'
> module: hiding unused plugin module `filter_wall'
> module: hiding unused plugin module `filter_invert'
> module: hiding unused plugin module `filter_deinterlace'
> module: hiding unused plugin module `ac3_spdif'
> module: hiding unused plugin module `memcpy'
> module: hiding unused plugin module `ipv4'
> module: hiding unused plugin module `http'
> module: hiding unused plugin module `spudec'
> module: hiding unused plugin module `udp'
> module: hiding unused plugin module `lpcm_adec'
> module: hiding unused plugin module `logger'
> module: hiding unused plugin module `rc'
> module: hiding unused plugin module `mpeg_audio'
> module: hiding unused plugin module `mpeg_ts'
> module: hiding unused plugin module `mpeg_es'
> module: hiding unused plugin module `null'
> module: hiding unused plugin module `dummy'
> input: EOF reached
> module: unlocking module `idctmmx'
> module: unlocking module `motionmmx'
> thread info: 2051 has been joined ((unknown):0)
> module: unlocking module `mpeg_vdec'
> intf error: signal 2 received, exiting - do it again if vlc gets stuck
> module: unlocking module `gtk'
> intf error: user insisted too much, dying badly
> [jonny at dh3mb tmp]$
> 
> With the transport stream:
> [jonny at dh3mb tmp]$ vlc -vvv ts1.mpg
> VideoLAN Client - version 0.4.1_2002-06-25 Ourumov - (c) 1996-2002 
> VideoLAN
> 
> module: checking built-in modules
> module: new builtin module `idct', IDCT module
> module: new builtin module `idctclassic', classic IDCT module
> module: new builtin module `motion', motion compensation module
> module: new builtin module `imdct', AC3 IMDCT module
> module: new builtin module `downmix', AC3 downmix module
> module: new builtin module `chroma_i420_rgb', I420,IYUV,YV12 to 
> RGB,RV15,RV16,RV24,RV32 conversions
> module: new builtin module `chroma_i420_yuy2', conversions from 
> I420,IYUV,YV12 to YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv,Y211
> module: new builtin module `chroma_i422_yuy2', conversions from I422 to 
> YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv,Y211
> module: new builtin module `chroma_i420_ymga', conversions from 
> I420,IYUV,YV12 to YMGA
> module: new builtin module `mpeg_adec', MPEG I/II layer 1/2 audio decoder
> module: new builtin module `ac3_adec', software AC3 decoder
> module: new builtin module `mpeg_vdec', MPEG I/II video decoder module
> module: new builtin module `memcpymmx', MMX memcpy module
> module: new builtin module `idctmmx', MMX IDCT module
> module: new builtin module `motionmmx', MMX motion compensation module
> module: new builtin module `chroma_i420_rgb_mmx', MMX I420,IYUV,YV12 to 
> RV15,RV16,RV24,RV32 conversions
> module: new builtin module `chroma_i420_yuy2_mmx', MMX conversions from 
> I420,IYUV,YV12 to YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv
> module: new builtin module `chroma_i422_yuy2_mmx', MMX conversions from 
> I422 to YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv
> module: new builtin module `chroma_i420_ymga_mmx', MMX conversions from 
> I420,IYUV,YV12 to YMGA
> module: new builtin module `memcpymmxext', MMX EXT memcpy module
> module: new builtin module `idctmmxext', MMX EXT IDCT module
> module: new builtin module `motionmmxext', MMXEXT motion compensation 
> module
> module: new builtin module `memcpy3dn', 3D Now! memcpy module
> module: new builtin module `imdct3dn', 3D Now! AC3 IMDCT module
> module: new builtin module `downmix3dn', 3D Now! AC3 downmix module
> module: new builtin module `imdctsse', SSE AC3 IMDCT module
> module: new builtin module `downmixsse', SSE AC3 downmix module
> module: new builtin module `xvideo', XVideo extension module
> module: checking plugin modules
> module: browsing `.'
> module: browsing `plugins'
> module: browsing `/usr/local/lib/videolan/vlc'
> module: new plugin module `dummy', dummy functions module
> module: new plugin module `null', the Null module that does nothing
> module: new plugin module `rc', remote control interface module
> module: new plugin module `logger', file logging interface module
> module: new plugin module `mpeg_es', ISO 13818-2 MPEG Elementary Stream 
> input
> module: new plugin module `mpeg_ps', ISO 13818-1 MPEG Program Stream input
> module: new plugin module `mpeg_ts', ISO 13818-1 MPEG Transport Stream 
> input
> module: new plugin module `mpeg_audio', MPEG I/II Audio stream demux
> module: new plugin module `file', Standard filesystem file reading
> module: new plugin module `udp', Raw UDP access plug-in
> module: new plugin module `http', HTTP access plug-in
> module: new plugin module `ipv4', IPv4 network abstraction layer
> module: new plugin module `memcpy', libc memcpy module
> module: new plugin module `lpcm_adec', linear PCM audio decoder
> module: new plugin module `ac3_spdif', SPDIF pass-through AC3 decoder
> module: new plugin module `spudec', DVD subtitles decoder module
> module: new plugin module `filter_deinterlace', deinterlacing module
> module: new plugin module `filter_invert', invert video module
> module: new plugin module `filter_wall', image wall video module
> module: new plugin module `filter_transform', image transformation module
> module: new plugin module `filter_distort', miscellaneous video effects 
> module
> module: new plugin module `filter_clone', image clone video module
> module: new plugin module `filter_crop', image crop video module
> module: new plugin module `fx_scope', scope effect module
> module: new plugin module `vcd', VCD input module
> module: new plugin module `ipv6', IPv6 network abstraction layer
> module: new plugin module `avi', RIFF-AVI Stream input
> module: new plugin module `x11', X11 module
> module: new plugin module `sdl', Simple DirectMedia Layer module
> module: new plugin module `fb', Linux console framebuffer module
> module: new plugin module `dsp', Linux OSS /dev/dsp module
> module: new plugin module `gtk', Gtk+ interface module
> module: module bank initialized, found 61 modules
> config: config file /home/jonny/.videolan/vlcrc doesn't already exist
> intf: playlist initialized
> intf: added `ts1.mpg' to playlist
> module: locking memcpy module `memcpymmx'
> module: locking interface module `gtk'
> intf: interface initialized
> intf: creating new input thread
> input: playlist item `ts1.mpg'
> thread info: 1026 (input) has been created (src/input/input.c:196)
> input: access `', demux `', name `ts1.mpg'
> input : VCD plugin discarded (not a valid drive)
> input: opening file `ts1.mpg'
> module: locking access module `file'
> module: locking demux module `mpeg_ts'
> intf: stream has changed, refreshing interface
> input: EOF reached
> module: unlocking module `mpeg_ts'
> input: closing `/:ts1.mpg'
> module: unlocking module `file'
> thread info: 1026 has been joined ((unknown):0)
> module: hiding unused plugin module `dsp'
> module: hiding unused plugin module `fb'
> module: hiding unused plugin module `sdl'
> module: hiding unused plugin module `x11'
> module: hiding unused plugin module `ipv6'
> module: hiding unused plugin module `fx_scope'
> module: hiding unused plugin module `avi'
> module: hiding unused plugin module `filter_crop'
> module: hiding unused plugin module `vcd'
> module: hiding unused plugin module `filter_clone'
> module: hiding unused plugin module `filter_distort'
> module: hiding unused plugin module `filter_transform'
> module: hiding unused plugin module `filter_wall'
> module: hiding unused plugin module `filter_invert'
> module: hiding unused plugin module `filter_deinterlace'
> module: hiding unused plugin module `spudec'
> module: hiding unused plugin module `ac3_spdif'
> module: hiding unused plugin module `lpcm_adec'
> module: hiding unused plugin module `memcpy'
> module: hiding unused plugin module `ipv4'
> module: hiding unused plugin module `http'
> module: hiding unused plugin module `udp'
> module: hiding unused plugin module `logger'
> module: hiding unused plugin module `rc'
> module: hiding unused plugin module `mpeg_audio'
> module: hiding unused plugin module `mpeg_ps'
> module: hiding unused plugin module `mpeg_es'
> module: hiding unused plugin module `null'
> module: hiding unused plugin module `file'
> module: hiding unused plugin module `dummy'
> module: hiding unused plugin module `mpeg_ts'
> intf error: signal 2 received, exiting - do it again if vlc gets stuck
> module: unlocking module `gtk'
> intf: removed `ts1.mpg' from playlist
> intf: playlist destroyed
> module: unlocking module `memcpymmx'
> intf: program terminated
> [jonny at dh3mb tmp]$
> 
> When trying to play the program stream, vlc opens an output window with 
> the correct size and the window keeps open for the correct length of the 
> video. However, the output window stays black and there is no sound.
> When trying to play the transport stream, vlc does not open any output 
> window and the progress indicator in the user interface window jumps from 
> the left to the right side in less than a second.
> 
The stream misses some crucial PS header information and is looking for 
a start code, which it does not find.

> I'm using a PII-400/256 MB RAM/NVidia Riva TNT2 system with RedHat 7.3 and 
> the nvidia closed source drivers. vlc has been compiled from source and i've 
> tried 0.4.1 and 0.4.0. I've also tried the win32 version of vlc with the 
> same results.
> 
> 
>>Maybe you could try to upload it on the videolan's ftp.
> 
> I've uploaded the files to 
> ftp://ftp.videolan.org/incoming/jonny@1409.org-ts1.mpg
> and
> ftp://ftp.videolan.org/incoming/jonny@1409.org-ps1.mpg.
> 
> Some other question: I've already tried to use vls with my DVB-C card. 
> But it seems to insist to set the satellite parameters (which doesn't work 
> obviously) and it seems to only support the Nova-like cards as I can't 
> find any parameter to set the PIDs?
> 
> BTW: I have some basic C knowledge, so if I can do anything to get around 
> this problem, just let me know.
> 
> Cheers, Jonny <jonny at 1409.org>
> 
> 
We have the same issues (kind of) with DVB-S cards and are looking into it.

Greetings,
Jean-Paul Saman.


-- 
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/lists.html
If you are in trouble, please contact <postmaster at videolan.org>



More information about the vlc mailing list