Hubbry Logo
search
logo

Media Transfer Protocol

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
Media Transfer Protocol

The Media Transfer Protocol (MTP) is an extension to the Picture Transfer Protocol (PTP) communications protocol that allows media files to be transferred automatically to and from portable devices. Whereas PTP was designed for downloading photographs from digital cameras, Media Transfer Protocol allows the transfer of music files on digital audio players and media files on portable media players, as well as personal information on personal digital assistants. In 2011, MTP became the standard method to transfer files to and from Android.

The USB Implementers Forum device working group standardized MTP as a full-fledged Universal Serial Bus (USB) device class in May 2008. Since then, MTP is an official extension to PTP and shares the same class code.

MTP is a high level file transfer protocol, as opposed to a general storage protocol like USB mass storage. That means that the MTP client (computer) does not see an array of byte blocks that makes up a data structure that makes up a file system, but instead speaks in terms of files and folders to the MTP device. This lets the MTP device take part in the high level operations (such as updating its metadata indexes) while keeping the integrity of its file system in its own hands. In particular, dropped transfers (such as by unplugging the USB cable too soon) do not corrupt the device file system. The non-generality of MTP has consequences for how a computer operating system can present the MTP device, both to other programs and to the user.

According to its specification, the main purpose of MTP is to facilitate communication between media devices with transient connection, a secondary purpose being to enable command and control of the connected device. A battery-powered mobile device can report its battery charge level through MTP.

The protocol was originally implemented for use across USB but extended for use across TCP/IP and Bluetooth. Windows Vista supports MTP over TCP/IP. Windows 7 and Windows Vista with the Platform Update for Windows Vista also support MTP over Bluetooth. The host connecting to an MTP device is called an MTP Initiator, whereas the device itself is an MTP Responder.

MTP allows MTP Initiators to identify the specific capabilities of device(s) with respect to file formats and functionality. In particular, MTP Initiators may have to provide passwords and other information to unlock files, or otherwise enable digital rights management. Nothing specific of this nature is in the core standard, but the features are available via vendor extensions. MTPZ, the Zune Extension to MTP, specifically denies access to files until authentication has been processed, which is only possible using Windows Media Player 10 or higher.

Mislocation: Users have reported files occasionally showing up in incorrect locations as a result of poor communication between the MTP host (e.g. smartphone) and client (e.g. computer file manager). Should a directory be moved away from the MTP host without the client detecting all files, undetected files could end up deleted without all files having been transferred successfully.

Limited support for direct modification of files (see § Direct modification and partial transfer features). To modify a file or its metadata, the whole file may need to be copied out of the device and reuploaded, which takes a long time for a large file or directory, and blocks the device for other operations in the meantime. Google's MTP implementation in Android includes extensions to deal with this limitation; however, these extensions must be supported by the host operating system.

See all
User Avatar
No comments yet.