View Knot Viewer
The view_knot_viewer program attempts to decode and present a graphical display of an MPEG file. The program currently presents three views of the MPEG file, each accessible from the main program window.
The meaning of these buttons are as follows:
Quit - Quits the application
Open- Starts an analysis. This button will present the user with a dialog prompting for the name of the mpeg file to parse.
Packs - Presents a pixmap view of the packs and packets contained in the stream. See Packs View.
STD - Displays a time simulation of current buffer occupancy for the elementary streams. See STD View.
Clocks - Displays a time simulation of the clock relationships within the stream. The SCR clock is used as the base which the audio and video PTS are plotted against. See Clocks View.
Nav- Select and configure available stream plugins. See Navigator.
Files
- /tmp/mpgtl* - Temporary pixmap file containing Packs pixmap.
- ~/.view_knot_tools - User configuration files
- ./0x[stream-id].mpeg - If plugins are being used, contains extracted elementary stream files.
Known Bugs and Limitations.
- Not all of the information contained in the MPEG file can be viewed through the view_knot_viewer interface. This is particularly obvious when analyzing a DVD file (the extension data can not be viewed via the GTK interface). I recommend that if you require this information, use the view_knot_dump program
- The view_knot_viewer only knows about the system layer. No information is available about the video or audio streams contained therein. As time permits I plan to add some basics in this area. Contributions here will be welcome.
- The viewer has only limited support for MPEG files containing multiple elementary streams (i.e., not just your basic single audio, single video stream). If you require this information, use the view_knot_dump program.
- The displayer currently only works for MPEG-1 System streams and MPEG-2 Program streams. For MPEG-2 Transport Streams, use vk_tafe.
- The STD buffer screen will only accept one value for the audio bound and one value for the video bound. If multiple values are given, the last one will be used.
- The alogrithm which displays the bitstream as a pixmap does not scale well. It attempts to fit the entire pixmap on a single, unscrollable, window. The entire file will not be displayed if it is too large to do this.
- All time values are stored as 32-bit integers while the MPEG standard uses 33 bit values. Large (33-bit) values will result in inaccurate displays.