Jump to content

H.264 Ts And Xmuxer Pro


MarkRy

Recommended Posts

When I play back BBCHD transport streams (recorded with DVBViewer) on a dedicated h.264 player they will not play back at all. If I save recording as .mpg I get sound only. If I convert to mpg I get sound only too. If I use Xmuxer Pro and demux/remux the ts stream to mpg or mp4 or avi then it plays perfectly - but this is time consuming.

 

My questions are:

 

1) What might be the difference between the DVBViewer recording/converted file and the Xmuxed/remuxed file? Might I be able to avoid this mux/remux by changing a setting in DVBViewer? It would appear that for h.264 files the different file saving settings have not so much effect.

 

2) I think I need to wait until the recording is finished before I can start the Xmux/remux. Is there anyway to start this process while the recording is being made. This would save time. The mux/remux is not realtime (about 0.7x) so an intermediary file is certainly required.

 

Thank you. I would really appreciate some pointers.

Link to comment

change the player.. ..DVBViewer or TSPlayer work well with H.264_TS provided you have the right decoders installed (e.g. cyberlink 7). No need to mess up your recordings with any muxing or remuxing tools :)

Link to comment
change the player.. ..DVBViewer or TSPlayer work well with H.264_TS provided you have the right decoders installed (e.g. cyberlink 7). No need to mess up your recordings with any muxing or remuxing tools :)

 

 

Thanks Derrick but its a hardware player (Netgem iplayer). It plays amongst other things h.264 at 25fps perfectly down my HDMI cable to my projector. I just record the program (currently remux it) to my USB hard drive and then plug the USB HD into the iplayer. It really is excellent apart from the remuxing. It was designed to play the terrestrial BBCHD ts so its got all the right hardware. The player does record HiDef as an mp2 for later playback but that doesn't mean it can't play transport streams. It happily plays SD .ts's. I tried remuxing myself, topping and tailing with TSPacketEditor etc.etc. The only thing that has worked is xmuxer. It can do it in different flavours too (mpeg4, mpg and avi - they all work flawlessly). Its just a shame to have this extra remuxing. Any other ideas please?

Link to comment
If I save recording as .mpg I get sound only.

How? The latest DVBViewer versions don't allow to record H.264 content as MPG anymore.

 

Is there anyway to start this process while the recording is being made.

DVBViewer uses shared read/write mode for recording. However, other applications that want to read an ongoing recording must open the file in the same mode, otherwise the OS will deny access. So it's up to XMuxer....

Link to comment
How? The latest DVBViewer versions don't allow to record H.264 content as MPG anymore.

 

That is right, but GE / Recorder / converter does.

 

DVBViewer uses shared read/write mode for recording. However, other applications that want to read an ongoing recording must open the file in the same mode, otherwise the OS will deny access. So it's up to XMuxer....

 

Oh, OK. I will look into that, thanks. Could GraphEdit sort it maybe instead? To be honest before I remuxed I had to reencode to watch it on iplayer. 28 hours to reencode a film at super high quality and I didnt even like it.

 

Don't get me wrong, I think DVBViewer is superb. It is the only thing that seems to work as it says. From a PC side I bought a Radeon 1950 card and the cyberlink codec but the ATI acceleration appears to be switched off - they are going to get back to me. I bought the CoreAVC codec 1.3 and that seems to have a problem - DVBViewer closes. I am told today that the iplayer may not play BBC-HD DVB-S transport streams because of a firmware update to stop people receiving DVB-T. Its a nonsense. I have a 3ghz PC +Radeon but the frame rate is rubbish. I only want to take my PC downstairs to watch England (maybe Germany) win the World Cup.

 

DVBViewer is a labour of love. I can see that.

Link to comment

Well, I asked "how" because there are users who try to "convert" H.264 video to MPEG2 by renaming a TS file to MPG, or by setting the video type in the channellist to MPEG2 :)

 

That is right, but GE / Recorder / converter does
.

DVBViewer GE doesn't support it anymore (H.264 is recorded as TS, even if the output format is set to MPG, same in DVBViewer Pro), because it was misleading for users. Many players (like PowerDVD) don't accept H.264 in a MPEG2 program stream container. However, it will be kept up in the Videorecorder Plugin, in case someone really needs it, and in the TSPlayer (TS -> MPG conversion).

 

