H.264 bitstream in MPEG-2 PS format file can't play ...

For questions and discussion that is NOT (I repeat NOT) specific to a certain Operating System.
BrianBin
New Cone
New Cone
Posts: 6
Joined: 03 Feb 2007 00:14

H.264 bitstream in MPEG-2 PS format file can't play ...

Postby BrianBin » 03 Feb 2007 02:34

Hello all:
I am having a self-recorded H.264 bitstream and packed in MPEG-2 PS file format, I try to play it with vlc, but only the time indicator moves, nothing shown in the screen. So I am wondering if it is the error of wrong decoder module: libmpeg2, (it should be ffmpeg)
Here is the message:
main debug: adding playlist item `C:\Temp\MAQ00005.mpg' ( C:\Temp\MAQ00005.mpg )
main debug: creating new input thread
main debug: waiting for thread completion
main debug: creating statistics handler
main debug: thread 7412 (input) created at priority 1 (input/input.c:265)
main debug: drive letter C: found in source
main debug: `C:\Temp\MAQ00005.mpg' gives access `' demux `' path `C:\Temp\MAQ00005.mpg'
main debug: creating demux: access='' demux='' path='C:\Temp\MAQ00005.mpg'
main debug: looking for access_demux module: 1 candidate
main debug: creating access '' path='C:\Temp\MAQ00005.mpg'
main debug: looking for access2 module: 5 candidates
vcd debug: trying .cue file: C:\Temp\MAQ00005.cue
vcd debug: could not find .cue file
access_file debug: opening file `C:\Temp\MAQ00005.mpg'
main debug: using access2 module "access_file"
main debug: pre-buffering...
main debug: received first data for our buffer
main debug: pre-buffering done 1408981 bytes in 0s - 1375958007 kbytes/s
main debug: creating demux: access='' demux='' path='C:\Temp\MAQ00005.mpg'
main debug: looking for demux2 module: 45 candidates
main debug: using demux2 module "ps"
main debug: looking for a subtitle file in C:\Temp\
main debug: `C:\Temp\MAQ00005.mpg' successfully opened
ps debug: we found a length of: 20056933
main debug: selecting program id=0
main debug: audio is disabled, not selecting ES 0x0
main debug: looking for decoder module: 27 candidates
main debug: using decoder module "libmpeg2"
main debug: thread 7608 (decoder) created at priority 0 (input/decoder.c:159)
main debug: EOF reached
main debug: closing input
main debug: removing module "libmpeg2"
main debug: thread times: real 0m20.062628s, kernel 0m0.000000s, user 0m0.000000s
main debug: thread 7608 joined (input/decoder.c:191)
main debug: killing decoder fourcc `mpgv', 0 PES in FIFO
main debug: Program doesn't contain anymore ES
main debug: removing module "ps"
main debug: removing module "access_file"
main debug: thread times: real 0m20.078253s, kernel 0m0.015625s, user 0m0.000000s
main debug: thread 7412 joined (input/input.c:412)
main warning: unable to find parent!
main: nothing to play

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 04 Feb 2007 23:11

You are trying to do something non-standard and it is not supported.

VLC doesn't create lockouts as the end user is expected to know what they are doing. Try learning your formats and containers.

BrianBin
New Cone
New Cone
Posts: 6
Joined: 03 Feb 2007 00:14

Postby BrianBin » 05 Feb 2007 03:41

Thank you DJ, I guess I can see the video by specifying the decoder module. So how do I specify the decoder moduler to be ffmpeg? I had read lots of documents but couldn't find useful tips. So anybody knows?

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 05 Feb 2007 04:51

The problem is on the encoding side. H.264 should not be muxed into a MPEG PS container.

BrianBin
New Cone
New Cone
Posts: 6
Joined: 03 Feb 2007 00:14

Postby BrianBin » 06 Feb 2007 00:05

Exactly that's an commercial option. The PS container can support codec of H264 (specified in http://wiki.videolan.org/MPEG#Creating_ ... e_with_VLC in the bottom portion of the page)

So I do think it is a "standard-following" issue because the file is produced by us. I am wondering if there is a example PS container file that contains H264 codec bitstreams. Then it can be used as a reference, thanks a lot

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 06 Feb 2007 03:30

Thank you for pointing that out. I have made corrections to that page. H.264 is acceptable in a MPEG TS container but not in a MPEG PS container.

BrianBin
New Cone
New Cone
Posts: 6
Joined: 03 Feb 2007 00:14

Postby BrianBin » 06 Feb 2007 03:38

DJ forget about my stupid question, I found that our program stream lacks the section starting with 0x000001BC ... After adding this to the mpg file. It can be played by VLC.

By the way, when I use VLC to open a MP4 file, and set to save the stream out as in a "program stream" container, (no transcoding) then proceed, the output saved to another file, and this file can be played by VLC. So isn't a sign that PS mode container + H264 codec can be accepted?

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 06 Feb 2007 04:42

There are a number of things that can be done within VLC and are playable by VLC that are non standard. However, H.264 in a MP4 container is a standard and there is nothing unusual about exchanging containers (copying) assuming the new container is compatible. H.264 in a MPEG PS container is non-standard even though VLC may create and play this. It is improbable that a file made by another source will play.

I personally believe that all formats and containers should be compatible with each other and all sources, but in the real world that's not the way it is.

Lotesdelere
Cone Master
Cone Master
Posts: 9967
Joined: 08 Sep 2006 04:39
Location: Europe

Postby Lotesdelere » 06 Feb 2007 20:04

However, H.264 in a MP4 container is a standard and there is nothing unusual about exchanging containers (copying) assuming the new container is compatible. H.264 in a MPEG PS container is non-standard even though VLC may create and play this. It is improbable that a file made by another source will play.
Many DVB apps can create such PS container with H264 video.

I've just recorded one and VLC perfectly plays the sound, however the video is 'scrambled' even though the H264 format is properly detected.
Media Player Classic is playing the video properly but the sound is cut and 'bounces'.

Just to let you know :)

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 07 Feb 2007 09:00

Sorry I have not seen or heard about any Transmission systems like DVB cards that use MPEG PS. MPEG TS is common for this type of application because it lets the user pick and choose among transponder channels with a minimum delay. The only delay incurred is when you change Transponders. If MPEG PS were to be used the delay would be huge as the card would also need to select the frequency within the transponder stream for the channel and that is not the way this system works.

For reference please see:

http://www.erg.abdn.ac.uk/research/futu ... o/dvb.html
DBV Overview

http://www.erg.abdn.ac.uk/research/futu ... trans.html
MPEG 2 Transmission

Please note: It's not that what you suggest couldn't be done, it's just not as elegant as current methods. Also there is allot of confusion revolving around the MPEG TS and H.264 usage at the moment and until there is better support for the variants I would strongly suggest NOT throwing in another one.

Lotesdelere
Cone Master
Cone Master
Posts: 9967
Joined: 08 Sep 2006 04:39
Location: Europe

Postby Lotesdelere » 08 Feb 2007 01:52

You're right, a TS file was created even though I asked the app to record the stream as a PS file.

My mistake.

However the issue is still here, VLC doesn't properly display the H264 video.
But yes, I have understood your arguments :)

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 08 Feb 2007 08:16

Well we are getting a little closer now. You must also understand that there are two interlace formats, commonly being used by broadcasters for h.264, MBAFF and PAFF. MBAFF is supported PAFF is not. PAFF has the most common hardware support and perhaps it will be supported in the next revision of VLC.


Return to “General VLC media player Troubleshooting”

Who is online

Users browsing this forum: No registered users and 42 guests