El Protocolo de Transferencia de Medios ( MTP ) es una extensión del protocolo de comunicación Protocolo de Transferencia de Imágenes (PTP) que permite la transferencia automática de archivos multimedia desde y hacia dispositivos portátiles . [ 1 ] Mientras que PTP fue diseñado para descargar fotografías de cámaras digitales , el Protocolo de Transferencia de Medios permite la transferencia de archivos de música en reproductores de audio digitales y archivos multimedia en reproductores multimedia portátiles , así como información personal en asistentes digitales personales . En 2011, MTP se convirtió en el método estándar para transferir archivos desde y hacia Android. [ 2 ]
El grupo de trabajo de dispositivos del USB Implementers Forum estandarizó MTP como una clase de dispositivo USB ( Universal Serial Bus ) completa en mayo de 2008. [ 3 ] Desde entonces, MTP es una extensión oficial de PTP y comparte el mismo código de clase. [ 4 ]
Descripción general
MTP es un protocolo de transferencia de archivos de alto nivel , a diferencia de un protocolo de almacenamiento general como el almacenamiento masivo USB . Esto significa que el cliente MTP (computadora) no ve una matriz de bloques de bytes que conforman una estructura de datos que constituye un sistema de archivos , sino que se comunica con el dispositivo MTP en términos de archivos y carpetas. Esto permite que el dispositivo MTP participe en operaciones de alto nivel (como la actualización de sus índices de metadatos) manteniendo la integridad de su sistema de archivos. En particular, las transferencias interrumpidas (como al desconectar el cable USB demasiado pronto) no corrompen el sistema de archivos del dispositivo. [ 5 ] La falta de generalidad de MTP tiene consecuencias en la forma en que un sistema operativo puede presentar el dispositivo MTP, tanto a otros programas como al usuario.
Según su especificación, el propósito principal de MTP es facilitar la comunicación entre dispositivos multimedia con conexión transitoria, [ 4 ] un propósito secundario es permitir el comando y control del dispositivo conectado. [ 4 ] Un dispositivo móvil alimentado por batería puede informar su nivel de carga de batería a través de MTP. [ 5 ]
El protocolo se implementó originalmente para su uso a través de USB, pero se extendió para su uso a través de TCP/IP y Bluetooth . Windows Vista admite MTP sobre TCP/IP. Windows 7 y Windows Vista con la Actualización de plataforma para Windows Vista también admiten MTP sobre Bluetooth. [ 6 ] El host que se conecta a un dispositivo MTP se denomina Iniciador MTP , mientras que el dispositivo en sí es un Respondedor MTP . [ 7 ]
MTP permite a los iniciadores de MTP identificar las capacidades específicas de los dispositivos en cuanto a formatos de archivo y funcionalidad. En particular, es posible que los iniciadores de MTP deban proporcionar contraseñas y otra información para desbloquear archivos o habilitar la gestión de derechos digitales . Si bien el estándar principal no incluye ninguna función específica de este tipo, estas características están disponibles mediante extensiones de proveedores. MTPZ, la extensión de Zune para MTP, deniega específicamente el acceso a los archivos hasta que se haya procesado la autenticación, lo cual solo es posible con Windows Media Player 10 o superior.
Comparación con el almacenamiento masivo USB
Protocolo orientado a archivos en lugar de protocolo orientado a bloques
Ubicación incorrecta: Los usuarios han informado que, ocasionalmente, los archivos aparecen en ubicaciones incorrectas debido a una comunicación deficiente entre el servidor MTP (por ejemplo, un teléfono inteligente) y el cliente (por ejemplo, el administrador de archivos de la computadora). Si se mueve un directorio fuera del servidor MTP sin que el cliente detecte todos los archivos, los archivos no detectados podrían eliminarse sin que todos se hayan transferido correctamente. [ 8 ] [ 9 ]
Actuación
Soporte limitado para la modificación directa de archivos (véase § Modificación directa y funciones de transferencia parcial ). Para modificar un archivo o sus metadatos, puede ser necesario copiar el archivo completo fuera del dispositivo y volver a cargarlo, lo que lleva mucho tiempo para archivos o directorios grandes y bloquea el dispositivo para otras operaciones mientras tanto. La implementación de MTP de Google en Android incluye extensiones para solucionar esta limitación; sin embargo, estas extensiones deben ser compatibles con el sistema operativo anfitrión. [ 10 ] [ 11 ]
Transparencia para el software que no reconoce MTP
Los controladores conocen un conjunto fijo de dispositivos compatibles.
A pesar de la identificabilidad mediante la clase de dispositivo USB PTP/MTP , la documentación de libmtp indica que la combinación de ID de proveedor y producto desempeña un papel funcional en la identificación de un dispositivo MTP. Libmtp incluye extensas listas de números de ID de proveedor y producto de los dispositivos que admite, junto con soluciones alternativas para errores. [ 12 ] [ 13 ]
La especificación conoce un conjunto fijo de formatos de archivo definidos.
La especificación MTP incluye una enumeración de formatos de archivo, denominada formato de objeto . [ 4 ] Esta enumeración se utiliza para comunicar los formatos de archivo compatibles y los formatos de los archivos transferidos. Aparte de algunos formatos sin categorizar al principio, la lista de formatos se agrupa en categorías de formatos de imagen, audio, vídeo y documento, y cada categoría tiene un formato "Indefinido" seguido de formatos específicos. También existe un formato supergenérico "Objeto Indefinido".
Jolla citó la falta de compatibilidad con WebM en MTP como una de las razones para no admitir este formato de video en su sistema operativo móvil Sailfish OS . No está claro si la limitación reside en las herramientas o en la especificación, salvo que WebM no está definido en la especificación MTP 1.1. [ 14 ] [ 15 ]
Características de modificación directa y transferencia parcial
Estas funciones pueden utilizarse como alternativas más eficientes a las transferencias y recargas de archivos completos:
De la especificación MTP 1.1: [ 4 ]
Extensiones de Android
Según go-mtpfs: [ 11 ]
Soporte MTP
Windows
Adopción en Windows
Windows Vista y versiones posteriores incluyen compatibilidad con MTP. Windows XP admite MTP si está instalado Windows Media Player 10 o una versión posterior. Para las versiones anteriores de Windows 2000, Windows 98 y Windows Me, Microsoft lanzó un "Kit de Portabilidad del Protocolo de Transferencia de Medios" [ 16 ] que contiene un controlador de dispositivo MTP. Algunos fabricantes, como Creative Technology , también proporcionan controladores MTP heredados para algunos de sus reproductores; estos suelen consistir en archivos del Kit de Portabilidad MTP con un archivo INF personalizado que describe sus reproductores específicos. La plataforma de sensores de Windows 7 admite sensores integrados en dispositivos compatibles con MTP [ 17 ] .
Soporte por software
Windows no asigna letras de unidad ni rutas UNC a los dispositivos conectados mediante MTP; en su lugar, solo aparecen como dispositivos con nombre en aplicaciones compatibles con MTP, como el Explorador de Windows . A diferencia de los dispositivos que implementan almacenamiento masivo USB, no se puede acceder a estos dispositivos mediante programación con scripts o programas normales de Windows que dependan de letras de unidad o rutas UNC. En su lugar, los archivos deben manipularse mediante el Explorador de Windows o aplicaciones con soporte específico para MTP.
En Windows, los dispositivos compatibles con MTP admiten la función Sincronización automática, que permite configurar Windows Media Player para transferir automáticamente todo el contenido copiado o recién adquirido a los dispositivos cuando se conectan, siempre que dicho contenido sea compatible con Windows Media Player. La Sincronización automática es personalizable, de modo que el reproductor solo transferirá el contenido que cumpla ciertos criterios (por ejemplo, canciones con una calificación de cuatro estrellas o superior). Los cambios realizados en las propiedades de los archivos (como la calificación del usuario y el número de reproducciones) en un dispositivo se sincronizarán con el ordenador cuando se vuelva a conectar el dispositivo.
Comportamiento de movimiento de archivos
En la implementación de MTP utilizada por el Explorador de Windows, los archivos de una selección que se mueven fuera del almacenamiento de un dispositivo móvil, quizás con el objetivo de liberar espacio, no se eliminan individualmente del origen después de cada archivo, sino que toda la selección se elimina de una sola vez del origen solo después de que la transferencia haya finalizado.
Como resultado, las transferencias de archivos interrumpidas prematuramente, ya sea manualmente o de forma inesperada, no liberarán espacio en el dispositivo de origen. (Además, intentar copiar o mover archivos de una carpeta de Android a otra en el mismo dispositivo, usando el Explorador de archivos de Windows, no funciona. Copiar no crea copias y mover solo elimina los archivos de origen sin crear los archivos de destino). [ 18 ] [ 19 ]
Sistemas tipo Unix
Una implementación gratuita y de código abierto del Protocolo de Transferencia de Medios está disponible como libmtp. [ 20 ] Esta biblioteca incorpora identificadores de productos y dispositivos de muchas fuentes, [ 12 ] y se usa comúnmente en otro software para soporte de MTP.
Gráfico
Las aplicaciones de GNOME , como GNOME Files (anteriormente llamado Nautilus) y Archive Manager (anteriormente llamado File-Roller), utilizan GVfs basado en GIO para acceder a los archivos en dispositivos MTP.
El proyecto KDE desarrolla el MTP KIO Slave con un nivel de integración similar al de GVfs.
gMTP , el reproductor multimedia gráfico compatible con MTP para sistemas *NIX, no tiene relación con GNOME ni con KDE .
Sistema de archivos virtual
Varias herramientas proporcionan un sistema de archivos basado en FUSE para montar dispositivos MTP dentro de la jerarquía del sistema de archivos Unix, lo que lo hace accesible a cualquier programa que opere con archivos y directorios.
macOS
macOS tiene soporte integrado para PTP (a través de "Captura de Imagen" [ 21 ] ), pero no para MTP. Existen varias aplicaciones de terceros que sí admiten MTP:
Otros sistemas operativos
Las versiones más recientes de varios sistemas operativos, incluidos AmigaOS , Android , AROS , MorphOS , Symbian OS y HarmonyOS / OpenHarmony /Oniro, son compatibles con MTP, a veces con controladores o software adicionales.
Una desventaja de los dispositivos MTP en Android en comparación con el almacenamiento masivo USB es que, si bien MTP conserva las marcas de tiempo de los archivos al copiarlos desde el dispositivo Android a la computadora, al copiar en la dirección opuesta, reemplaza las marcas de tiempo de modificación de archivos con la hora en que se realizó la copia. [ 30 ] [ 31 ]
Otros fabricantes
Empresas como Creative Technology, Intel , iRiver y Samsung Electronics , que fabrican dispositivos basados en la especificación " Portable Media Center " de Microsoft , han adoptado ampliamente MTP. Los dispositivos compatibles se presentaron en la Feria de Electrónica de Consumo de 2004 .
Tras un período inicial de reacciones inciertas, varios grandes productores de reproductores multimedia, como Creative Technology e iRiver, adoptaron el protocolo MTP en lugar de sus propios protocolos.
Alternativas
- Dispositivos y protocolos de almacenamiento masivo USB
- Almacenamiento conectado a la red (NAS)
- Android Debug Bridge (más rápido pero más difícil de usar)
Véase también
- Windows Media
- IEEE 1394 (firewire)
Referencias
- ↑ "Detalles de implementación del Protocolo de Transferencia de Medios" . MTP definido en la diapositiva 3. Archivado del original el 14 de diciembre de 2005.
- ↑ "Ice Cream Sandwich sí admite almacenamiento masivo USB, el Galaxy Nexus no" . Engadget. 25 de noviembre de 2011. Archivado del original el 5 de febrero de 2020. Consultado el 5 de enero de 2020 .
- ↑ "¿MTP, estándar para reproductores portátiles? McLauchlan de Microsoft nos aclara las cosas" . 31 de julio de 2006. Archivado del original el 4 de agosto de 2016. Consultado el 1 de junio de 2016 .
- 1 2 3 4 5 "Especificación del Protocolo de Transferencia de Medios v.1.1 y Acuerdo de Adopción de MTP v.1.1" . 6 de abril de 2011. Archivado del original el 29 de septiembre de 2018. Recuperado el 29 de septiembre de 2018 .
- 1 2 "Miedo y asco en el protocolo de transferencia de medios" (PDF) . eLinux . Conceptos básicos de PTP/MTP. Archivado (PDF) del original el 7 de febrero de 2021. Recuperado el 7 de febrero de 2021 .
- ↑ "MTP sobre diversos medios de transporte" . 29 de agosto de 2009. Archivado del original el 1 de mayo de 2019. Consultado el 4 de diciembre de 2025 .
- ↑ "Especificación MTP" . Archivado del original el 4 de junio de 2011.
- ↑ "Google Issue Tracker" . issuetracker.google.com . Consultado el 2 de abril de 2022 .
- ↑ "usb - ¿Por qué MTP muestra una ubicación de directorio incorrecta?" . Android Enthusiasts Stack Exchange . Consultado el 2 de abril de 2022 .
- ↑ "¡Compatibilidad normal con lectura/escritura de archivos con el backend GVFS MTP!" . 18 de febrero de 2013. Archivado del original el 14 de abril de 2016. Recuperado el 1 de junio de 2016 .
- 1 2 "hanwen/go-mtpfs" . GitHub . Archivado del original el 7 de octubre de 2018. Recuperado el 1 de junio de 2016 .
- 1 2 "Código fuente de libmtp: music_players.h" . Archivado del original el 18 de noviembre de 2015. Recuperado el 26 de noviembre de 2015 .
- ↑ "Código fuente de libmtp: ptp.h" . Archivado del original el 8 de marzo de 2021. Recuperado el 9 de julio de 2017 .
- ↑ "Soporte de Webm (VP8, VP9, Opus) para Sailfish - together.jolla.com" . Archivado del original el 4 de marzo de 2016. Consultado el 1 de junio de 2016 .
- ↑ "No se puede usar MTP con cable USB" . Sailfishos.org . 13 de abril de 2021. Consultado el 13 de abril de 2021 .
- ↑ "Kit de portabilidad del protocolo de transferencia de medios" . Microsoft. Archivado del original el 8 de junio de 2016. Consultado el 1 de junio de 2016 .
- ↑ "Sensores y Windows" . Blog del equipo de dispositivos portátiles de Windows . 17 de diciembre de 2009. Archivado del original el 18 de octubre de 2019. Consultado el 4 de diciembre de 2025 .
- ↑ guenni (30 de agosto de 2017). "Windows 10 tiene un problema de MTP con dispositivos Android" . Born's Tech and Windows World . Archivado del original el 27 de octubre de 2020. Recuperado el 27 de octubre de 2020 .
- ↑ Leonhard, Woody (31 de agosto de 2017). "No uses Windows 10 para transferir datos en tu teléfono Android" . Computerworld . Archivado del original el 27 de octubre de 2020. Consultado el 4 de diciembre de 2025 .
- ↑ "libmtp" . Libmtp.sourceforge.net. Archivado del original el 2 de marzo de 2014. Consultado el 15 de marzo de 2014 .
- ↑ "Transferir fotos de Android a Mac OS X" . Osxdaily.com. 8 de febrero de 2013. Consultado el 8 de febrero de 2013 .
- ↑ "Transferencia de archivos de Android" . Android.com. Archivado del original el 29 de marzo de 2021. Consultado el 15 de marzo de 2014 .
- ↑
- ↑
- ↑ "Transferencia de archivos Android Linux Mac OS X" . whoozle. Archivado del original el 22 de febrero de 2017. Recuperado el 2 de diciembre de 2016 .
- ↑ "OpenMTP" . GitHub .
- ↑ "Cómo configurar el modo MTP en Android | MacDroid" . 12 de abril de 2024.
- ↑ "SyncMate" . Software ELTIMA. Archivado del original el 19 de junio de 2014. Recuperado el 15 de junio de 2014 .
- ↑ "Commander One PRO Pack" . IvanK_Eltima. Archivado del original el 9 de abril de 2017. Recuperado el 20 de abril de 2017 .
- ↑ "Problema 57065 - android - Escribir archivos a través de MTP establece la fecha y hora de las imágenes y los archivos a la actual, no conserva la marca de tiempo. - Proyecto de código abierto de Android - Rastreador de problemas - Alojamiento de proyectos de Google" . code.google.com . 30 de agosto de 2016. Archivado del original el 11 de octubre de 2016. Recuperado el 2 de septiembre de 2016 .
- ↑ "Problema 18624 - android - setLastModified() siempre falla en Xoom a menos que se ejecute como root - Proyecto de código abierto de Android - Rastreador de problemas - Alojamiento de proyectos de Google" . code.google.com . 30 de agosto de 2016. Archivado del original el 18 de agosto de 2016. Consultado el 2 de septiembre de 2016 .
Enlaces externos
- Especificación MTP 1.1
- Artículo sobre la adopción de Canon en la Wayback Machine (archivado el 20 de noviembre de 2008).
- MTP: Qué, por qué y cómo. (Función de Android)
- Wiki de Arch Linux: Protocolo de transferencia de medios
- Interfaces de programación de aplicaciones de Microsoft
- Tecnología multimedia de Microsoft Windows
- USB
- protocolos de red