I've justed tested recording H.264 as MPG (ProSieben HD and Anixe HD) with the Videorecorder Plugin, and encountered an issue. In contrast to MPEG2 channels, the broadcasted video time stamps (PTS) are about 2 seconds "later" than the audio time stamps - maybe in consideration of the delay caused by buffering and processing H.264. Due to this unforeseen offset, the Videorecorder Plugin and the TSPlayer calculate wrong (negative) audio time stamps at the beginning of the MPG file, thus messing up the DirectShow timing, resulting in stop-and-go playback (more stop than go ;)). However, after skipping some frames by dragging the position slider a bit to the right, DVBViewer and TSPlayer play it well. Do you encounter the same issue when you play your H.264 MPG files in DVBViewer?

 

I'm asking because this may be one of the differences between the VRPlugin resp. DVBViewer and XMuxer output.

Link to comment
Well, I asked "how" because there are users who try to "convert" H.264 video to MPEG2 by renaming a TS file to MPG, or by setting the video type in the channellist to MPEG2 :)

 

I've justed tested recording H.264 as MPG (ProSieben HD and Anixe HD) with the Videorecorder Plugin, and encountered an issue. In contrast to MPEG2 channels, the broadcasted video time stamps (PTS) are about 2 seconds "later" than the audio time stamps - maybe in consideration of the delay caused by buffering and processing H.264. Due to this unforeseen offset, the Videorecorder Plugin and the TSPlayer calculate wrong (negative) audio time stamps at the beginning of the MPG file, thus messing up the DirectShow timing, resulting in stop-and-go playback (more stop than go ;)). However, after skipping some frames by dragging the position slider a bit to the right, DVBViewer and TSPlayer play it well. Do you encounter the same issue when you play your H.264 MPG files in DVBViewer?

 

I'm asking because this may be one of the differences between the VRPlugin resp. DVBViewer and XMuxer output.

 

I know that renaming trick. If something doesn't play try renaming it first. It does often work with Mpeg2 extensions and WMP.

 

OK, I have done a BBC-HD h.261 test recording using the VRplugin and saving as mpg. It seems to play normally in DVBViewer. I do disable AV prior to recording to give it the best chance of recording the beginning bit right - whether it helps or not. Note: this mpg file does not play in MPlayer.

 

I then remuxed this recording using xmuxer into an mpg. This will then play in Mplayer but does not in DVBViewer!

 

When I originally started using DVBViewer I noticed that despite trying to save as an mpg - it was always saved as a .ts - as you say it is disabled. When I then came across the option in VRPlugin and the above behaviour, I assumed that the mpg file from the VRPlugin was still more closely related to a .ts file than an mpg, despite now having the mpg extension. The result was that it half played in my iplayer - sound but no video. Having just spent $100+ on Xmuxer I was not that disappointed! That said, if I can remove the remuxing step that would be very good.

 

I am sure you will enlighten me. Just for the record the remuxed mpg file was 115Mb, the original mpg was 112Mb.

Link to comment

I think the only way to find out what XMuxer does is to examine the MPG output with a hex editor. Maybe H.264 is packaged as private stream or something like that. If you have a possibility to upload some MB somewhere I can have a look at it.

 

BTW: GraphEdit with the Elecard MPEG Demultiplexer -> MainConcept or Moonlight H.264 decoder plays the VVRPlugin H.264 MPGs well. Seems your player is a bit picky about what it gets...

Link to comment
I think the only way to find out what XMuxer does is to examine the MPG output with a hex editor. Maybe H.264 is packaged as private stream or something like that. If you have a possibility to upload some MB somewhere I can have a look at it.

 

BTW: GraphEdit with the Elecard MPEG Demultiplexer -> MainConcept or Moonlight H.264 decoder plays the VVRPlugin H.264 MPGs well. Seems your player is a bit picky about what it gets...

 

MPlayer I thought was pretty much industry standard after WMP. I tried VideoLan Player too - no luck. TSPacketEditor gets an error and cant open it and of course iplayer. Procoder Express only see the audio (actually it crashes it) and I've been using procoder to encode my .ts's. I did another recording just to double check with the same results. I've either got a lot of picky players or its a very unusual file format. :)

 

 

