Qtch

From Wikipedia, the free encyclopedia
Jump to: navigation, search

qtch (.qtch) is a filetype used by QuickTime to store audio or video files streamed from a server on the client's computer hard drive.

The first 16 bytes are:


Hex                                             ; ASCII
00 00 00 50 71 74 63 68 00 00 00 02 00 00 00 02 ; ...Pqtch........

This file type seems to have been introduced with QuickTime Player 7.x. The file is normally stored in any sub-directories of the following location:

C:\Documents and Settings\<username>\Local Settings\Application Data\Apple Computer\QuickTime\downloads
E.G.:
C:\Documents and Settings\Administrator\Local Settings\Application Data\Apple Computer\QuickTime\downloads\08\02\82580278-44f0f184-c8c435b8-526b4f79.qtch

Comparison with QuickTime Player 6.x[edit]

Previously QuickTime Player 6.x would store these audio and video(a/v) streams as files on the hard drive that had auto generated names such as '59B8794Ad01'. Unlike qtch files, these files had the correct a/v magic number and could be played by an appropriate player.

For example the first 16 bytes of an m4v file are:


Hex                                             ; ASCII
00 00 00 20 66 74 79 70 4D 34 56 20 00 00 00    ; ... ftypM4V ...

Using the Firefox browser the location of these files would be:

C:\Documents and Settings\<username>\Local Settings\Application Data\Mozilla\Firefox\Profiles\<session id>\Cache\
E.G.:
C:\Documents and Settings\Administrator\Local Settings\Application Data\Mozilla\Firefox\Profiles\jb4efpu5.default\Cache\59B8794Ad01

File Format Comparison between QuickTime Player 6.x and QuickTime Player 7.x[edit]

Although the files have different headers their a/v payload can often be the same(see iTunes exception below). In this example the same a/v file was streamed from a server and stored on the hard drive using QuickTime Player 6.x and QuickTime Player 7.x respectively :

The first 16 bytes of the file are totally different:

QuickTime Player 6.x
00 00 00 14 66 74 79 70 33 67 70 34 00 00 04 00 ; ....ftyp3gp4....
QuickTime Player 7.x
00 00 00 50 71 74 63 68 00 00 00 02 00 00 00 02 ; ...Pqtch........
However the a/v data starts at:
7D 57 3F 1A 9A D6 CE 94 95 59 D0 CE 02 C1 E2 92

From here both files are identical. To prove that the a/v information is intact within the qtch file you can replace the qtch file contents above this start a/v hex value with that from the QuickTime Player 6.x file and it will play normally.

Identifying embedded file types within qtch[edit]

It may be impossible to know the filetype embedded within a qtch file without having a side by side comparison with the same file streamed using QuickTime Player 6.x (as above). Tools such as TrID/32 - File Identifier would, when analysing the file in the above example, only give you this information:


75.0% (.QTCH) QuickTime Cached data (9000/1)

It would not tell you the embedded file type.

Currently the only known way to establish the file type of a qtch file is to employ a packet sniffer and search for the stream's file type as it is received by the network card e.g. for QuickTime you would search for the leaf atom called ftyp. Even then knowledge would be required to build the correct header to the point of the actual a/v data start.

qtch files and iTunes[edit]

Although iTunes stores qtch files in the same way as described above the a/v content appears to be scrambled in some fashion so that a side by side comparison of the original file with the stored streamed file would find no match in the a/v data.

See also[edit]