Qtch

Last updated

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.

Contents

File Format Description

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:

%USERPROFILE%\Local Settings\Application Data\Apple Computer\QuickTime\downloads 

For example,

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

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:

%USERPROFILE%\Local Settings\Application Data\Mozilla\Firefox\Profiles\<session id>\Cache\ 

For example,

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

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

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[ when? ] 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. For example, 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

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

Related Research Articles

GIF Bitmap image file format family

The Graphics Interchange Format is a bitmap image format that was developed by a team at the online services provider CompuServe led by American computer scientist Steve Wilhite on June 15, 1987. It has since come into widespread usage on the World Wide Web due to its wide support and portability between applications and operating systems.

String (computer science) Sequence of characters, data type

In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. The latter may allow its elements to be mutated and the length changed, or it may be fixed. A string is generally considered as a data type and is often implemented as an array data structure of bytes that stores a sequence of elements, typically characters, using some character encoding. String may also denote more general arrays or other sequence data types and structures.

UTF-8 Unicode Transformation Format 8, encodes all 1,112,064 Unicode code points as 1 to 4 bytes

UTF-8 is a variable width character encoding capable of encoding all 1,112,064 valid character code points in Unicode using one to four one-byte (8-bit) code units. The encoding is defined by the Unicode Standard, and was originally designed by Ken Thompson and Rob Pike. The name is derived from UnicodeTransformation Format – 8-bit.

A web browser is a software application for accessing information on the World Wide Web. When a user requests a web page from a particular website, the web browser retrieves the necessary content from a web server and then displays the page on the screen.

The File Transfer Protocol (FTP) is a standard network protocol used for the transfer of computer files between a client and server on a computer network.

In multimedia, Motion JPEG is a video compression format in which each video frame or interlaced field of a digital video sequence is compressed separately as a JPEG image. Originally developed for multimedia PC applications, M-JPEG is now used by video-capture devices such as digital cameras, IP cameras, and webcams, as well as by non-linear video editing systems. It is natively supported by the QuickTime Player, the PlayStation 3 console, and web browsers such as Safari, Google Chrome, Mozilla Firefox and Microsoft Edge.

ID3 is a metadata container most often used in conjunction with the MP3 audio file format. It allows information such as the title, artist, album, track number, and other information about the file to be stored in the file itself.

In Mac OS System 7 and later, an alias is a small file that represents another object in a local, remote, or removable file system and provides a dynamic link to it; the target object may be moved or renamed, and the alias will still link to it. In Windows, a "shortcut", a file with a .lnk extension, performs a similar function.

Binary file computer file encoded in binary form

A binary file is a computer file that is not a text file. The term "binary file" is often used as a term meaning "non-text file". Many binary file formats contain parts that can be interpreted as text; for example, some computer document files containing formatted text, such as older Microsoft Word document files, contain the text of the document but also contain formatting information in binary form.

A FourCC is a sequence of four bytes used to uniquely identify data formats. It originated from the OSType or ResType metadata system used in classic Mac OS and was adopted for the Amiga/Electronic Arts Interchange File Format and derivatives. The idea was later reused to identify compressed data types in QuickTime and DirectShow.

A hex editor is a computer program that allows for manipulation of the fundamental binary data that constitutes a computer file. The name 'hex' comes from 'hexadecimal': a standard numerical format for representing binary data. A typical computer file occupies multiple areas on the platter(s) of a disk drive, whose contents are combined to form the file. Hex editors that are designed to parse and edit sector data from the physical segments of floppy or hard disks are sometimes called sector editors or disk editors.

Hex dump LIBRA505

In computing, a hex dump is a hexadecimal view of computer data, from RAM or from a computer file or storage device. Looking at a hex dump of data is usually done in the context of either debugging or reverse engineering.

Netpbm is an open-source package of graphics programs and a programming library. It is used mainly in the Unix world, where one can find it included in all major open-source operating system distributions, but also works on Microsoft Windows, macOS, and other operating systems.

SubRip is a free software program for Windows which extracts subtitles and their timings from various video formats to a text file. It is released under the GNU GPL. The SubRip subtitle file format, .srt, is widely supported. It is a human-readable file format where the subtitles are stored sequentially along with the timing information. Most subtitles distributed on the Internet are in this format.

Firefox Portable portable version of Mozilla Firefox browser

Mozilla Firefox, Portable Edition is a repackaged version of Mozilla Firefox created by John T. Haller. The application allows Firefox to be run from a USB flash drive, CD-ROM, or other portable device on any Windows computer or Linux/Unix computer running Wine. The program does not require Firefox to be installed on the computer, nor does it leave personal information on the computer or interfere with any installed versions of Firefox, however, installation on the computer's data storage device is possible.

Intel hexadecimal object file format, Intel hex format or Intellec Hex is a file format that conveys binary information in ASCII text form. It is commonly used for programming microcontrollers, EPROMs, and other types of programmable logic devices. In a typical application, a compiler or assembler converts a program's source code to machine code and outputs it into a HEX file. Common file extensions used for the resulting files are .HEX or .H86. The HEX file is then read by a programmer to write the machine code into a PROM or is transferred to the target system for loading and execution.

A local shared object (LSO), commonly called a Flash cookie, is a piece of data that websites which use Adobe Flash may store on a user's computer. Local shared objects have been used by all versions of Flash Player since version 6.

SREC (file format) file format

Motorola S-record is a file format, created by Motorola, that conveys binary information as hex values in ASCII text form. This file format may also be known as SRECORD, SREC, S19, S28, S37. It is commonly used for programming flash memory in microcontrollers, EPROMs, EEPROMs, and other types of programmable logic devices. In a typical application, a compiler or assembler converts a program's source code to machine code and outputs it into a HEX file. The HEX file is then imported by a programmer to "burn" the machine code into non-volatile memory, or is transferred to the target system for loading and execution.

Temporary Internet Files is a folder on Microsoft Windows which serves as the browser cache for Internet Explorer to cache pages and other multimedia content, such as video and audio files, from websites visited by the user. This allows such websites to load more quickly the next time they are visited.

The Lotus Multi-Byte Character Set (LMBCS) is a proprietary multi-byte character encoding originally conceived in 1988 at Lotus Development Corporation with input from Bob Balaban and others. Created around the same time and addressing some of the same problems, LMBCS could be viewed as parallel development and possible alternative to Unicode. For maximum compatibility, later issues of LMBCS incorporate UTF-16 as a subset.