- Media Transfer Protocol
-
The Media Transfer Protocol is a devised set of custom extensions to the Picture Transfer Protocol (PTP).[1] Whereas PTP was designed for downloading photographs from digital cameras, Media Transfer Protocol supports 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.
Media Transfer Protocol (commonly referred to as MTP) is part of the "Windows Media" framework and thus closely related to Windows Media Player. Windows Vista has built-in support for MTP. Support for Media Transfer Protocol in Windows XP requires the installation of Windows Media Player 10 or higher.[2] Mac and Linux systems have software packages to support it.[3][4]
The USB Implementers Forum device working group standardized MTP as a fully fledged Universal Serial Bus (USB) device class in May 2008.[5] MTP is since then, an official extension to PTP and shares the same class code.[6]
Contents
Overview
The main purpose of this protocol is to facilitate the transfer of media files and associated metadata to/from devices, the management of media files and configuration data on these devices, and to allow the remote control of these devices.[7]
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.[8] The host connecting to an MTP device is called an MTP Initiator whereas the device itself is an MTP Responder.[7]
A main reason for using MTP rather than for example the USB mass-storage device class (MSC) is that the latter operates at the granularity of a mass storage device block (usually in practice, a FAT block), rather than at the logical file level. In other words, the USB mass storage class is designed to give a host computer undifferentiated access to bulk mass storage, such as compact flash, rather than to a file system, which might be safely shared with the target device (except for specific files which the host might be modifying/accessing). In practice, therefore, when a USB host computer has mounted an MSC partition, it assumes absolute control of the storage, which then may not be safely modified by the device without risk of data corruption until the host computer has severed the connection.
MTP and PTP specifically overcome this issue by making the unit of managed storage a local file rather than an entire (possibly very large) unit of mass storage at the block level. In this way, MTP works like a transactional file system - either the entire file is written/read or nothing. The storage media is not affected by failed transfers.
In case the device maintains a database/index of the content of the disk, MTP saves the cost of re-scanning the entire disk every time the content is modified.
Additionally, the 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 restricted capabilities. Nothing specific of this nature is in the core standard but the possibility is allowed via Vendor extensions (whereas USB mass-storage does not cater for such 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.
Drawbacks
By design, MTP devices (like PTP devices) are not treated as a traditional removable drive. The actual file system is implemented by the device, not by the computer's operating system. In theory the operating system may hide this difference, but this is not the case on Windows or Mac OS. This also means that conventional file system recovery tools will be of no use if the drive is corrupted, or crashes.
As opposed to USB Mass Storage, a number of operating systems do not support MTP out of the box. Some even require third-party software.
Neither the MTP nor the PTP standards allow for direct modification of objects. Instead, modified objects must be reuploaded in their entirety, which can take a long time for large objects. With PTP/MTP, the file size must be known at the opening stage.[7]
Windows MTP support
On Microsoft Windows, MTP is supported in Microsoft Windows XP if Windows Media Player 10 or later versions are installed. Windows Vista has MTP built-in. Most MTP-compatible devices do not appear through drive letter assignment in Windows Explorer, instead they will appear as "devices" in Windows Explorer. Additionally, on Windows, MTP-compatible devices support a feature called AutoSync, which lets users configure Windows Media Player to automatically transfer all newly acquired or copied content to devices whenever they are connected. AutoSync is customizable so that the player will transfer only content that meets certain criteria (songs rated four stars or higher, for instance). Changes made to file properties (such as a user rating) on a device can be propagated back to the computer when the device is reconnected. Windows 7's sensor platform supports sensors built into MTP-compatible devices.[9]
Support for legacy Windows versions
For downlevel operating systems, specifically, Windows 2000, Windows 98 and Windows Me, Microsoft has released the MTP Porting Kit.[10] which contains a MTP device driver for these legacy Windows operating systems.
Some manufacturers, such as Creative Technology, also provide legacy MTP drivers for some of their players; these usually consist of MTP Porting Kit files with a customized INF file describing their specific players.[citation needed]
Market acceptance
Microsoft's partners, including Creative Technology, Intel, iriver and Samsung, who manufactured devices based on Microsoft's "Portable Media Center specification", popularized this protocol. These devices were lined up at the 2004 Consumer Electronics Show.
After an initial period of uncertain reactions, several large media player producers such as Creative Technology and iriver have opted to embrace the MTP protocol and drop their own custom device protocols. The general perception is that these companies are happy that they no longer have to develop their own protocols and device drivers for their products[citation needed]. The current device makers and device lines supporting MTP are:
- Archos newer devices
- Android Honeycomb 3.0+ all devices utilizing this OS
- BlackBerry 9500 series
- Canon 400D (XTi) digital SLR
- Creative Technology Zen line — some devices only
- Cowon newer devices, e.g., iAudio (Cowon) D2
- Dell DJ MP3 player
- Intel portable media center
- iriver H10 and other newer devices
- JVC media players
- Meizu M series
- Motorola mobile phones
- LG mobile phones
- Nikon D40/D40x, D60, D80, D300, D700, D2Xs/D2Hs, D3 and newer Coolpix compact cameras
- Nokia mobile devices
- Palm mobile phones (PocketTunes media player supports MTP file transfers)
- Pentax digital cameras
- Philips GoGear line
- Samsung Electronics Yepp line and Juke cellular phone/music player Also Galaxy S line of phones
- Sanyo Xacti CG65
- SanDisk Sansa devices
- Sony Ericsson mobile phones
- Some of Sony's MP3-Player, i.e., NWZ-A8xx, NWZ-E436F series
- Certain Sony Cyber-shot DSC camera models
- Latest Sony Drag&Drop Music Players
- Toshiba Gigabeat line
- Transcend Information Inc. (T.Sonic Series)now Known as MP Series.
- TrekStor vibez
- Harman Kardon GPS810
- iPhone/iPod/iPad (Does not natively support MTP) If jailbroken, users may purchase Pwntunes, enabling MTP, allowing media to be transferred without iTunes.
Note
Implementations
MTP Basic has been proposed for standardization and shall become available on multiple platforms.
- Windows XP supports MTP if Windows Media Player 10 or 11 (or the Windows Media 11 Runtime) is installed.
- Windows Vista and Windows 7 natively implement MTP.
- The Xbox 360 and PlayStation 3 can connect to MTP devices.
- Linux and FreeBSD MTP interoperability can be achieved by using:
- libgphoto2 a shared library which supports PTP with some MTP extensions and was originally designed to support PTP cameras
- libmtp a shared library implementing the MTP protocol which also includes some command-line example tools
- Amarok has MTP support through libmtp
- Audacious has MTP support through libmtp.
- Banshee has MTP support through libmtp
- Clementine has MTP support through libmtp
- Gnomad2 has MTP support through libmtp.
- gMTP has MTP support through libmtp.
- MTPfs supports mounting MTP devices like filesystem through libmtp.
- Qlix has MTP support through libmtp.
- Rhythmbox has MTP support through libmtp.
- Mac OS X has third-party MTP support by way of XNJB (which also uses the libmtp implementation of the protocol) and Android File Transfer for use with Android devices.
- Symbian OS includes MTP support for music, videos and images.
- AmigaOS, AROS and MorphOS have support for MTP devices through the Poseidon and its PTP class driver.
- Android includes MTP support since API level 12 (3.1).
See also
References
- ^ Media Transfer Protocol Implementation Details
- ^ Final Availability of Windows Media Player 10 Brings More Music and More Choices to Music Fans
- ^ http://libmtp.sourceforge.net/
- ^ http://www.wentnet.com/projects/xnjb/
- ^ MTP, Portable Player Standard: Create Digital Music blog
- ^ MTP Specification 1.0 on USB.org
- ^ a b c MTP Specification
- ^ MTP Over Various Transports
- ^ Sensors and Windows - Windows Portable Devices Team Blog, MSDN 17 Dec 09
- ^ MTP Porting Kit
External links
Categories:- Microsoft application programming interfaces
- Microsoft Windows multimedia technology
Wikimedia Foundation. 2010.