In TSPacketEditor the remuxed one looks like this:

 

TSPE Scan of: V:\WinTV capture\BBC HD 03-27 11-34-20_remux.mpg

Scan performed on: Tue, 27 Mar 2007 14:45:02 GMT

 

PID Tree:

PAT Ver: 0 TS ID: 0x0000

Program : 1 PMT PID: 0x0010

0x0011 : H.264/AVC Video (as defined in ITU-T Rec. H.264 | ISO/IEC 14496-10 Video)

0x0012 : AC-3 (ATSC A/53B audio)

H.264/AVC Video (as defined in ITU-T Rec. H.264 | ISO/IEC 14496-10 Video): 0x0011

AC-3 (ATSC A/53B audio): 0x0012

 

PID List:

Found PID: 0000: PAT Ver: 0 TS ID: 0x0000

Found PID: 0010: Program : 1

Found PID: 0011: H.264/AVC Video (as defined in ITU-T Rec. H.264 | ISO/IEC 14496-10 Video)

Found PID: 0012: AC-3 (ATSC A/53B audio)

 

Continuity Errors: 0, Transport Error Indicator Errors: 0

End Of Log.

Edited by MarkRy
Link to comment
In TSPacketEditor the remuxed one looks like this:

That are definitely not the scan results of a MPEG2 program stream (MPG usually contains a program stream!), but of a transport stream resp. TS file, that has been renamed to MPG. There are no PAT, PMT and PIDs in a program stream.

 

The VRPlugin output has the same file extension MPG, but uses a different container format (PS, not TS).

 

If I use Xmuxer Pro and demux/remux the ts stream to mpg

With other words, XMuxer remuxes the original (broadcasted) TS to TS and calls it MPG. Obviously your player doesn't like the original TS, but wants it kind of reworked - dunno why. As I said, it seems to be a bit picky :)

 

I then remuxed this recording using xmuxer into an mpg. This will then play in Mplayer but does not in DVBViewer!

DVBViewer expects a program stream in a MPG file. Rename it to TS. I'm sure DVBViewer will play it happily.

Link to comment

..it seems that the remuxer is only mapping the dvb_pid_space into atsc_pids and calls the result mpeg, which satisfies the player. Guess it's the american style.. ..if you record with tsreader, the default file type is mpeg, though the recording is pure TS :)

Link to comment

Thanks Derrick and Griga for your time. I cant argue with any of your observations re Xmuxer. I have no doubt what you say is correct. My problem isn't the Xmuxer stream - my player will play the ts file whether remuxed as MPG, MPEG4 or AVI.

 

What I want is for for my iplayer to play your MPG file and save remuxing. To date I have not found any PC player (except DVBViewer and Elecard if you say so) that will play it (Mplayer, VLC wont) and it crashes Procoder Express (which seems to be able to reencode just about anything usually). Why is your mpg such a tricky number to play?

 

Hope I am not being a pain. Thanks again.

Link to comment
Why is your mpg such a tricky number to play?

"our" mpg is a worldwide standard called DVB :)

 

Yor're mixing up a couple of things. DVBViewer or TSPlayer enables ypur windows to build a direct show graph, provided you have the corresponding decoders (direct show filters) registered on your PC. Choice and performance of capable decoders is still limited. BBC_HD is a tough stream but with a powerful computer and the right decoder (e.g. cyberlink 7) you can enjoy the programme ;)

 

VLC (or mplayer) can play all kind of dvb_ts_streams. H.264 is still not fully supported. Streams like BBC HD won't play but others will just play fine (e.g. German Premiere). The problem with players like VLC is, that they come with their own decoders and won't make use of direct show filters like DVBViewer. You simply have to wait and hope that a future version will fix the problem..

 

Last not least your iplayer. Tell the makers that their product sucks. It's out of the question for a DVB application to map the pids to ATSC only because a player won't understand a widely accepted standard. :)

Link to comment
Why is your mpg such a tricky number to play?

DVBViewer handles it very clearly: TS is transport stream, MPG is program stream. Others don't. Have a look at the VRPlugin format setting - it is Video / Audio PS (*.mpg). It's quite unusual to wrap H.264 in a MPEG 2 program stream, however. We did it, because Elecard accepts it, but after all we decided to drop it again, since it confuses people like you too much :) Better refer to the content, not to the file extension, which is misleading in case of the XMuxer output. DVBViewer would never save a transport stream as MPG.

 

