View Full Version : New MPEG2 Transport Stream source filter
The author just contacted me about it on this thread:
http://forum.inmatrix.com/index.php?showtopic=1873
And you can download it here:
http://www.dvbportal.de/
(on the right-side panel)
shigaloo
12-31-04, 11:06 AM
the link on that page was not active
you download from here http://dvbportal.dyn1.de/download.php?file=hdtvpump-1.0.0.zip
hammerdwn
12-31-04, 01:56 PM
Blight,
I'm having trouble with customized media playback of tp files in ZP (WMVPro v4.10 b1). No matter what mpeg2 transport splitter I select (OpenSource, DVB Portal, or even nVidia), I get the same error dialogs:
Could not find suitable Decoder for "[Source File:Customized Graph].Output"
and then
Could no create Customized Media Graph, will now try standard graph...
Then the file plays, but CPU usage is 100% and playback is terrible. It defaults to standard graph - nVidia video decoder, nVidia HDTV Demux.
Can anyone post the exact steps how to get tp files to play cleanly with ff/rw using ZP customized media playback & Nvidia codec??? These directions don't seem to be working for me anymore: http://www.avsforum.com/avs-vb/showthread.php?postid=3786500#post3786500
Hammer
Hmmm..I can't register the filter.
I copied the files to c:\hdtvpump
Ran regfilter.bat, and get the message:
Regsvr32 -
LoadLibarary("hdtvpump.ax") failed. The specified module could not be found.
The bat file looks correct, it's finding the ax file, I must be missing a file dependency. Any ideas?
Running Win XP Pro Sp1a/Cat411/DX9c. Thanks.
andersa
12-31-04, 02:25 PM
Yes, you need the msvcr71.dll file. I found it here:
http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71
Got it to work in WMP10, but there's no seek possible at all?
/Anders
I think this filter was designed for DVB and no so much for ATSC streams, I think there may be a slight difference in some of the structures, perhaps providing the author with some sample files would help.
multiblitz
01-01-05, 10:28 AM
I understand from his foreum that it was specifically design for HDTV and AC3 from Satellite. Is there an alternative for normal recordings from satellite ? I use as well ZP for playback, but have problemes / heavy stuttering when the Data from satellite is not perfect.
crypto1
01-02-05, 12:38 PM
Hi,
I am the author of the HDTVPump.ax filter. The filter is currently for ATSC HDTV TS files. I will add DVB later. The next build will allow seeking and HDTV video file playback in MCE2005. I hope that with Blights help I get it running in ZP's custom graphs.
hammerdwn
01-02-05, 01:32 PM
Welcome to the Forum!
I wish someone would chime in here to say they have got ZP customized media playback working for ts/tp files. For me Graph Edit seems to work, but ZP throws errors & reverts to default.
Hammer
multiblitz
01-02-05, 01:44 PM
Well, I got the pva-files of the Technotrend card to work. But only with file source (asynchr.).
andersa
01-02-05, 03:13 PM
Crypto1,
great work man! I'm looking forward to test your next build. Please let us know when it is available.
/Anders
crypto1
01-02-05, 03:24 PM
Hi andersa,
Thanks. I will keep you informed.
This filter wouldn't work with ZP in customized mode, but this should be fixed pretty soon.
hammerdwn
01-03-05, 05:50 PM
Well, I was finally able to get customized media playback to work (not using DVB Portal source filter). CPU utilization is still too high for smooth playback, and still no seek.
Source Filter = NVIDIA ATSC File
Splitter = MS MPEG2 Demulitplexer(Correct Resolution) or NVIDIA HDTV Demux(Incorrect Resolution)
Audio Decoder > AC3 = NVIDIA Audio Decoder or Dscaler 5 or AC3 Filter
Video Decoder > MPEG2 Video = NVIDIA Video Decoder or Dscaler 5
Video Decoder > MPEG2 Transport = NVIDIA Video Decoder or Dscaler 5
Hammer:)
crypto1
01-03-05, 07:15 PM
The new version of the filter is online. ZP's custom graphs work now.
Changelog:
- Support for Zoom Player's custom graph added
- seeking and media position added
- option added to allow graphedit to attach to the graph
- Media Center 2005 Support added
- support for audio type 6 added.
Here is how a ZP custom graph is built:
1. Select "DVBPortal HDTV TS Pump als Source Filter" as source filter für MPEG2 transport
2. Add Force Sub Type: {E06D8023-DB46-11CF-B4D1-00805F6CBBEA}
3. "This filter is also a splitter" off
4. Select as splitter for MPEG2 Transport "Microsoft MPEG2 Demultiplexer"
5. Add here also Sub Type: {E06D8023-DB46-11CF-B4D1-00805F6CBBEA}
6. Select Audio und Video Codecs of choice and save
Looks like v1.0.1 of this filter is out and supports seeking among some ZP fixes.
I can confirm it works in ZP customized mode, however, something is screwy with aspect ratio using certain decoders (intervideo) and the image size is not reported properly to the decoders somehow (this include dscaler).
hammerdwn
01-03-05, 07:43 PM
Works like a charm! This is quite a breakthrough. DXVA+Overlay cpu=40% smooth playback. As expected will need more horsepower for vmr, software mode, etc...
Hammer
crypto1
01-03-05, 07:45 PM
Oh boy, I have no idea about this. HDTV has always a fixed 16/9 AR I think. But I don't know how to report this and tho whom. I definitely don't change a single byte when the packets are passed down stream. Any ideas?
crypto:
I have no idea, but the WinDVD decoder shows a completely weird AR and all decoders think they are viewing a 720x480 image (except the cyberlink filter which thinks it's viewing 720x540).
jmonier
01-03-05, 08:06 PM
I also see 720x540 with the Intervideo decoder (I haven't tried any others yet) on any of the ATSC resolutions. Might it be a problem or limitation with the Microsoft MPEG2 Demultiplexer?
I also noticed that it seems to have no facility to select sub-channels and seems to just pick the first one it sees (which is not necessarily the lowest PID). Is this on the list for the future?
That said, I quickly tried it on a number of files that have real problems using the Open Source Splitter. It handled most, if not all, to my complete satisfaction.
If the problems above can be handled then it's a real breakthrough and a winner!
jmonier
01-03-05, 08:18 PM
Originally posted by crypto1
.... HDTV has always a fixed 16/9 AR I think. ...
ATSC resolutions are 1920x1080, 1280x720, 704x480 and 640x480. The first 2 are 16:9 and the second 2 are 4:3. The resolution that comes out is none of these, although the last 2 look ok since 720x540 is also 4:3. The first 2 are just compressed horizontally from 16:9 to 4:3.
I believe 720x540 is the normal DVD resolution so it might be that the MPEG Demultiplexer treats everything as being that resolution.
DVD is actually 720x480 or 720x576 (ntsc/pal). I get 720x480 from DScaler, InterVideo 5 and the Gabest's OpenSource filter and 720x540 from PowerDVD 6.0.
I think the AR is ok in ZP derived mode in all these filters except InterVideo and the actual resolution shown is correct.
Seeking is a bit slow for me. Sadly, I only have 1min HDTV clips to test with. Anyone with a very fast uplink and maybe a 10min HDTV clip i can download for testing?
jmonier
01-03-05, 09:09 PM
I tried it with 4 decoders: Intervideo, Open Source, Nvidia and Sonic Cinemaster. All show 720x540. In ZP derived mode all but the Nvidia compress horizontally to 4:3. The Nvidia does maintain 16:9 but in a 4:3 box, i.e. there are black bars on all 4 sides of my 16:10 screen. When I go to ZP 16:9 mode, all fill the screen at the proper aspect ratio.
As near as I can tell the full 1920x1080 resolution does come through on my 1920x1200 monitor.
Seeking does seem a little slower than the Open Source Splitter but it's still quite good.
jmonier
01-03-05, 09:22 PM
I just checked and ZP reports NTSC DVDs as 720x540 using DVD Navigator and the Intervideo decoder. That's why I asumed that DVDs were 720x540 although I did know that 480 would be normal for anything designed for use with an NTSC TV.
ZP reports the compensated AR resolution for DVDs...
Also, try switching the video renderer to VMR9 to see if it solves the AR issues.
jmonier
01-04-05, 12:20 AM
Originally posted by Blight
ZP reports the compensated AR resolution for DVDs...
Could you explain further? It showed 720x540 (4:3) on a DVD that was being displayed at 16:9 AR.
[i]Also, try switching the video renderer to VMR9 to see if it solves the AR issues. [/B]
With VMR9 the Intervideo and Nvidia decoders displayed at the correct AR in ZP Derived.
The Open Source and Sonic CineMaster were still at 4:3 (same as Overlay).
andersa
01-04-05, 12:36 AM
Crypto,
on my system, with 1.0.0, graphedit renders a graph like this:
http://members.cox.net/andersa/pics/pump-1.0.0.JPG
with 1.0.1, graphedit renders a graph like this:
http://members.cox.net/andersa/pics/pump-1.0.1.JPG
The latter does obvioulsy not play. What am I missing?
/Anders
jmonier:
ZP compensates for the Pixel Aspect Ratio to achieve 720x540, which doesn't conflict with the video aspect ratio (which can be 16:9).
crypto1
01-04-05, 01:17 AM
@andersa
Version 1.0.1 comes preconfigured for ZP's custom graph. Use the filter's property page to activate "Autoload MPEG-2 Multiplexer". This option is only for "limited" players without custom graph features.
crypto1
01-04-05, 02:12 AM
Hi,
I just found the AR bug. Stupid, I used a fixed format descriptor with the above mentioned AR and resolution values. I will replace that with a dynamic descriptor. Despite that, with ZP's forced 16/9 setting it will run in the meantime. Sorry for the inconvenience.
andersa
01-04-05, 08:32 AM
crypto,
got it. Now it works.
Thanks,
/Anders
sjchmura
01-04-05, 11:53 AM
Has anyone comapred teh CPU usage of this demuxer to the Elecard one or the Mainconcept one? How does it deal with 2 AC3 channels also? For example, alot of programs (like TMPG3) can only open DS rendered TS files IF they show 1 audio track. 2 tracks seem to crash them.
Crypto:
Yes, make it expose both audio tracks, ZP can intercept additional tracks and let you switch between them... Although, I think you'd need the fixed version of AC3Filter or maybe use the DScaler audio instead to get it to work.
Also, any chance seeking can be improved? I'm not sure if it's a source filter issue or that microsoft demux filter which was always slow at seeking for me, even for standard MPEG2 streams.
Originally posted by Blight
Also, any chance seeking can be improved? I'm not sure if it's a source filter issue or that microsoft demux filter which was always slow at seeking for me, even for standard MPEG2 streams.
I'm not sure it's possible to implement normal seeking using the MS demux filter. I have an open source implementation of a filter that behaves very similarly to this one and the MS demux just doesn't repond to seek requests when in push mode.
John
crypto1
01-04-05, 12:41 PM
About seeking improvements I am open for suggestions. The problem is, as with all non-indexed files, to find a landing point on an I-Frame bondary. I am on it.
About multiple audio, how does ZP expect the audio frames? On two audio pins, or interleaved an one pin? The same question is true for the TMPG3 encoder. Any info is welcome.
jmonier
01-04-05, 01:15 PM
crypto1:
I'm not sure that it's necessary to land on an I-frame for seeking to work. I've been working with the source for the Open Source Splitter and it doesn't do anything special about I-frames. I've actually modified the code to seek only on file position and that seems to work fine and is very fast.
I suspect that most decoders can start anywhere in a stream. Of course, the MS Demux might have special requirements that I'm not aware of.
I've found some serious problems on some files with multiple sub-channels. I'll be happy to go into details whenever you're ready to tackle that.
sjchmura
01-04-05, 01:31 PM
Clearly most apps don't handle multple audio tracks well (TMPG, ZP etc and crash). Actually, WM10 and graphedit just default to "audio track 1" and work!!!!
jmonier
01-04-05, 01:45 PM
Actually, ATSC Transport Streams have good provisions for handling any multiple track situation. In the case of multiple audio tracks there will be multiple Programs in the PAT which each have the same video PID but different Audio PIDs. All that's needed is to select the video and audio PIDs specified by a Program and send only those to the video and audio pins of the splitter.
Unfortunately, many Splitters (including the Open Source Splitter) don't do this and thus have problems.
budiman
01-04-05, 02:28 PM
crypto1:
Suggestion for improvement to your filter.
Can you add buffering to the filter? If the user can specify how much (32 MB, 64 MB or so) buffer, that would be awesome.
Local playback is wonderful, but when trying to play a file that's on a network, the video stutters, because network latencies add to the reading of a file, even though the network possible throughput is more than enough to handle the stream.
Thank you. Thanks for a wonderful filter.
crypto1
01-04-05, 03:06 PM
jmonier:
Exactly, there are even some files (Hilary.0000.ts for instance) with two programs. That are 2 video streams (HD +SD) and 2 audio streams. In Europe it is also popular to have mpeg and ac3 tracks. I think there is much room for improvements.
JohnAd:
Also true, the mpeg-2 splitter does not seek in push mode. But the push mode seems to be particularly suitable for HD. Actually this is how stream playback is handled in Microsoft's new BDA Architecture for TV. All the Microsoft provided filters behave very well and stable in this area. The HDTVPump source filter is in fact emulating a BDA device pumping TS packet into the graph.
crypto:
You can do it in several ways. One way is to expose an audio pin for each stream and then ZP will add a decoder for each and then intercept the decoded output (or relayed output for SPDIF) and let you switch between them. Or... You can expose the streams on an IAMStreamSelect interface and ZP will expose all the options under the Stream Selection sub-menu, letting the user select which one to activate.
Regarding seeking. Implementing your own filter would be best I think, perhaps you can use a background thread to scan the file for I-Frames if it's not too heavy on the CPU so that it won't interfere with playback. NVIDIA's seeking seems fast, so I guess it's doing soemthing right.
The problem with seeking in bytes is that you don't really know where you are seeking. Perhaps you can do something smart, like seek, find timeline location then make another calculated seek to where you expect the timeline to be, within 3-4 internal seeks you should be able to find the correct location. Question is, how fast will that be.
crypto1
01-04-05, 04:41 PM
Thanks for the info. I think I go for the IAMStreamSelect interface. It sound pretty reasonable to me.
Regarding seeking. It isn't that slow in my samples. Can you describe the situation when it takes a while. File sizes? HD / SD Files? Anything special?
I used the 1min LOTR 1080p sample file, when you seek it instantly shows an image then the timeline advances several seconds and only then it starts to play again, it's as if it seeks too far waits for the decoded streams to reach that point.
jmonier
01-04-05, 04:52 PM
Originally posted by Blight
The problem with seeking in bytes is that you don't really know where you are seeking. Perhaps you can do something smart, like seek, find timeline location then make another calculated seek to where you expect the timeline to be, within 3-4 internal seeks you should be able to find the correct location. Question is, how fast will that be.
With UNMODIFIED ATSC Transport Streams you DO know where you are because they are transmitted at a constant known bit rate. Admittedly, because of latency in the filter chain and other considerations, it may not be exact, but it's certainly close enough, i.e. within milliseconds.
I've been using a version of the Open Source Splitter modified to seek only in bytes based on the ATSC bit rate and it appears instantaneous with perfect accuracy.
jmonier
01-04-05, 05:13 PM
Originally posted by Blight
I used the 1min LOTR 1080p sample file, when you seek it instantly shows an image then the timeline advances several seconds and only then it starts to play again, it's as if it seeks too far waits for the decoded streams to reach that point.
I've tested with a number of off-the-air files and in all cases the delay after seek is less than 0.1 sec. (Probably way less.)
Is it possible that the LOTR file has had null packets removed or something similar? I've seen delays on seeking with other splitters when that is done.
Note that, although many people use Null Packet Stripper or something similar, the file no longer conforms to the MPEG (or ATSC) spec when that is done.
crypto1
01-04-05, 05:13 PM
jmonier:
That's exactly how it is currently done. But I think it is causing the effect Blight has described. Seeking is done at packet boundaries. But in the worst case it hits a packet after the one where the payload started or one of the many other streams. Seeking also needs to flush all buffers. So it takes a while until the decoder encounters an I-Frame to start decoding again.
> because of latency in the filter chain and other considerations, it may not
> be exact, but it's certainly close enough, i.e. within milliseconds.
Yes, and the other methods (incremental seeking, ...) discussed will only enhance the precision and not the seek time. Precision is only a matter if the filter would be used in an editing application.
I think the sample I have includes null packets as it compresses from around 140mb to 70mb, which would indicate a lot of dead space.
But... I don't really have a clue, I have no idea where this sample originally came from.
fingersdlp
01-04-05, 05:55 PM
FWIW, I found seeking using Overlay Mixer to be pretty good. But when I choose VMR9 (with the DScaler2 decoder) it is not so good. When it works it is similar to what Blight describes but often the display will freeze - audio continues and I have to hit skip to start of file to get it playing again.
Overall pretty nice to have this work as well as it does.
Thanks
Brian
crypto1
01-04-05, 06:05 PM
Ah, that's interesting. I did my tests using overlay. I will check that.
jmonier
01-04-05, 06:11 PM
I went back and looked at a bunch of files again and I may have been confused before. What I see happening now is that when I seek, the frame freezes, then after less than 0.1 sec the new sound comes on, then after 0.5-1.0 sec the new picture comes on. Before, I may have been focusing on the sound only, but I'm not entirely sure.
If I read Blight's post above correctly, the new frame appears instantly and then freezes which is quite different than what I'm seeing, so I don't know.
I also looked carefully at the same files with the Open Source Splitter and I do see the same thing as above except that the sequence is significantly faster.
Could it be that the MS Demux does things internally that cause the delay? I know that it does things like correcting the PTS for discontinuities, so it could be introducing delays.
jmonier
01-04-05, 06:19 PM
I just tried it using the Overlay Mixer and it seems the same as VMR9 for me.
fingersdlp
01-04-05, 08:25 PM
One other tidbit... If I use ZoomPlayer VMR9 I see occasional tearing. Maybe in the future the windowless rendering will fix this? I know I can choose a windowless VMR9 option for DVD - but not for transport files. Put that on my wish list. :)
Thanks for the nice filter (and thanks for zoom player!)
Brian
EDIT: VGA and DVI both show slight tearing, 1280x720
crypto1
01-06-05, 11:57 AM
Regarding tearing, would a PCR clock in conjunction with reclock help to cope with that?
hammerdwn
01-06-05, 06:01 PM
I get really bad tearing using ZP + nV dxva + vmr9 on HD material. Basically the whole image is one big tear! CPU usage is around 80%, must be my wimpy GF4MX card.
Hammer
xkode2002
01-08-05, 02:27 PM
I just picked this up and I'm attempting to use it in MediaCenter2005 with TS files captured from my Motorola 6412 HDTV receiver. While it plays smooth enough, the play time is reported wrong and all FF, REW, and trick play functionality is broken.
For example, when I play the 2 hour 2 minute pilot of Lost (a 720p TV show from ABC), it reports it as 1 hour and 42 minutes. You can pause and play again, but pressing FF or REW or skip forward or back fails. When you maximize or restore the window, the video restarts at the beginning, like it can't find where to continue playing from.
In Windows Media Player 10, the time is also incorrect and you can't click on the slider bar to move playback to a particular point in the file.
This may be the same as the seek issues noted above. I know that MCE2005 uses VMR9. I think WMP uses overlay, though.
Crypto: I can send you a 30 second sample (about 50MB) if you PM me with a share where I can drop the file.
crypto1
01-08-05, 03:53 PM
Hi xkode2002,
I know about the not seeking in MCE2005 and MP10. I have implemented the necessary interface (IMediaSeeking), but the both players seem to use another unknown interface. If anybody can help me with this, I can add the missing stuff. But I am currently not aware, what is missing.
The wrong times are caused by the different bitrates of 720p streams. The filter uses a fixed calculation for 1080i streams. Maybe I can correct this in the next version. Currently I am adding the multiple audio stuff.
jmonier
01-08-05, 04:49 PM
Originally posted by crypto1
The wrong times are caused by the different bitrates of 720p streams. The filter uses a fixed calculation for 1080i streams. Maybe I can correct this in the next version. Currently I am adding the multiple audio stuff.
I just checked a 720p stream and it gives the correct duration for me under ZP. The overall bitrate of an unmodified ATSC stream is 19.4 Mbps for any resolution. Now if null packets or other subchannels have been removed then the bitrate will be different but that is not reliable as it depends on how the individual station encodes the program.
xkode2002
01-08-05, 06:15 PM
jmonier: the 720p ts files i'm using seem to be standard and i have passed samples through mpeg2repair with no errors reported. i think crypto knows what the problem is and will fix it when he gets a chance.
jmonier
01-08-05, 07:30 PM
Originally posted by xkode2002
jmonier: the 720p ts files i'm using seem to be standard and i have passed samples through mpeg2repair with no errors reported. i think crypto knows what the problem is and will fix it when he gets a chance.
Well, everything I said is completely true. I do have quite a bit of experience working with these very issues and with an ATSC Demux.
MPEG2Repair mostly looks at the underlying MPEG Packetized Elementary Streams. It does relatively little at the Transport Stream level and doesn't check for Null Packet Stripping, etc.
It's easy to tell if your problem is due to a non-standard file. If the length of your file is about 14.5 GB then it has been modified and the duration reported is correct based on that file length and the standard ATSC bit rate for unmodified files. If it's about 17 GB then the problem lies somewhere else.
Since I get a correct duration on a 720p file recorded directly off the air and not modified, the problem is more complex than just saying that all 720p files will have wrong durations. I'm passing along this info so that crypto has the best chance of solving the problem and not spending extra time due to not having complete information.
One other piece of information: I don't know if you have a Fusion card, but the most recent versions of their software DO strip things from the stream and thus end up with a non-standard file.
xkode2002
01-08-05, 07:58 PM
The 2 hour 2 minute file is about 13.8GB. So I guess this proves your point, but I thought the size could vary depending on the amount of variation (e.g., lots of movement on the screen would cause a larger file).
FWIW, when I use the elecard demux, it gets the time exactly right.
I assume you can't fix the trick play if you don't fix the time problem, since a 30 second skip go who knows where if you don't know where you are in the file (timewise) to begin with.
It is the LOST 2 hour pilot recently re-aired on ABC. The TS was grabbed from a Comcast Moto HD set top box using CapDVHS via firewire.
jmonier
01-08-05, 08:52 PM
The actual MPEG data does vary in size but the Transport Streams are padded with Null packets to make them a constant bitrate. If you think about it, the over the air stream has to be constant.
The Elecard demux probably uses the Time Stamps to figure the length. This works fine most of the time until you run into a stream with a discontinuity. This happens occasionally and is completely legal under the ATSC and MPEG specs, but can cause real problems. I think that's why crypto is using file length. It provides for very fast seeking as long as the bitrate is constant and known.
I wouldn't expect this to have a major effect on seeking, however. It might mean that 30 sec seeks ended up being 27 sec or so but they should still work.
Your FF, RW, etc. problems are something different, however. Apparently, according to crypto, in MCE Microsoft has chosen not to (properly?) implement the seeking interface that it specifies as standard for DirectShow. That's curious if the Elecard demux works fine for you since I would expect it to have the same interface.
xkode2002
01-09-05, 01:06 AM
The elecard demux works great with trick play. I don't think FF and REW work with HDTV .mpg or .ts files with any demuxer I have used. However, trick play is way more important to me. Mostly I use it to skip through commercials.
Only problem is that it has a bug with the NVDVD video codec when using the elecard demux that causes a small hiccup in the video stream every few minutes in transport streams (not in MPEG2 files). So despite the fact that NVIDIA provides the best picture quality (to my eye), I am using the Elecard video codec. (Elecard and WinDVD6 also work well for TS files, but why pay for more and more DVD codec packages when you can get what you need from one.)
HDTVPump does *not* cause the hiccuping in the video with NVDVD, but can't do the skip forward or back (trick play) functionality.
Also, it's not just MCE where HDTV Pump has a problem with seeking... WMP10 can't seek either with HDTV Pump (as Crypto acknowledges in a prior post in this thread).
So ideally, Crypto works out the trick play issues and I can go back to using the NVDVD codec.
One more slightly related data point: nvidia's HDTV demuxer also can't do trick play and not only gets the time wrong, but calls every file 0:00 long. So it seems that the elecard demux is about all that works on .ts files so far.
Transport Steams captured from 1394 enabled cable boxes like the 6412 are
always "partial" Transport Streams. That is, the null packets, sub-channels
and PSIP have already been stripped and a new PAT is frabricated to only
have one program.
To test Transport Streams to see if they are full or partial, you can use my
demux tool xport, which can be downloaded here:
http://www.avsforum.com/avs-vb/attachment.php?s=&postid=4615081
with instructions here:
http://www.avsforum.com/avs-vb/showthread.php?postid=4615081#post4615081
xport prints the Transport Stream bitrate every PCR. If the bitrate only varies
a few to tens of bps, it's a full Transport Stream with null packets. If the
bitrate varies wildly, it's a partial Transport Stream.
Ron
crypto1
01-09-05, 06:38 AM
I have no idea, what is necessary to enable MP10 and MCE to seek. It is not related to the wrong time calculation in some files, that's for sure. Maybe someone can help me out here.
Seeking is implemented in the HDTVPump filter. It can seek in ZP and other players.
crypto1
01-09-05, 06:50 AM
dr1394:
Thanks for the info. I knew about xport. I used it to learn about the pts stamps. What I not found out is how to calculate meaningful time values from the long values.
Anyway, I think to get the correct stream lengths, it is necesary to seek to the stream end and read its time stamps. Whould this be ok and practicable?
Originally posted by crypto1
dr1394:
Thanks for the info. I knew about xport. I used it to learn about the pts stamps. What I not found out is how to calculate meaningful time values from the long values.
PTS's and the upper 33 bits of the PCR are in 90 kHz ticks. For instance, the PTS
difference between two video frames is 3003. 3003/90000 = 0.033366666...
and 1/0.033366666... = 29.97 (or more precisely, 1000 * 30 / 1001).
Anyway, I think to get the correct stream lengths, it is necesary to seek to the stream end and read its time stamps. Whould this be ok and practicable?
Yes. Even if the stream is null stripped, the PCR's and PTS's are still correct and
reflect the running time of the clip. Be sure to use all 33 bits (xport "cheats"
and only uses the lower 32 bits) and check for rollover (the ending PCR or PTS
is less than the starting PCR or PTS).
Ron
crypto1
01-09-05, 08:38 AM
> Yes. Even if the stream is null stripped, the PCR's and PTS's are still
> correct and reflect the running time of the clip.
Great, then I think this is what I am going to implement.
jmonier
01-09-05, 11:17 AM
> Yes. Even if the stream is null stripped, the PCR's and PTS's are still
> correct and reflect the running time of the clip.
As I stated above, while this works in most cases, it does not work in every case. Discontinuities in the PCR or PTS are permitted by the spec and do occur.
I have several files for which this is the case. The Open Source Splitter (which uses PTS for duration and seeking) goes crazy with these files. It shows a wrong duration on some, but the worst thing is that the seeking jumps all over the place.
Note that if the stream is null stripped it no longer conforms to the MPEG (and thus ATSC) spec since that spec requires Transport Streams to be constanr bit rate.
So please at least provide the option to seek strictly by file position.
xkode2002
01-09-05, 11:37 AM
JMonier: What do other splitters do? Have you tried elecard's demux? It seems to handle the files ripped from my Comcast DVR perfectly. It knows exactly how long the file is and the skips appear to be exactly 1 minute (as I have set them in the MCE UI).
How would you provide an option? Would it be in the filter properties page or maybe there is some "smart" algorithm to determine which method to use?
jmonier
01-09-05, 12:51 PM
I haven't tried the Elecard demux in a long time. I'm sure it would work fine in the majority of cases. In my experience, the files that have a problem are less than 2% of the total. It's just such a nuisance when I sit down to watch something and I can't because of these problems
I have to admit that I'm working with a demux that seeks using the PTS and that may be worse than using the PCR. I don't know which the Elecard uses but it's certainly could be using the PCR. Still, the spec allows for discontinuities in the PCR as well so it might have a problem on the occasional file and you just haven't seen it yet.
It's also possible that the recording program you're using fixes up the PCR's and/or PTS's. So there are a lot of variables that affect the problem and it depends very much on how things are done in each individual case. For instance, I always use unmodified transport streams recorded by myHD. For this case seeking by file position always works and I don't ever see a problem. On the other hand, you use a different means which suits your setup and you instantly see a problem.
Using the property page is the simplest way to specify the option, but it might be a nuisance to use if you had to switch back and forth a lot. I think a smart algorithm is possible. There is certainly an ID coded in the stream that identifies it as an ATSC stream. I think it would then be possible to look for NULL packets near the beginning of the file. They occur quite frequently in an unmodified file so you wouldn't have to look far to be certain that they were stripped.
xkode2002
01-09-05, 02:14 PM
jmonier: what demux do you use today for HDTV transport streams? What video and audio codecs?
jmonier
01-10-05, 01:13 PM
Originally posted by xkode2002
jmonier: what demux do you use today for HDTV transport streams? What video and audio codecs?
I'm using the Universal Open Source MPEG Splitter that blight posted for use with Zoomplayer. The source is on Sourceforge as part of a much larger project (guliverkli) but I don't think the binary is posted there.
It works very well on "well behaved" Transport Streams but has problems with others. I've made it work somewhat better by pre-processing my files.
It's biggest advantage is that skips are almost instantaneous on unmodified ATSC files. They can be somewhat slower on null packet stripped files. I'm currently working with the source code to fix the problems. I've made some progress but have a ways to go.
It would probably work with your files although I don't know whether it works with MCE.
I use the InterVideo MPEG decoder although most of them will work. The Nvidia decoder is slightly jerky on my setup for some reason.
For audio, I just pass through to the SPDIF output using AC3Filter and then actually decode in my Yamaha RX-V1.
xkode2002
01-10-05, 02:31 PM
cool... do you have a binary with your fixes that you can distribute yet? i can test in MCE.
jmonier
01-10-05, 02:55 PM
Originally posted by xkode2002
cool... do you have a binary with your fixes that you can distribute yet? i can test in MCE.
Probably the best version for you to try right now is the one that's on the ZP site: http://www.inmatrix.com/zplayer/formats/mpeg2.shtml
My mods are directed at unmodified ATSC files only and in it's current state would probably cause you more problems. Later I will have a version that will detect modified files but even that is unlikely to work any better than the above version on files such as yours.
xkode2002
01-10-05, 10:32 PM
I installed this splitter and made a graph using my troublesome .ts sample (if anybody has space for a roughly 50MB file, I will upload it for folks to see). It hiccupped all over the place. This file plays smoothly with the elecard demux and video codec.
I don't know what to say... maybe these files are really wacked out, but Elecard seems to play them ok.
One other thing I noticed. While things recorded on ABC seem to work OK (such as Lost), I recorded the pilot to 24 last night and when I looked at the transferred transport time, even with Elecard, the play time shows as 35 minutes instead of 2:02.
That seems really strange to me, since they're both 720p stations and both copied off of Comcast from local HDTV broadcasts.
Again, if anybody has a share where I can drop samples for download, that would be great.
crypto1
01-11-05, 02:23 AM
xkode2002:
I am currently working on a new version of HDTVPump and that will handle PCR/PTS time stamps. So let's see how this works. If there are still time related issues, I will take your offer to analyse those 24 streams.
Seeking in MP10 is still unresolved. Very strange, it's sibling mplayer2, which is basicly the same software, can seek. This is so weired.
xkode2002
01-11-05, 10:27 PM
Crypto: thanks for the update. I will be happy to beta test when available. When you allow this option, please be sure to make the setting "stick" when set in the property page. IOW, don't make me have to set PTS each time. I'm using the Elecard demux and it defaults to "bitrate" instead of PTS. The problem is that there is NO way to access the filter's prop page in MCE or WMP10. That means that I can't get it to support PTS mode, AFAIK.
The best filters remember their last setting, so I can just go into graphedit once and set it and then I'm good from then on. (And no, I'm not switching to Zoomplayer, I'm sure it's great, but I already have the wife trained on MCE2005.) :D
(BTW: if anybody knows how to hardcode PTS in the elecard demux, please post here or PM me ;))
nathan_h
01-11-05, 11:11 PM
Just downloaded HTDVPump and who, it's great to see HDTV played in MP10. The weird thing is, though, that when I try to browse to a TS file from within MCE 2005, it crashes MCE.
I may have something else going on, too, because it not only crashes MCE and starts a crash report, but it starts up Seagate's disk utility program. (How the two are related, I don't know.)
But by unregistering HDTVDump, the problem goes away....
crypto1
01-12-05, 01:06 PM
Hi nathan_h,
in the current version a registry setting is needed to make the HDTVPump filter work in MCE2005. Run mce2005.reg. The next version will not need this extra setting anymore. I have found out what is different in MCE.
BTW. Meanwhile I have added the language track selection feature, which works in all players I have tested. What I don't know is, how to change a track from within MCE. Did MS forget this feature? Any ideas?
nathan_h
01-12-05, 03:40 PM
Bingo. I'm bad about seeing such details in readme files -- I always miss a step.
jamesmil
01-12-05, 05:56 PM
Newbie question, but how can I confirm that the HDTVPump splitter is the one being used in MCE/WMP10 once installed?
crypto1
01-13-05, 11:27 AM
Hi jamesmil,
That's the question. I also wondered about this.
Method1:
Start mplayer2.exe instead of wmplayer.exe. It is still available in the same folder as WMP10 (C:\Program Files\Windows Media Player) The old version of WMP has of function to display all filters in the graph:
1. Start mplayer2 and load a .ts files
2. Open Properties from the File menu
3. Click on the Advanced tab
4. Select the File Source and click on Properties
When HDTVPump is in use, its property page is opened. It has at least two pages, Program Info and About. It is likely to 99.99% WMP10 and MCE are also using it. BTW. I have no idea why Microsoft removed this helpful function in the newer versions of MP.
Method 2: (100% sure, but requires Graphedit tool)
1. Enable "Allow Graphedit to attach to graph" in HDTVPump's properties.
2. Start MP10 or MCE
3. Open Graphedit and attach to the graph
The source filter in the graph should be HDTVPump.
nathan_h
01-15-05, 04:31 AM
I used method one to make sure I've got HDTVPump in action -- and I do. But in MCE 2005 it still doesn't like my TS files (which play fine in WP10). Anything else one should check?
multiblitz
01-15-05, 09:52 AM
crypto, is there a certain horizont for the normal DVB-S version ?
crypto1
01-15-05, 10:59 AM
Hi multiblitz,
the new version with DVB support is currently in the test phase. If everything works ok, it will be released later today.
Change log:
as of 01-15-2005
- Support for DVB streams added
- multiple audio track selection added
- MPEG audio support added
- PCR clock added
- time stamp based media length detection added
- video resolution detection added
- new options added
- improved support for unaligned TS streams
- improved MCE2005 support
- aspect ratio bug fixed
crypto1
01-15-05, 07:32 PM
OK, the new version 1.0.2 of HDTVPump.ax is out now.
hdtvpump-1.0.2.zip (http://dvbportal.dyn1.de/download.php?file=hdtvpump-1.0.2.zip)
xkode2002
01-16-05, 01:32 AM
Cool! Crypto: does this include the PTS seek feature?
crypto1
01-16-05, 02:31 AM
Kind of, the filter uses an internal time base which is synchronized whenever a PTS is encountered. This should be precise enough even for cutting applications.
jamesmil
01-16-05, 02:41 AM
Quick feedback:
I'm using this (v 1.0.2) with the .67 version of the NVIDIA decoders on XP MCE. With the filter registered, HD Transport Streams created by my R5000-HD sat receiver mod look and sound great in both Media Center and Windows Media Player 10. However, in both cases seeking does not work. In WMP10, the seeking bar and FF/REW buttons are disabled. In Media Center, the FF/RW buttons are active, but they do not cause the stream to seek.
Also of interest, if I use Windows Media Encoder 9 and try and select a TS file as a source file to convert, it crashes the encoder app...
Haven't tried Zoom Player.
Thanks for all the effort on this filter!!!
crypto1
01-16-05, 03:16 AM
Hi jamesmil,
Thanks for the feedback. Regarding seeking in MCE/MP10, this is still a mystery to me. As soon as I know what is missing here, I will implement it.
WME is known to be very unstable with different kinds of input. I will check what I can do. I have used it in the past and I had to use many additional tools and conversions until WME ate the files. Here is what I did: Euro1080 Promo in HD WM9 @5,3 MBit/s (http://dvbportal.dyn1.de/forum/index.php?board=7;action=display;threadid=98)
Hey xkode2002, how did you get HDTVPump to talk to the Elecard demux filter? On my system they will not talk. HDTVPump only speaks to the Mirosoft or NVidia decoders. If I unregister those it cannot attach to the Elecard demux to complete the graph. If I then unregister HDTVPump, then it will render the HDTV streams some other way. I can seek when it's like this although there's some weird A/R problems.
Crypto: I can't thank you enough for the work you're doing. Not having a proper HDTV pump is a real sore point! I'm very hopeful you'll figure out what's wrong with seeking in MediaCenter/WMP.
-- Rob
crypto1
01-25-05, 02:09 AM
Hey DJRobX,
what you observed is correct. HDTVPump works in push mode, the Elecard demux in pull mode. Those two cannot connect. In the meantime I got some comments from MS. MP/MCE seem to expect pull mode for seeking. What a bummer. I am currently trying a push/pull hybrid model, but I often get deadlocks. This seems not very promising. I believe MS made a big mistake in always asuming pull mode.
jamesmil
01-25-05, 01:14 PM
Keep trying, seemless seeking in MCE for Transport Streams is the last piece of the puzzle for my system. I too want to add my thanks for all your efforts.
xkode2002
01-25-05, 11:16 PM
Crypto (obviously) is correct. I only tested Elecard Demux-->Nvidia Video/Audio Codecs and HDTV Pump-->Nvidia Video/Audio Codecs
Elecard seeks fine but glitches with the Nvidia video codec on some of my more obscure transport streams (from my Moto6412--they know about the bug and are working on it). Right now I'm using elecard video codec and demux and nvidia audio codec. This works perfectly in WMP10 and MCE as long as you set the elecard demux initialization to Simple in a test build they sent me (the live one I downloaded had problems where it dropped back to bitrate but older versions of the demux didn't do this).
I would also like to simply add a "thanks" for working on this because it is definitely something I would like to have. Specifically seeking in MCE. :)
multiblitz
01-27-05, 04:30 AM
Crypto, one question: Mytheatre records directly MPEG files from the DVB-S Card. Nevertheless it shows the same stuttering sometimes as the pva-transportstreams of the Technotrend-card. Can your Source filter be used as well for these files ?
Crypto1. Thanks for your hard work on this.
I would like to comment on MCE in my set up. For some reason there are a few TS files that I just can't play for the life of me. They'll start, then after a few seconds I get an error through MCE. As most people have commented, they play fine in Media Player. Could it just be a few bad TS files? The one in particular I'm talking about is HD Conan the Barbarian.
Thanks
crypto1
01-27-05, 02:24 PM
multiblitz: Currently the filter supports only .TS files. I plan to add mpeg/pva formats later. But as there are still issues with .TS and I am focusing on that.
llama: Put the .TS file in question in an extra folder and retry playback.
MCE starts many threads to extract thumbs for every file in the video folder and its sub folders. The media detection graphs with HDTVPump are not build correctly with the effect, that MCE can't build thumbs from .TS files and sometimes MCE ends itself during the detection phase when it encounters a bad TS file.
multiblitz
01-27-05, 04:06 PM
That sounds absolutely wonderful. Thanks a lot !!!
nathan_h
02-02-05, 12:10 PM
Originally posted by llama
Crypto1. Thanks for your hard work on this.
I would like to comment on MCE in my set up. For some reason there are a few TS files that I just can't play for the life of me. They'll start, then after a few seconds I get an error through MCE. As most people have commented, they play fine in Media Player. Could it just be a few bad TS files? The one in particular I'm talking about is HD Conan the Barbarian.
Thanks
I get the same behavior, regardless of whether I use a MS supported codec or not. Note that Media Portal, VLC, etc, play the same files fine, as well. So it's clearly MCE.
Yea, mine still does it :/ (even after putting it in a seperate folder).
crypto1
02-03-05, 02:13 AM
As I see it, there are two different problems with the current version of the HDTVPump in MCE (despite missing seeking):
1. Random MCE programs aborts without an error message during the media detection scan.
2. Some TS files start playing and than cause an error after a few seconds.
1) I have got some info on this. The MediaDet component cannot build poster frames for the media type I am using. Maybe I can add a compatible media type here. In the meantime you can use a jpeg file as thumb.
2) This worries me. I never had this. Is this reproducible? (Always the same place in the same file?) Maybe you can send me a sample. If it is more random, I think it is caused by 1). When the same file plays in WPM10, I am sure it is releated to it.
Does this describe the current situation? Did you get an error message from MCE?
Hi Crypto1. I'm currenlty using a <file>.jpg for the thumbnail, so that works fine. It always seems to crap out in the first few seconds of any TS file I try. Some of the ones in question are Ghostbusters (1080i), and Conan the Barbarian (1080i). All of my IMAX rips in TS format do it as well.
The same files played in WPM10 and TT work fine though... Regular playback in MCE for everything else works great as well.
crypto1
02-03-05, 11:16 AM
Hi,
so you don't get an error message, MCE just closes? Very strange, as MCE and WMP seem to use the same internals. Any chance to get a sample from the files in question?
Sorry, I do get the 'Media Center has encountered an error'
The TS file is close to 14g. Any ideas how to break this down?
crypto1
02-05-05, 07:19 AM
llama:
> The TS file is close to 14g. Any ideas how to break this down?
I have written a tool for this, which keeps all the tables intact in every chunk. Please chop of a 20 MB chunk and upload it for analysis.
The tool can be found here: dvbpconvert-0.6.zip (http://dvbportal.dyn1.de/download.php?file=dvbpconvert-0.6.zip)
You can ftp upload here: ftp://ftp.dyn1.de with your ftp tool or here: http://ftp.dyn1.de/cgi-bin/webftp/webftp.cgi with your browser.
User: web5f1
Password: sgz7Tda3
@all
When you encounter .TS files that don't play with the HDTVPump, use the above procedure to send me a sample.
crypto1
02-06-05, 07:27 AM
I think I fixed the MCE bug, among others.
The new version is available for download. It includes MCE fixes, media length detection fixes and PID statistics.
Change log:
- Option for preferred Demultiplexer added
- PID statistics added
- Media length detection fixed
- PTS display added
- MCE issues fixed
- Micro stutter at startup fixed
Open issues:
- Seeking in WMP10 / MCE 2005
Enjoy!
Download at: hdtvpump-1.0.3.zip (http://dvbportal.dyn1.de/download.php?file=hdtvpump-1.0.3.zip)
multiblitz
02-06-05, 03:53 PM
crypto, impressive progress you make there. When do you think it will as well work with recorded mpeg-files ?
hammerdwn
02-06-05, 05:13 PM
New version is working great. Much more accurate time stamp (media length).
Hammer
jamesmil
02-08-05, 05:43 PM
The new version causes problems for my files (R5000-HD Satellite captures).
- AC3 audio does not play. It appears the new version of the filter always considers its to be MPG audio and attachs to the MPEG Audio decoder, rather than AC3 audio. Looking in the Audio Stream submenus in ZP shows (MPG) at the end of the audio stream, selecting that brings up a message saying HDTVPump is currently in AC3 mode, do I want to switch to MPG mode (neither mode works). Reverting back to 1.0.2 corrects this problem on all files.
- Transport/Pausing issues in ZP. In the limited testing I did (without audio, I didn't spend much time with it), I found that with 1.0.3, ZP typically would not be able to resume playback after pausing (it would think it is playing back, but image would stay paused). Also, FF/REW did not seem to work correctly (would immediately switch back to normal play). In 1.0.2, while resumption of normal playback from FFW/REW/Pause is not perfect, it works > 90% of the time.
Other issues I've recently noticed (not 1.0.3-specific):
- With 1.0.2, if I playback a file that is currently recording, the length of the file does not update in ZP -- it only plays back to the point where the recording was at the time playback was started. Didn't try to repro in 1.0.3, perhaps this is what you meant by"Media Length Detection fixed" in the 1.0.3 release notes?
- In ZoomPlayer, a 480i 4:3 transport stream is stretched to a 16:9 aspect ratio if Aspect Ratio setting is left as "Derived". If I manually set aspect ratio to "Anamorphic 16:9", the actually aspect ratio is corrected and the video is shown 4:3 with pillarbars. Not sure if this is ZP issue, HDTVPump issue, or issue with the source encoding of the TS file.
And one other question:
What are the advantages/Disadvantages of the various DeMux filters you now support?
Let me know if you want clips!
-james
jamesmil
02-08-05, 05:54 PM
BTW, has anyone taken a look at this MPEG2-TS splitter:
http://www.css.ap.sony.com/VAIO/download/summary.asp?Id=35664
crypto1
02-08-05, 06:53 PM
Thanks for taking the time. I can confirm, there is an issue with AC3 audio. I will check the other points and the Sony TS Splitter. This seems interesting.
HDTVPump 1.0.3 testing....
Most of my TS files will play but WITHOUT audio like jamesmil noted above, using this new version. Under properties, the audio track chosen is 0x0010 and not 0x0014, thus the track shows up as (MPG).
ONE of my TS files WILL work tho. The difference btw this file and all the other ones is that this stream was NOT null packet stripped. The audio is played correctly, property page shows 0x0014 (AC3) correctly selected.
Hope this helps you, Crypto1!! Thanks for all your effort in this!! Reverting back to 1.0.2 for now.
pischke
02-11-05, 02:04 PM
Originally posted by crypto1
1. Random MCE programs aborts without an error message during the media detection scan.
1) I have got some info on this. The MediaDet component cannot build poster frames for the media type I am using. Maybe I can add a compatible media type here. In the meantime you can use a jpeg file as thumb.
Would this manifest as multiple graphs showing up in GraphEdit remote connect when MCE is trying to do this? I was playing with HDTVPump 1.02/1.03 last night, and I could play fine in WMP10, but when I tried playing the same file (OTA capture) in MCE, I would see just the first frame shown on the screen then nothing. MCE wouldn't crash, but the play would just not advance. When I opened the GraphEdit remote connect dialog while this was happening, there were half a dozen or so different graphs listed (which disappeared as soon as I stopped trying to play the .ts file), whereas playing the same file in WMP10 showed only a single graph (as one would expect).
Thanks for all the work on this wonderful tool.
-pischke
crypto1
02-11-05, 03:05 PM
> Would this manifest as multiple graphs showing up in GraphEdit remote
> connect when MCE is trying to do this?
Yes, that's the effect. MCE is building a graph with the source filter and a MediaDet filter per file to extract the poster frame. Pretty cool he. The problem is that the MediaDet cannot connect to the video pin of the mpeg-2 demultiplexer (it uses VIDEOINFOHEADER2) . Instead a mpeg-2 decoder is connected. Thus the graph fails to extract the poster frame.
MSDN:
"The IMediaDet interface does not support VIDEOINFOHEADER2 formats, so you cannot use this interface to get interlaced fields or information about interlacing. Also, if the upstream decoder supports only VIDEOINFOHEADER2, you cannot use IMediaDet. This might be the case with an MPEG-2 decoder, for example."
crypto1
02-13-05, 05:19 PM
The new version 1.0.4 is out which includes fixes for the AC3 issue and the PID statistics.
Change log:
- AC3 issues fixed
- PID statistics fixed
Open issues:
- Seeking in WMP10 / MCE 2005
Enjoy!
Download at: hdtvpump-1.0.4.zip (http://dvbportal.dyn1.de/download.php?file=hdtvpump-1.0.4.zip)
P.S. Thanks for the HD samples which helped me fixing the AC3 bug, like KillerWhales.ts, TSMux(HD).ts, BritneySpears.ts,...)
amigenius
02-14-05, 03:52 AM
Hi,
Good work.
I hope you don't forget the multi/splitted ts file playback(xx.0000.ts,xx.0001.ts...)...
cya
Ralf
crypto1
02-14-05, 01:07 PM
Hi Ralf,
> I hope you don't forget the multi/splitted ts file playback
> (xx.0000.ts,xx.0001.ts...)
That is on top of my list.
@all
What would you expect regarding seeking? Should a file set be handled as one big file and the seeking position calculates the part file the seek position is in? Or should every part be handled on its own, i.e. the seeking position represents the time in the bounderies of the currently playing part.
htsource
02-14-05, 01:12 PM
I have a weird problem and I'm not sure if it's to do with this HDTVPump filter or not. Basically I have a few sample TS clips that are broken into segments like xxx.0000.ts to xxx.0030.ts.
I can play xxx.0001.ts to xxx.0030.ts in WMP10 no problem. However, I can't play xxx.0000.ts - just a black video and it stops playback in about 10 seconds or so. No errors on the screen.
I'm using version 1.0.3 and I have XP SP2 with NVidia DVD decoder build 67. I also tried on a MCE 2005 PC and the result is the same. MCE PC is running NVidia decoder build 67 as well.
Thanks for your help,
Simon
crypto1
02-14-05, 01:26 PM
htsource:
Hi, have a look at the pid statistics. For playback a ts file must have pids for video, audio, pmt and pat. Maybe part 0000 is missing the pmt or pat pid. This is very likely from the behavior you are describing. The filter seeks to find one of the tables and does not find it before reaching the end of part 0000.
htsource
02-14-05, 02:07 PM
Hi,
Thanks for your reply. Do I use GraphEdit to see "pid stats"? I'm new to this stuff so forgive me, if I'm asking stupid questions. Thanks,
Simon
crypto1
02-14-05, 02:49 PM
Exactly. Render the file using graphedit. You see the filters which make up the playback graph. Many filters have own property pages and so has HDTVPump. The pid stats page lists all pids found in the ts stream.
BTW. Zoomplayer also gives access to all filter properties. You can find it here: http://www.inmatrix.com/
htsource
02-14-05, 05:34 PM
Hi,
I just got home and tried GraphEdit. All the 0000.ts files have "MPEG Audio Decoder" before going to AC3Filter. I've saved the graphs so it might be easier. However, I'll need help as fas as how to remove this "MPEG Audio Decoder" to make it work.
Your assistance is much appreciated.
Simon
amigenius
02-15-05, 05:43 AM
Hi,
What would you expect regarding seeking? Should a file set be handled as one big file and the seeking position calculates the part file the seek position is in? Or should every part be handled on its own, i.e. the seeking position represents the time in the bounderies of the currently playing part.
I would say that depends on the time which is needed to calculate the time of all files and on how exact the calculated time of all files together has to be.
With NOT nullpacketstriped Files this is no problem as 137 MB ~ 1 Minute.
But all Streams are nowadays nullpacketstriped so for a exact playtime all files have to be scanned.
One fast possibility for getting the exact play time of all files is using the PCR Timestamps in the first file and the last file... that should work in most cases but not in all
I would do it that way :
1.) Get the first PCR in the first File
2.) Get the last PCR in the last File
3.) calculate on the basis of the PCRs the complete play time
4.) analyse some Megabytes in the middle of the film (to avoid credits etc. which don't use much bandwidth) to get an average Bitrate.
5.) calculate on basis of this Bitrate an estimated playtime
6.) if that calculated playtime is in range (e.g. +/- 60 Minutes) of the play time of 3.) you can asume that the PCRs are all the way correct and use 3.) as play time. Otherwise use 5.) as it seems that the PCRs are somehow corrupted.
cya
Ralf
crypto1
02-16-05, 02:18 AM
amigenius:
Thanks for the suggestions. I'll go for the whole set - one file approach using method 1)-3).
Thanks for 1.0.4 crypto!! Works great!
I like the one-big file approach also. :)
vic4news
02-19-05, 06:15 PM
I've been using zoomplayer for a couple of weeks now to play recordings made with FusionHDTV. I was using the open source mpeg splitter, which worked fine for high quality recordings, but would cause zoomplayer to stop if the recording had a bad spot due to a low signal. I replaced the open souce mpeg splitter with HDTVpump and the MS mpeg2 demultiplexer and now zoomplayer handles the bad spots in the recording just fine.
I just wanted to thank the author for providing this excellent filter.
Vic
budiman
02-21-05, 11:55 AM
Quick question for the developer:
Will there be a capability to seamlessly link to the next file? I have lots of minute recordings, and at the moment it always black screens and pause before going to the next file.
htsource
02-21-05, 12:26 PM
Hi,
I updated to version 1.0.4 and the problem where I can't play the 00.ts file has disappeared.
Thanks,
Simon
crypto1
02-21-05, 01:15 PM
budiman:
> Will there be a capability to seamlessly link to the next file?
That's what I am trying to do. I can't promise that it will work totally seamlessly, but the chances are good.
karanka
02-27-05, 03:00 PM
is there anyway to get this to work with transport streams with dts?
crypto1
02-27-05, 05:31 PM
Hi karanka,
> is there anyway to get this to work with transport streams with dts?
currently not, because the required media types are not implemented. Can you send me a short sample of this material?
karanka
02-27-05, 10:00 PM
yeah np, cheers for taking a look. Have you got a ftp or something I could upload to? How long a sample do you need?
Guys, sorry for the noobish question, but what is this filter and why do you use it?
crypto1
02-28-05, 02:06 AM
karanka:
Great, so let's try to get this working. For SD just a few megs are needed, for HD 10-20 MB. I pm'd you the account.
@smodak
The filter is for .TS transport stream file playback in ZP/WMP/MCE...
Originally posted by crypto1
@smodak
The filter is for .TS transport stream file playback in ZP/WMP/MCE...
1. So I can use this instead of the NVIDIA decoder?
2. Would it play everything else the NVIDIA plays (DVD, SD etc.) or just transport streams?
3. Any brief FAQ or guide as to how to configure it properly with MCE 2005?
hammerdwn
02-28-05, 10:27 AM
It is not a video decoder. See post #15 of this thread:
http://www.avsforum.com/avs-vb/showthread.php?postid=4915369#post4915369
Hammer
shigaloo
02-28-05, 11:23 AM
Originally posted by karanka
is there anyway to get this to work with transport streams with dts?
that would be GREAT!
madpoet
02-28-05, 12:03 PM
Except that DTS isn't part of the standard....
crypto1,
I'm getting good results with hdtv pump in zp but I can't figure out how to change sub channels. They are not showing up under stream selection, this is a local atsc file with 4 subchannels. It is recorded with no changes to the file. All 4 programs show up under customised graph properties.
clayfree
03-22-05, 10:33 AM
I'm getting good results with hdtv pump in zp but I can't figure out how to change sub channels. They are not showing up under stream selection, this is a local atsc file with 4 subchannels. It is recorded with no changes to the file. All 4 programs show up under customised graph properties.
I asked this question over at the Inmatrix forums and Crypto said it was someething he was working on for an upcoming version.
For my recording I use MyHD so I started using the new beta which allows sub channel only recording. That seems to be working for me now.
Clay
crypto1
03-22-05, 04:49 PM
A new version is available for download.
Changelog:
- Australian DVB-T w/ AC3 issues fixed
- ProSieben HD issues fixed
- "jumping" PTS fixed
- SDT parsing added (DVB only)
- program display added
Enjoy!
http://www.dvbportal.de/projects/hdtvpump/
Open issues:
- Seeking is not supported in Windows Media Player 10 and MCE 2005
- TS files without PAT and PMT don't play
- Program switching in streams with multiple programs and full muxes does
not work as expected
- ATSC TVCT parsing missing (uncritical, station names are missing)
Xesdeeni
03-23-05, 09:11 AM
I still can't use this to view a TS with multiple sub-channels. Not only can't you choose the sub-channel, but it defaults to the last one, which isn't the one I want. I reported this to them, and they said they were working on it, but it isn't fixed in 1.0.5.
Xesdeeni
crypto1
03-23-05, 01:20 PM
Hi Xesdeeni,
I am still working on it. What you are waiting for is in the queue. See the open issues list. I made an intermediate release with important bug fixes for DVB-T.
Xesdeeni
03-24-05, 03:05 PM
Thanks for the feedback!
Xesdeeni
bkzoller
03-25-05, 12:07 PM
I just installed this filter a couple days ago and I configured it in ZoomPlayer 4.03. It sort of works, but the video is not smooth. I have an Athlon XP 2.0 GHz, ATI Radeon 9800 and the NVIDIA DVD decoder 4.00.67. When I play a transport stream recorded with MyHD, one of the filters that gets loaded is "ffdshow MPEG-4 Video Decoder." Is this normal, and is it affecting my performance? I turned off the resize and sharpen settings that I use for DVD playback, but that didn't make a difference.
Also, for playing DVD's, I am using the non-DXVA decoder with NVVPP and ffdshow. Is it possible to use just the DXVA version of the NVIDIA decoder when playing transport streams? I couldn't tell which one was getting loaded.
Thanks,
Brian
hammerdwn
03-25-05, 08:23 PM
What you need to do is turn on Hardware Acceleration in the nVidia decoder properties. While you are playing the ts, you should see an icon in the system tray for accessing the nVidia decoder. This setting should not interfere with the ZP dvd playback. At least for me, I can use DXVA for ts and non+ffdshow for dvd. The other thing you should check is if the custom media playback is using overlay or vmr9, as it will take more power to use vmr9 for 1080i ts playback.
Hammer
derailed
05-01-05, 07:53 PM
I just registered this filter and while MCE now displays .ts files, when I try to play the file MCE tells me that it cannot play because the format is not supported.
The .ts file will play in WMP10, although before it plays WMP tells me it doesn't recognize the format.
I also tried this with one of the demo files (abc.mpg renamed to .ts) and I am told the filter is running in AC3 Filter Mode. Why wouldn't this work with AC3? Also, when I try to play abc.mpg without renaming it, MCE gives me a generic error and WMP10 won't play it either, telling me the player might not support the file type or might not support the codec that was used to compress the file.
Any help would be greatly appreciated.
crypto1
05-02-05, 05:02 PM
derailed:
The abc.mpg.ts has only one mpeg audio track. That's why the message box is popping up. Answer yes and the filter will configure for mpeg audio. After restarting WMP the file will play.
P.S.: The .TS extension is needed.
Is seeking working in Windows Media Player 10? I dowloaded the latest version HDTVPump 1.0.5 and can play back *.ts files in MP10, but just no seeking.
crypto1
05-07-05, 07:31 AM
hraner:
Seeking in WMP/MCE is still an open issue. I talked to the MS experts: "The aggregation of the seeking flags at the graph level has some bugs, so
if some pins downstream return failure and others don't, the overall result
passed to the app is failure. This is particularly a
problem with parsers that permit seeking on some pins but not others. The
answer is to make sure that all pins report success on seeking methods."
I have currently no idea how the change the pin report of the mpeg-2 demultiplexer in push mode. Sorry for that.
sjchmura
05-07-05, 09:28 AM
Does the new Elecard 3.0 Demuxer work? I am about to build and MCE2005 box (3ghz CPU/VRM9). It would be great to seek.
Also, the nero ones actually seek in zoomplayer and WMP10. Do these work in MCE?
crypto1
05-31-05, 02:13 PM
For MCE users who miss the seeking feature, I have written tsconverter, which converts .ts to .dvr-ms files using the HDTVPump. The dvr-ms files play as smooth as the ts files, are fully indexed and support seeking and even trick mode. The conversion is very fast (under a minute per hour playtime).
Enjoy!
Download at: http://www.dvbportal.de
sjchmura
05-31-05, 03:52 PM
Wow!!! Thanks for this gem of a freeware program. Can you think of anyway to have it "watch" a folder and do automatic conversions and add that to the recorded shows list?
da_burl
05-31-05, 05:05 PM
That's fantastic!! Now if only someone would write a program to turn dvr-ms into ts. I know there are supposed to be a few, but I can't get dvr2mpg, dvr2wmv, dcut, or anything else to reliably convert my HD dvr-ms files. Either lip-sync issues or no audio at all. I've spent more than a few hours with graphedit too, one time I got pretty close, except I never could sync up the ac3 audio.
crypto1
08-02-05, 07:41 AM
HDTVPump Version 1.0.7 is out now. It features improved seeking, especially in VBR streams, online help and a WMP10 plug-in. The plug-in has a built-in transport stream editor for A-B cuts which preserves all PIDs and tables.
http://www.dvbportal.de/images/plugin-small.png
Download at: http://www.dvbportal.de
Enjoy!
crypto
cartbaby
08-02-05, 08:06 AM
sweet!
iamtarun
08-08-05, 03:07 AM
crytpo,
thx for your great effort.
i use ZP4.5 + HDTVPump1.07 in Customized media mode. Everything seems to be fine except the seek function. It takes more than a minute to seek to the right frame. Is this limitation still there or am i missing any special configuration in ZP or HDTV Pump.
thx again.
crypto1
08-10-05, 05:01 AM
iamtarun:
Please check, if the filter's "Fast Seeking" option is on.
Does HDTVPump work with TheaterTek when playing .ts files?
nathan_h
08-10-05, 02:53 PM
Why would you want to? TT's playback of .ts files is already pretty robust.
araghava
08-11-05, 03:23 AM
[QUOTE=crypto1]iamtarun:
Please check, if the filter's "Fast Seeking" option is on.[/QUOTE]
How do i access the filter options. I'm using HDTVPump in zoom.
crypto1
08-11-05, 03:59 AM
> How do i access the filter options. I'm using HDTVPump in zoom.
In ZP:
When using a Customized Graph, right click, Filter Properties and then Source File: Customized Graph
In WMP:
Open the Transport Stream Controls in the Tools menu -> Plug-ins -> Transport Stream Controls, then click Properties.
araghava
08-11-05, 01:50 PM
got it. thanks.
iamtarun
08-12-05, 02:42 AM
[QUOTE=crypto1]iamtarun:
Please check, if the filter's "Fast Seeking" option is on.[/QUOTE]
hi crypto1,
thx for ur reply.
fast seeking is already on. it does not seem to help.
others,
if ur getting fast seeking with ZP+HDTVPump, can u pls post ur
configuration.
thx
iamtarun
08-17-05, 03:05 AM
if ur getting fast seeking with ZP+HDTVPump, can u pls post ur
configuration.
thx in adv,
da_burl
09-06-05, 06:05 PM
I can't really explain why, but I think your slow seeking is related to the DScaler video decoder. When I replace the NVidia Video Decoder with DScaler Video Decoder sometimes to see if it makes a difference in some problem ts files, I have noticed the seeking gets quite a bit slower. So in other words, have you tried the same combination with the NVidia Video decoders?
GameGod
09-07-05, 12:53 PM
Hi,
I am recording TS files from a Comcast DCT-6200 using CapDVHS on XP Pro SP2. I then play this back in Zoom Player 4.5 Final, using HDTV Pump 1.07, NVidia Decoders 1.02.150. The problem seems to be that some files give invalid media length -- i've seen a one hour program (HBO) being reported as being 35 minutes long and another one hour program (NBC) reported as 4+ hours long. This doesn't happen on all the files, though.
Please note that the file itself seems to be fine, it plays all the way thru the end without problems.
My question is, how can I fix this? Without the right length, seeking doesn't work, which is important for my use (PVR).
Thanks.
P.S:
I originally posted this on the ZP forum, Blight suggested I should contact the author of HDTV Pump directly.
crypto1
09-07-05, 03:22 PM
Hi GameGod,
the media length is calculated using time stamps from the end of the capture and from the its beginning. The difference is the media length. Unfortunately the stamps need not to be continuous. With the streams I tested, they were and the length was correct. Maybe your recordings have comercial breaks or other stuff inserted with discontinuous time stamps. You can check the time stamps (PTSes) from the filters property page and see if this is the case. Just take some times from the start and end and see, if they make up the actual length.
Xesdeeni
09-07-05, 03:49 PM
Can some sanity checks be done on this?
+ If the end time is before the beginning, something is wrong.
+ Apparently there are bitrate values for the individual streams, so the resulting time should be close to that +/- 10%?).
Xesdeeni
GameGod
09-07-05, 05:09 PM
Hi Crypto,
Thanks for the quick response. However, this also happens on recordings from HBOHD which has no commercial breaks.
Can you tell me how to check the PTS'es?
Thanks.
crypto1
09-18-05, 03:28 PM
> Can you tell me how to check the PTS'es?
They are continuously displayed.
http://dvbportal.dyn1.de/forum/attachments/ptses.jpg
Dave Brown
11-24-05, 03:23 AM
Sorry if this has been answered elsewhere in this thread -- I didn't see it. Is there a way to change subchannels in the latest version of HDTV Pump?
I am using it with Zoom Player. I went into the filter properties and tried changing the program, but it didn't seem to do anything. I did see that this didn't work in earlier versions.
chenzhaoyi
11-24-05, 11:50 AM
crypto1,
How to uninstall it?
thanks
ok,i've uninstalled it.
crypto1
11-24-05, 02:01 PM
@Dave Brown
Sorry, subchannel (program) selection is not yet implemented and still on my list.
crypto1
11-24-05, 02:05 PM
@chenzhaoyi
I am curious. Did the filter not do, what you expected?
@all
To uninstall (if you really want), use the Add and Remove Entry in Control Panel.
chenzhaoyi
11-25-05, 12:20 AM
crypto1,
this filter works great in wmp10,but the seeking funtion doesn't work well in ZP,it always takes 5 to 10 seconds to get a smooth playing after seeking.
multiblitz
03-05-06, 05:01 PM
Cryto1, will there be a new version ? It would be great if HDTVpump would aswell supprt the ts.-streams of the new DVB-S2-cards like those stream of HDTV of Pro7.
crypto1
03-05-06, 06:43 PM
When h.264 TS streams are getting more popular, I will add support for it. Now it is to early, because I don't see any support for it in the filters, media types, and so on that come with the current directx sdk.
multiblitz
03-05-06, 06:52 PM
That would be great as there is currently no real solution to lay the ts-streams of pro7 back and I think there will be many users in Germany waiting for a solution...now that we have HDTV in Germany...
GameGod
05-17-06, 11:58 AM
[QUOTE=crypto1]> Can you tell me how to check the PTS'es?
They are continuously displayed.[/QUOTE]
The problem went away on its own, but now its back :(. The interesting thing is that other filters (like TS File Source) report the correct time. However, it has other issues, so I would prefer to use HDTV Pump, which works great otherwise.
I noted the PTS values and here they are:
Start -> 21:06:47.345
Middle -> 21:36:14.811
End -> 22:05.36.955
So per your calculations, it should report a length of 1 hour. However, it reports a length of 6:34:41.
Any ideas why this is happening?
I'm using ZP 4.51 Pro, HDTV Pump 1.07, MS Demux, NVidia Audio/Video Decoder 1.02.196.
Thanks.
Luca Brasi
06-27-06, 11:48 AM
Hi
I've installed HDTV pump so I can view hi def .ts files on my 360 and its working like a charm for this including skipping forward and back on the 360.
However, when I play .ts files on MCE with HDTVpump installed I can't use the skip forward back buttons anymore (not fast forward / rewind - I am aware these don't work)
If I uninstall HDTVpump on the MCE machine, MCE is immediately able to skip forward and back in the .ts file.
Anyone help me solve this? (I'm using purevideo decoder if that helps)
Many thanks
vBulletin v3.0.6, Copyright ©2000-2010, Jelsoft Enterprises Ltd.