Media Transfer Protocol
From Wikipedia, the free encyclopedia
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 movie files on portable media players.
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] Apple and Linux systems have software packages to support it.
The USB Implementers Forum device working group is presently working on standardizing MTP as a fully fledged Universal Serial Bus (USB) device class. [3] When that process is complete, MTP will be a USB device class peer to USB mass storage device class, USB Video Class, and so on.
Contents |
[edit] Overview
The protocol is implemented for use across USB. The host connecting to an MTP device is called an MTP Initiator whereas the device itself is an MTP Responder. [4]
The main purpose of the protocol is to transfer media files and associated metadata to/from devices, with optional additional support for remote control of the device, reading and setting of device parameters such as special DRM-related device parameters for restricted content. [4] The device can also send events to the host.
A main reason for using MTP rather than for example the USB mass storage device class 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 without risk of data corruption until the host computer has severed the connection[citation needed].
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.
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.
[edit] Drawbacks
By design, MTP devices (like PTP devices) are not treated as a traditional removable drive. The actual filesystem is implemented by the device, not by the computer's operating system. In theory the OS may hide this difference, but this is unfortunately not the case on Windows or Mac OS. This also means that conventional filesystem recovery tools will be of no use if the drive is corrupted, or crashes.
Ancillary data with alternate file extensions (other than MP3, WAV and other multimedia) is generally not transferrable to MTP. For backup purposes this limitation may be circumvented by changing the file extension (e.g. ARCHIVE.ZIP to ARCHIVE.MP3), and doing vice versa when copying onto another computer.
[edit] 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 ripped 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. For downlevel operating systems, specifically, Windows 2000, Windows 98 and Windows Me, Microsoft has released the MTP Porting Kit.[5] It includes the full MTP specification, documentation and tools. While the MTP porting kit itself can only be installed on Windows XP or later operating systems, it includes a generic device driver for MTP devices (MTP9x-2k.exe). The driver's INF file (wpdmtp_sample.inf) has to be modified to describe the attributes for the specific device before connecting the player. Specifically, the following changes are required:
1. Adding device specific VID/PID entries to the "Manufacturer & Models" section. ; Vendor needs to supply the VID (xxxx) and PID (yyyy) %Test.DeviceDesc% = Test_MTP, USB\VID_xxxx&PID_yyyy
2. Optionally, editing the device specific text strings in the "Localizable macro substitutions" section (required only for description purposes). ;Test.DeviceDesc = "<Device name>" MfgName = "<Manufacturer name>" Provider = "<Provider name>"
The VID and PID values can be looked up in the registry at: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB
After making this modification, the driver can be installed on downlevel operating systems and works with Windows Media Player 9 Series or other players which offer MTP support.
[edit] Deficiencies in the Windows implementation
Windows Explorer treats MTP devices somewhat like a file system, except without an assigned drive letter, making it impossible for other applications to access the data directly. For example, drag and drop is not always allowed through Windows Explorer. This can cause confusion. Also, the User-Mode Driver Framework service must be running in the background. [6]
MTP is not available to versions of Windows prior to Windows XP; however, if the device manufacturer provides a driver, users of legacy systems can purchase a third-party media manager and gain partial connectivity to the player. MTP requires installation of a media manager application, which imposes several additional steps in transferring files.
[edit] GNU/Linux MTP support
On GNU/Linux it is possible to mount an MTP device using MTPFS with limited capabilities if supported by libmtp. At present not all MTP devices are supported by libmtp.
[edit] Synchronization
The protocol itself does not implement synchronization, but with it synchronization of a device to a host computer using mechanisms similar to SyncML, Apple's iSync or Windows Media Player's AutoSync can be implemented.
[edit] 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. The current device makers and device lines supporting MTP are:
- Archos newer devices
- Canon 400D (XTi) digital SLR
- Creative Technology Zen line
- Cowon newer devices e.g. iAudio (Cowon) D2
- Intel portable media center
- iriver H10 and other newer devices
- JVC media players
- Meizu M series
- Microsoft Zune modified to "MTPZ"
- Nikon D40/D40x, D80, D300, D3 and newer Coolpix compact cameras
- Nokia mobile devices
- Philips GoGear line
- Samsung Electronics Yepp line and Juke cellular phone/music player
- Sanyo Xacti CG65
- SanDisk Sansa devices
- Sony Ericsson mobile phones
- Some of Sony's MP3-Player, i.e. NWZ-A816 and similar
- Certain Sony Cyber-shot DSC camera models
- Latest Sony Drag&Drop Music Players
- Toshiba Gigabeat line
- TrekStor vibez
- Harman Kardon GPS810
The Microsoft certification mark PlaysForSure is commonly used to distinguish devices that support MTP or USB mass storage device class (MSC) or both, Windows Media Audio, and the Janus DRM.
[edit] PlaysForSure and PlaysForSure II
Microsoft PlaysForSure is the certification for MTP devices. This certification states, among other things, that the device is by default MTP, with user selectable MSC mode.
PlaysForSure II is the next step in certification. It will totally eliminate the MSC mode for portable devices (ex SanDisk's Sansa Connect).
[edit] 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 later is installed. Windows Vista natively implements MTP.
- The Xbox 360 can connect to MTP devices.
- Linux 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
- MTPFS can mount an MTP device through FUSE and libmtp
- Banshee has MTP support through libmtp
- gnomad2 has MTP support through libmtp
- MTPSync Synchronization tool for MTP-Storage devices (see libmtp-Homepage)
- MTPdude has MTP support through libmtp (Does not appear to be maintained any more.)
- Amarok has MTP support through libmtp
- JMTPSynchronizer Java based MTP synchronizer
- Rhythmbox has MTP support through libmtp.
- Audacious has MTP support through libmtp.
- Mac OS X has MTP support by way of XNJB. (XNJB also use the libmtp implementation of the protocol.)
- Symbian OS v9.5 includes MTP support for music, videos and images.
- Songbird, a cross-platform media player, has experimental support for MTP through an extension, however at present it will only function on Windows XP (with Windows Media Player 11 installed) or on Windows Vista.
[edit] See also
[edit] References
- ^ Media Transfer Protocol Implementation Details
- ^ Final Availability of Windows Media Player 10 Brings More Music and More Choices to Music Fans
- ^ MTP, Portable Player Standard: Create Digital Music blog
- ^ a b MTP Specification
- ^ MTP Porting Kit
- ^ The Windows User Mode Driver Framework service (Wdfmgr.exe) appears in Windows Task Manager after you install Windows Media Player 10

