MTP Function Driver
Overview
The Media Transfer Protocol
is a set of custom extensions to the Picture Transfer Protocol (PTP) devised by
Microsoft,
to allow the protocol to be used for devices other than digital cameras, for example digital audio players such as MP3
players, and other portable media devices, for example portable video players.
Media Transfer Protocol
(commonly referred to as MTP)
is part of the "Windows Media"
framework and thus closely related
to Windows Media Player.
Support for Media Transfer Protocol in Windows XP requires the installation of Windows Media
Player 10 or Windows Media Player 11. Windows Vista, however, offers support for MTP natively – putting this protocol
on a par with other protocols such as USB MSC.The USB Implementers Forum
device working group is presently working on
standardizing MTP as a fully fledged Universal Serial Bus
USB device
class. 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.
Spec
MTP enables Windows XP, Vista and any other supported OSs to recognize the device as a standard media device.
Using the MTP Function Driver, users can communicate with their USB media device through any standard multimedia
application without the need for additional software on the host side.
The MTP protocol is designed for content exchange between a portable media device and a PC,
as well as command and control of the device remotely from the PC.
Implementation
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.
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. 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 it allows the device to have some intrinsic file system, whereas
USB mass storage
almost always use FAT. Further, when a FAT filesystem is attached to a host computer the file
system is "owned" by the host and thus the device itself cannot for example add, remove, play
or rename files during this time without risking corruption of the file system. MTP (or PTP)
does not necessitate such device lock-down. It will also handle the situation where a device
is unplugged in the middle of a file transfer, whereas a FAT filesystem will be corrupted.
Additionally, the MTP allows MTP Initiators to identify the specific capabilities of device(s) with respect
to file formats and functionality.
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
- The gphoto2 commandline tool for scripted uploading.
- gPhotofs is able to mount any MTP or PTP device using FUSE and libgphoto2
- Banshee has MTP support through libgphoto2
- F-Spot has MTP support through libgphoto2
- 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
- gnomad2 has MTP support through libmtp
- MTPdude has MTP support through libmtp (Does not appear to be maintained any more.)
- Amarok 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.
Resources
For further details and to contribute information relevant to our website, please Contact us