General info:

This is a Windows application that converts the proprietary TyStream format to either an MPEG-2 Program stream containing audio and video, or two separate MPEG Elementary Streams. It was written using Borland C++ Builder version 5.0.

I'm releasing this program early to give people a chance to play with it. Even though it doesn't work perfectly yet, there are still some things that it can do that other tools can't.

I'm reluctant to release the source, because it's so hideous that I'm embarrassed - but I have anyway. Just keep in mind that I've released it earlier than I had planned to (a number of things were going to be cleaned up). I've been working on it a lot lately and a number of other projects have been slipping. I need to focus my attention on them for a while and I didn't want the community to have to wait while I held onto a program that could potentially help them.

Another reason I'm releasing it now is as a cry for help. Specifically I've been spending a lot of time working on the MPEG Program stream (systems stream) capability and I've been "spinning my wheels" and becoming very frustrated.

The elementary stream output appears to work fine, but in my opinion the program stream feature is a very important one because it eliminates the problems of audio/video synchronization (assuming your application uses the MPEG timestamp information properly).

The problem is that the program stream files don't seem to open in all applications. Some applications just say that the file is invalid. Specifically I haven't found any programs that will edit or re-render that will open the files - except for programs (such as TMpgEnc) that separate the streams (which causes A/V sync issues).


Application compatibility with MPEG Program Stream file (single file mode):
(most applications will open the "separate files mode")


 
Applications that will open the MPEG Program Stream file
 CyberLink PowerDVD (works great)
 Windows Media Player with LSX CODEC (as reported to me)
 Windows Media Player with DVD Express CODEC (requires "corrupt file" checkbox)
 TMpgEnc
 Teco BitRate Viewer
 PixelTools MpegRepair
 
Applications that won't open the MPEG Program Stream file
 ULead VideoStudio 5.0
 ULead MediaStudio 6.5
 MGI VideoWave 4


Description of program controls and features:

One MPEG fileCreate a single MPEG-2 Program (MPEG systems) file containing both audio and video rather than splitting the audio and video into different files. This is the preferred mode, since it eliminates the audio/video synchronization problem (assuming that the program you're using to open the file uses MPEG timestamps properly). Unfortunately the file isn't "liked" by all programs, I have not yet determined where my file strays from the specification, but any help in the area would be greatly appreciated.
Separate A/V filesCreates two different MPEG elementary stream files, one containing audio and one containing video. Several other tools are capable of doing this, however you may find that TyConvert can open some "difficult" TyStreams.
Don't skip invalid chunksI don't know why you'd want to do this, they're invalid, right? Maybe you just want to see what invalid chunks look like!
Microsoft style progress barI'll let you figure this one out for yourself. :)
Auto-sync audioThis is intended for use with "Separate A/V files" mode. In "One MPEG file" mode it isn't particularly useful. It is my attempt at automatically figuring out how many audio packets to throw away to synchronize the beginning of the file. It doesn't work very well.
Manual audio offsetThis was also intended for use with "Separate A/V files" mode. It allows you to manually control how many audio packets are thrown away at the beginning. Each packet contains about 0.036 seconds of audio.
Skip firstAllows you to skip a certain portion of the beginning of a file. This is good if your program starts late, or if there is a bad chunk at the beginning of the file which you need to skip (which can cause an endless list of "Skipping Chunk" messages).
Corrupt fileThis causes an invalid packet length value to be inserted into one of the PES headers. For some reason this causes the files to be accepted by the DVD Express CODEC. I have no idea why.
ConvertDuh.
PauseAllows you to pause conversion temporarily. This is handy if you need to do something else with your computer for a moment and TyConvert is annoying you by using too many CPU cycles.
AbortStops conversion, writes the appropriate MPEG end code to the file and closes all files. It is perfectly reasonable to manually click the abort button if your program ends early. (sort of like the opposite of the "Skip first" feature) It's also handy if you're just browsing some TyStream files. I often want to know what's in a file, so I'll click Convert and let it run for a few seconds, then open it in Media Player. Perhaps I'm not sure and need to look farther ahead, then I'll enter a time into "Skip first" and do it again. I can very quickly look through my files this way.



Download application by clicking here


or download source by clicking here.