Home > Products > Summit > tstream - GXF file parser and checker
tstream - GXF file parser and checker
tstream is a tool for parsing and checking GXF files. You can download it by clicking here.
You run tstream from a DOS window like this:
C:\temp>tstream Usage: tstream [/v] [/i] [/f] host cmd srcname dstname [option list] for eg: tstream [/v] rfile name-of-the-file /v for verbose output /i create optional index file with retr, or use it with stor /f verifies FLT entries The following commands are supported (all optional sizes are in bytes): retr.....retrieve srcname dstname [bufferSize] [windowSize] stor.....store srcname dstname [bufferSize] [windowSize] rfile....read stream_file [output_stream_file]...... parse it [and reform it] ... find.....read stream_file, parse each byte, profile headers found... help.....print this message C:\temp>
Example 1: Verify that a GXF file is valid:
Here is a valid GXF file:
C:\temp>tstream rfile Clip.gxf picture 180 parseFile: read 8155960 bytes Num Packet of types: Map 2 EOF 1 UMF 4 FLT 1 media 131
Here is an invalid GXF file:
C:\temp>tstream rfile BadClip.gxf picture 30 ERROR: unable to read 65536 payload bytes.... parseFile: read 2095200 bytes
Example 2: Split a GXF file into elementary files
Notice all elementary files with the names "newclip.*". newclip.M0 is the video track, newclip.A* are the audio tracks, newclip.T0 is the timecode track. The file "newclip" is the reassembled GXF file from the elementary files. It should match the original Clip.gxf file. There is also the XML representation of the clip in Clip.gxf.xml.
C:\temp>tstream rfile Clip.gxf newclip picture 180 parseFile: read 8155960 bytes Num Packet of types: Map 2 EOF 1 UMF 4 FLT 1 media 131 C:\temp>dir Directory of C:\temp 04/28/2008 10:19 AM. 04/22/2008 11:36 AM .. 04/28/2008 08:50 AM 114,688 tstream.exe 12/07/2007 12:28 PM 8,155,960 Clip.gxf 04/28/2008 10:12 AM 83,542 Clip.gxf.xml 04/28/2008 10:19 AM 8,155,960 newclip 04/28/2008 10:19 AM 5,416,048 newclip.M0 04/28/2008 10:19 AM 327,680 newclip.A1 04/28/2008 10:19 AM 327,680 newclip.A2 04/28/2008 10:19 AM 327,680 newclip.A3 04/28/2008 10:19 AM 327,680 newclip.A4 04/28/2008 10:19 AM 327,680 newclip.A5 04/28/2008 10:19 AM 327,680 newclip.A6 04/28/2008 10:19 AM 327,680 newclip.A7 04/28/2008 10:19 AM 327,680 newclip.A8 04/28/2008 10:19 AM 0 newclip.T9 14 File(s) 25,090,497 bytes 2 Dir(s) 52,428,800,000 bytes free
Example 3: Show verbose GXF file details
C:\temp>tstream /v rfile Clip.gxf --------reading header (offset 0)-------- stream header: 00 00 00 00 01 BC 00 00 02 C0 00 00 00 00 E1 E2 Packet type = MAP map->firstField = 0 map->lastField = 180 map->markIn = 0 map->markOut = 180 map->spaceEst = 7964 MB map->status = 0 map->ctimeHi = 0 map->ctimeLo = 0 map->clipName = V:/default/Clip map->uniqueName = (null) map->setName = (null) map->typeName = (null) map->description= (null) map->mediaFound = 1 map->nTracks = 10 map->Track[0] mapTrack->mediaName = Video_0.M0 mapTrack->mediaVersion = 0 mapTrack->mediaType = 11 MPEG525 mapTrack->frameRate = 5 VIO_FR_30M mapTrack->linesPerFrame = 1 VIO_LINES_525 mapTrack->fieldsPerFrame = 2 VIO_FPF_INTERLACED mapTrack->dropFrame = 0 MPEG aux info: Bitrate: 25000000bps numIPerGop: 1 Is16x9: 0 (Aspect Ratio 4x3) IsCBG: 0 numPPerI: 3 numBPerIorP: 1 pixStruct: 0 PixStructureFrame chromaFmt: 2 MpegChroma422 closedGop: 1 (Closed GOP) startLineNum: 13 numLines16: 32 (Number of encoded video lines 512) validInfo: 1 Progressive_sequence: 0 field1OnTop: 1 (Top-field first) map->Track[1] mapTrack->mediaName = Audio_0.A0 mapTrack->mediaVersion = 0 mapTrack->mediaType = 10 AUDIO_PCM16_MEDIA mapTrack->frameRate = 5 VIO_FR_30M mapTrack->linesPerFrame = 1 VIO_LINES_525 mapTrack->fieldsPerFrame = 2 VIO_FPF_INTERLACED mapTrack->dropFrame = 0 Audio aux info: First sample: 0 Last sample: 14674 map->Track[2] mapTrack->mediaName = Audio_0.A1 mapTrack->mediaVersion = 0 mapTrack->mediaType = 10 AUDIO_PCM16_MEDIA mapTrack->frameRate = 5 VIO_FR_30M mapTrack->linesPerFrame = 1 VIO_LINES_525 mapTrack->fieldsPerFrame = 2 VIO_FPF_INTERLACED mapTrack->dropFrame = 0 Audio aux info: First sample: 0 Last sample: 14674 etc.