The main problem is: Your player doesn't want to play the original DVB transport stream, but requires a remuxed transport stream with the file extension MPG. Sorry, but we won't taylor the DVBViewer output for such a special purpose. We can't adapt to each and every strange piece of software out there, as you will understand.

Link to comment
His iplayer is not a DVB-compliant player cos it wants PIDs that are reserved in DVB for SI tables.

Maybe you are right, but...

 

but that doesn't mean it can't play transport streams. It happily plays SD .ts's.

...only in case of H.264 content? Would be really strange...

Link to comment

Thanks for your detailed response unfortunately much goes over my head. Please bear with me. My comments are:

 

If wrapping the TS in an mpeg2 wrapper results in very little understanding it, except direct show filters, then why not wrap it something else - mpeg4 say?

I guess if you just want DVBViewer to work well then that is OK.

I dont understand why Procoder Express can reencode a transport stream but crashes with your mpg file.

My iplayer will play a lot of HD material from divx to avi to mpg to wmv. For some reason it does not like the raw BBCHD DVB-S .ts stream but that could be because it had the BBC DVB-T trail disabled (I doubt it). FYI, I know it is not going to play it because I can see it has no idea how long the clip is. I think it somehow needs that information up front.

 

When the iplayer exports BBCHD DVB-T .ts - it exports it as an mp2 file as follows:

 

PID Tree:

PAT Ver: 0 TS ID: 0x0000

 

PID List:

Found PID: 0000: PAT Ver: 0 TS ID: 0x0000

Found PID: 05DE:

Found PID: 05E1:

Found PID: 0258: PES

Found PID: 0011: SDT

Found PID: 0012: EIT

 

If that means anything. I can't see that it would be sensible for the iplayer to remux the ts in order to record it. It might of course. Is mp2 not an Mpeg2 wrapper?

 

Thanks again for your time. I can see that whatever format you record the file in, it needs to be in real time. That must be a limitation in itself.

 

Best regards. If I am annoying you let me know!

Edited by MarkRy
Link to comment
When the iplayer exports BBCHD DVB-T .ts - it exports it as an mp2 file as follows:..

..maybe I've jumped to the wrong conclusion. This PID_analysis is DVB_compliant.

 

My answers were based on the xmuxer output. Nevertheless, I just want to show an example of forced on-the-fly ATSC_PIDs when recording with TSReader (BBC HD via satellite) :)

Link to comment
..maybe I've jumped to the wrong conclusion. This PID_analysis is DVB_compliant.

 

My answers were based on the xmuxer output. Nevertheless, I just want to show an example of forced on-the-fly ATSC_PIDs when recording with TSReader (BBC HD via satellite) :)

 

Thanks. Thats interesting. I was going to get TSReader but I couldn't test it without paying $99. I knew Xmuxer worked. Anyway, someone is going to invent something to play your mpeg file eventually - so I wont need it. ;)

 

Joking apart. Popcorn maker and a selection of output formats required urgently. Unless of course it too difficult. :)

 

Thanks.

Link to comment
If wrapping the TS in an mpeg2 wrapper results in very little understanding it, except direct show filters, then why not wrap it something else - mpeg4 say?

Wrapping it as MPEG2 program stream was dirt-cheap. The code was already there. We just had to use it for H.264. :) And you are the first and only one who wants it in a MPEG4 container - up to now. However, sooner or later it may become inevitable, particularly if broadcasters switch over to MPEG4 resp. AAC audio (already used in Norway, see here). But it will take time, since none of the developers here has any experience with MPEG4 containers (except TS).

Link to comment
  • 1 month later...
..maybe I've jumped to the wrong conclusion. This PID_analysis is DVB_compliant.

 

My answers were based on the xmuxer output. Nevertheless, I just want to show an example of forced on-the-fly ATSC_PIDs when recording with TSReader (BBC HD via satellite) :bye:

 

Derrick, what is the program on the left of your thumbnail, pls?

Link to comment

..it's the recording window of TSReader. It is possible to remux a channel. The example was about the difference between american ATSC and european DVB.

 

You have to buy a licence. These functions don't work in the light version.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...