Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Transfer Protocol медиа ( MTP ) является расширением Picture Transfer Protocol (PTP) протокол связи , что позволяет медиа - файлы , которые будут автоматически передаваться и от портативных устройств. [1] В то время как PTP был разработан для загрузки фотографий с цифровых камер , Media Transfer Protocol позволяет передавать музыкальные файлы на цифровых аудиоплеерах и медиафайлы на портативных медиаплеерах , а также личную информацию на персональных цифровых помощниках . MTP - ключевая часть WMDRM 10-PD [1], система управления цифровыми правами.(DRM) для платформы Windows Media . В 2011 году это стало стандартным методом передачи файлов с / на Android. [2]

MTP является частью платформы Windows Media и, таким образом, тесно связан с проигрывателем Windows Media . Версии операционной системы Microsoft Windows из Windows XP SP2 поддерживают MTP. Windows XP требует Windows Media Player 10 или выше; [3] более поздние версии Windows имеют встроенную поддержку. Microsoft также сделала доступным комплект переноса MTP для старых версий Windows обратно в Windows 98 .

USB реализаторов Форум устройство рабочей группа стандартизирована MTP как полноправный Universal Serial Bus (USB) устройство класса в мае 2008 года [4] С тех пор MTP является официальным дополнением к ПТПУ и разделяет тот же самый код класса. [5]

Обзор [ править ]

Основная цель этого протокола - разрешить только передачу мультимедийных файлов и связанных с ними метаданных на портативные устройства и с них, с одной функцией передачи, внутрь или наружу, за раз. Он не поддерживает такие операции, как открытие, редактирование и изменение. Обходной путь , чтобы скопировать на хостинг системы для этих операций , а затем скопировать обратно. Мобильное устройство с батарейным питанием может сообщать об уровне заряда батареи через MTP. [6]

Первоначально протокол был реализован для использования через USB, но расширен для использования через TCP / IP и Bluetooth . Windows Vista поддерживает MTP через TCP / IP. Windows 7 и Windows Vista с обновлением платформы для Windows Vista также поддерживают MTP через Bluetooth. [7] Хост, подключающийся к устройству MTP, называется инициатором MTP, тогда как само устройство является ответчиком MTP . [8]

Основная причина использования MTP, а не, например, класса запоминающих устройств USB (MSC) заключается в том, что последний работает на уровне детализации блока запоминающего устройства (обычно на практике это блок FAT ), а не на уровне логический файловый уровень. Другими словами, класс запоминающих устройств USB предназначен для предоставления главному компьютеру недифференцированного доступа к массовым запоминающим устройствам, таким как компактная флэш-память , а не к файловой системе, которая может безопасно использоваться совместно с целевым устройством (за исключением определенных файлов, которые хост может изменять / осуществлять доступ). Поэтому на практике, когда хост-компьютер USB установленраздел MSC, он предполагает абсолютный контроль над хранилищем, которое затем не может быть безопасно модифицировано устройством без риска повреждения данных, пока главный компьютер не разорвет соединение. Кроме того, поскольку главный компьютер имеет полный контроль над подключенным запоминающим устройством, существует риск того, что главный компьютер может повредить файловую систему, переформатировать ее в файловую систему, не поддерживаемую устройством USB, или иным образом изменить ее таким образом. что устройство USB не может полностью его понять.

MTP и PTP специально решают эту проблему, делая единицу управляемого хранилища локальным файлом, а не целой (возможно, очень большой) единицей массовой памяти на уровне блоков. Таким образом, MTP работает как транзакционная файловая система - либо записывается / читается весь файл, либо ничего. На носитель данных не влияют неудачные передачи.

Если устройство поддерживает базу данных / индекс содержимого диска, MTP экономит затраты на повторное сканирование всего диска при каждом изменении содержимого.

Кроме того, MTP позволяет инициаторам MTP определять конкретные возможности устройства (устройств) в отношении форматов файлов и функций. В частности, инициаторам MTP может потребоваться предоставить пароли и другую информацию для разблокировки файлов или иным образом включить управление цифровыми правами . Ничего подобного не содержится в основном стандарте, но функции доступны через расширения поставщика. MTPZ, расширение Zune для MTP, в частности, запрещает доступ к файлам до тех пор, пока не будет обработана аутентификация, что возможно только при использовании Windows Media Player 10 или выше.

Сравнение с USB Mass Storage [ править ]

Преимущества MTP отмечены знаком « (+) », а недостатки отмечены « (-) ».

Файловый протокол вместо блочного [ править ]

При не подвергая в файловой системе индекс и метаданных, целостность них полный контроль над устройством.

  • (+) Отсутствие риска повреждения файловой системы при отключении устройства во время записи. Передача файлов осуществляется атомарно, и от пользователя не требуется явного отключения файловой системы («безопасного удаления»).
  • При подключении устройство может получить доступ к собственной файловой системе:
    • (+) Можно избежать повторной индексации после отключения. Также помогло включение метаданных при переносе.
    • (+) Отдельная файловая система для отображения хоста не нужна. Это позволяет избежать негибкости выделения раздела фиксированного размера для этой файловой системы.
  • (+) Хост не должен поддерживать файловую систему устройства. И наоборот, производитель устройства может выбрать файловую систему (обычно файловую систему Linux, не поддерживаемую Windows ), отличную от широко поддерживаемого семейства файловых систем FAT .
  • (-) Невозможно использовать инструменты восстановления и удаления файловой системы на компьютере, так как MTP не предлагает доступа на уровне блоков.
  • (-) Многие устройства, подключенные к MTP, особенно старые, не предоставляют метки времени файлов через протокол, что приводит к их потере при копировании / перемещении файлов на компьютер или с компьютера. Такие файлы, как фотографии JPEG со встроенными данными Exif, по- прежнему имеют внутренние метки времени (и существуют утилиты для восстановления меток времени файлов на их основе), но этот обходной путь недоступен для других типов файлов без таких внутренних метаданных.

Производительность [ править ]

  • (-) MTP не допускает параллелизма ( асинхронности ), в отличие от USB-накопителя или NAS . MTP был создан для одновременного выполнения только одной операции (например, операции чтения, записи или удаления), в то время как никакая другая операция не может быть выполнена до тех пор, пока предыдущая операция не будет завершена.
  • (-) Ограниченная поддержка передачи частей файлов, таких как блоки или диапазоны байтов (см. § Функции прямого изменения и частичной передачи ).
  • (-) Ограниченная поддержка прямого изменения файлов (см. § Функции прямого изменения и частичной передачи ). Чтобы изменить файл или его метаданные, может потребоваться скопировать весь файл с устройства и повторно загрузить, что занимает много времени для большого файла или каталога и тем временем блокирует устройство для других операций. Реализация Google MTP в Android включает расширения для устранения этого ограничения; однако эти расширения должны поддерживаться операционной системой хоста. [9] [10]
  • (-) Загрузка более длинных списков файлов (тысячи элементов) и «подготовка» к передаче файлов могли занимать больше времени, чем сама передача файлов.

Прозрачность для программного обеспечения, не осведомленного о MTP [ править ]

(-) Windows не назначает буквы дисков или UNC- пути устройствам MTP, поскольку изначально не предоставляет их как виртуальные файловые системы . Без букв дисков или путей UNC программное обеспечение, не поддерживающее MTP, не может получить доступ к каталогам или файлам на этих устройствах. Пользователь должен переключиться на приложение, поддерживающее MTP, или обойти эту проблему, используя приложение, поддерживающее MTP, например Windows Explorer, чтобы скопировать или переместить файл в файловую систему, к которой приложение может получить доступ.

Одна особая проблема заключается в том, что антивирусное программное обеспечение на главном компьютере может не знать об устройствах MTP, что делает их потенциально менее безопасными, чем устройства хранения данных (хотя, если файлы на устройствах MTP копируются или перемещаются на хост перед использованием, антивирусное программное обеспечение, не поддерживающее MTP будет возможность их сканировать). [ необходима цитата ] Антивирусное сканирование также может оказаться непрактичным из-за блокировки регулярного использования устройства.

Драйверы знают фиксированный набор поддерживаемых устройств [ править ]

(-) Несмотря на идентифицируемость по классу USB-устройств PTP / MTP , документация libmtp указывает, что комбинация идентификатора производителя и продукта играет функциональную роль в идентификации устройства MTP, в том числе драйверами Windows. [11] Libmtp включает обширные списки поставщиков и идентификаторов продуктов для устройств, которые он поддерживает, а также обходные пути для ошибок. [12] [13] Эта неуниверсальная методология препятствует прямой совместимости драйверов MTP с новыми устройствами.

Спецификация знает фиксированный набор определенных форматов файлов [ править ]

Спецификация MTP включает перечень форматов файлов, называемых объектным форматом . [5] Это перечисление используется для передачи поддерживаемых форматов файлов и форматов передаваемых файлов. Помимо некоторых некатегоризованных форматов в начале, список форматов сгруппирован по категориям форматов изображений, аудио, видео и документов, причем каждая категория имеет один «Неопределенный» формат, за которым следуют определенные форматы. Существует также универсальный формат «Неопределенный объект».

Jolla сослалась на отсутствие поддержки WebM в MTP как на одну из причин не поддерживать видеоформат в своей мобильной операционной системе Sailfish OS . Неясно, есть ли ограничение в инструментах или спецификации, кроме того, что WebM не определен спецификацией MTP 1.1. [14] [ ненадежный источник? ]

Функции прямого изменения и частичного переноса [ править ]

Эти функции можно использовать как более эффективные альтернативы передаче и повторной загрузке всего файла:

Из спецификации MTP 1.1: [5]

Расширения Android [ править ]

Согласно go-mtpfs: [10]

Поддержка MTP [ править ]

Windows [ править ]

Адаптация в Windows [ править ]

MTP поддерживается в Windows XP, если установлен Windows Media Player 10 или более поздней версии. Windows Vista и более поздние версии имеют встроенную поддержку MTP. Для более старых версий Windows, в частности Windows 2000, Windows 98 и Windows Me, Microsoft выпустила MTP Porting Kit. [15], который содержит драйвер устройства MTP. Некоторые производители, например Creative Technology , также предоставляют устаревшие драйверы MTP для некоторых своих плееров; они обычно состоят из файлов MTP Porting Kit с настраиваемым файлом INF, описывающим их конкретные проигрыватели. [ необходима цитата ]

Поддержка программным обеспечением [ править ]

Windows не назначает буквы дисков или пути UNC устройствам, подключенным через MTP; вместо этого они отображаются как именованные устройства только в приложениях с поддержкой MTP, таких как проводник Windows . По сравнению с устройствами, в которых реализовано запоминающее устройство USB, к таким устройствам нельзя получить программный доступ с помощью сценариев или обычных программ Windows, которые зависят от букв дисков или UNC-путей. Вместо этого файлы должны управляться с помощью проводника Windows или приложений со специально написанной поддержкой MTP.

Под Windows MTP-совместимые устройства поддерживают функцию Auto Sync, которая позволяет пользователям настраивать проигрыватель Windows Media для автоматической передачи всего скопированного или вновь полученного содержимого на устройства, когда они подключены, при условии, что содержимое совместимо с проигрывателем Windows Media. Автосинхронизация настраивается таким образом, что проигрыватель будет передавать только контент, который соответствует определенным критериям (например, песни с рейтингом четыре звезды или выше). Изменения, внесенные в свойства файла (такие как рейтинг пользователя и счетчик воспроизведения файлов) на устройстве, могут быть переданы обратно на компьютер при повторном подключении устройства.

Копии файлов, к которым осуществляется доступ через MTP, могут оставаться на главном компьютере даже после перезагрузки, [ необходима ссылка ], где они будут доступны для учетной записи пользователя, которая к ним обратилась, а также для любых других учетных записей пользователей, которые могут читать файлы этой учетной записи, включая любые административные пользователи. Платформа датчиков Windows 7 поддерживает датчики, встроенные в MTP-совместимые устройства. [16]

Поведение при перемещении файлов [ править ]

В реализации MTP, используемой проводником Windows, файлы из выборки, перемещенной из хранилища мобильного устройства, возможно, с целью освобождения места, не удаляются индивидуально из источника после каждого файла, а вместо этого весь выбор удаляется в один раз из источника только после завершения передачи.

В результате перемещение файлов, прерванное несвоевременно, вручную или неожиданно, не освободит место на исходном устройстве. [17] [18]

Unix-подобные системы [ править ]

Бесплатная реализация протокола передачи мультимедиа с открытым исходным кодом доступна как libmtp. [19] Эта библиотека включает идентификаторы продуктов и устройств из многих источников, [12] и обычно используется в другом программном обеспечении для поддержки MTP.

Графический [ править ]

Приложения GNOME, такие как GNOME Files (ранее называвшиеся Nautilus) и Archive Manager (ранее называвшиеся File-Roller), используют GVfs на основе GIO для доступа к файлам на устройствах MTP. Правильная поддержка MTP была добавлена ​​в GVfs в версии 1.15.2 (2013-01-15) [20] Филипом Лэнгдейлом. [21] [22] Доступны ранние патчи для GVfs, позволяющие использовать расширения прямого ввода-вывода Google. [23]

Проект KDE разрабатывает MTP KIO Slave с таким же уровнем интеграции, что и GVfs.

Не связанный с GNOME или KDE, графический медиаплеер * NIX с поддержкой MTP, gMTP .

Виртуальная файловая система [ править ]

Некоторые инструменты предоставляют файловую систему на основе FUSE для монтирования устройств MTP в иерархии файловой системы Unix, делая ее доступной для любой программы, которая работает с файлами и каталогами. Примеры включают mtpfs , jMTPFS , go-mtpfs и simple-mtpfs . [24]

macOS [ править ]

В macOS есть встроенная поддержка MTP (через приложение «Цифровые изображения»), но нет (сторонних) драйверов для подключения устройств MTP в качестве дисков. Также для Mac OS X v10.5 и новее доступны несколько сторонних приложений для передачи файлов:

  • Android File Transfer - это простой клиент MTP. [25]
  • Android File Transfer для Linux (и Mac OS X!), С открытым исходным кодом, лицензия GPL версии 3, графический интерфейс, инструмент командной строки, оболочка FUSE - установка вашего устройства, [26]
  • XNJB также предлагает синхронизацию плейлистов iTunes. [27]
  • SyncMate Expert утверждает, что также поддерживает MTP помимо других задач синхронизации. Поддержка не может быть протестирована в бесплатной версии. [28]
  • Commander One PRO Pack - файловый менеджер, позволяющий подключать устройства MTP к Mac и управлять их содержимым. [29]

Другие операционные системы [ править ]

Более поздние версии нескольких операционных систем, включая AmigaOS , Android , AROS , MorphOS и Symbian OS, поддерживают MTP, иногда с дополнительными драйверами или программным обеспечением.

Недостатком устройств MTP на Android по сравнению с USB-накопителем является то, что, хотя временные метки файлов сохраняются при копировании файлов с Android-устройства на компьютер, при копировании в другом направлении временные метки изменения файла заменяются временем, когда была сделана копия. сделано. [30] [31]

Другие производители [ править ]

Компании, в том числе Creative Technology, Intel , iriver и Samsung Electronics , которые производят устройства на основе « спецификации портативного медиацентра » Microsoft , широко применяют протокол MTP. Вспомогательные устройства были представлены на выставке Consumer Electronics Show 2004 года .

После начального периода неопределенной реакции несколько крупных производителей медиаплееров, таких как Creative Technology и iriver, приняли протокол MTP вместо своих собственных протоколов.

Многие устройства и аудиоприложения поддерживают MTP.

Альтернативы [ править ]

  • USB-накопитель
  • Сетевое хранилище (NAS)

См. Также [ править ]

  • Windows Media
  • IEEE 1394 (Firewire)

Ссылки [ править ]

  1. ^ a b «Детали реализации протокола передачи мультимедиа» . MTP определен на слайде 3. Архивировано 14 декабря 2005 года.CS1 maint: неподходящий URL ( ссылка )
  2. ^ «Ice Cream Sandwich в конце концов поддерживает USB-накопители, а Galaxy Nexus - нет» . Engadget. 25 ноября 2011 . Проверено 5 января 2020 года .
  3. ^ «Окончательная доступность Windows Media Player 10 дает больше музыки и больше возможностей для музыкальных фанатов» (пресс-релиз). Microsoft. 2 сентября 2004 г.
  4. ^ «MTP, Portable Player Standard? Маклаухлан Microsoft устанавливает нас прямо» . 31 июля 2006 . Проверено 1 июня 2016 года .
  5. ^ a b c «Протокол передачи мультимедиа v.1.1 Spec и MTP v.1.1 Adopters Agreement» . 6 апреля 2011 г.
  6. ^ «Страх и ненависть в протоколе передачи мультимедиа» (PDF) . eLinux . Основы PTP / MTP.
  7. ^ «MTP через различные транспорты» . Проверено 1 июня 2016 года .
  8. ^ «Спецификация MTP» . Архивировано 4 июня 2011 года.
  9. ^ "Нормальная поддержка чтения / записи файлов с серверной частью GVFS MTP!" . 18 февраля 2013 . Проверено 1 июня 2016 года .
  10. ^ a b "hanwen / go-mtpfs" . Проверено 1 июня 2016 года .
  11. ^ "libmtp README" . 8 июля 2017 года . Проверено 9 июля 2017 года . Устройствам требуются разные PID для каждого альтернативного интерфейса из-за стека Windows USB.
  12. ^ a b "Исходный код libmtp: music_players.h" . Проверено 26 ноября 2015 года .
  13. ^ "Исходный код libmtp: ptp.h" . Проверено 9 июля 2017 года .
  14. ^ «Поддержка Webm (VP8, VP9, ​​Opus) для Sailfish - together.jolla.com» . Проверено 1 июня 2016 года .
  15. ^ "Комплект переноса протокола передачи мультимедиа" . Microsoft . Проверено 1 июня 2016 года .
  16. ^ «Датчики и окна» . Блог группы разработчиков портативных устройств Windows . 17 декабря 2009 г.
  17. ^ Guenni (30 августа 2017 г.). «У Windows 10 проблема MTP с устройствами Android | Born's Tech и Windows World» . borncity.com .
  18. Рианна Леонард, Вуди (31 августа 2017 г.). «Не используйте Windows 10 для перемещения данных на телефоне Android» . Компьютерный мир .
  19. ^ "libmtp" . Libmtp.sourceforge.net . Проверено 15 марта 2014 года .
  20. ^ "gvfs-1.15.2.changes" . ftp.gnome.org. 15 января 2013 . Проверено 6 июня 2013 года .
  21. ^ "Собственный бэкэнд gvfs для устройств MTP" . 7 августа 2010 . Проверено 1 июня 2016 года .
  22. ^ "gvfs - Реализация виртуальной файловой системы для GIO" . git commit добавляет серверную часть MTP в GVfs . Проверено 1 июня 2016 года .
  23. ^ «Ошибка 695984 - добавлена ​​поддержка расширений прямого ввода-вывода Android» . Проверено 1 июня 2016 года .
  24. ^ Arch Linux Wiki (1 сентября 2014 г.). «МТП» . Проверено 23 октября 2014 года .
  25. ^ «Android File Transfer» . Android.com . Проверено 15 марта 2014 года .
  26. ^ «Android File Transfer Linux Mac OS X» . блядь . Проверено 2 декабря 2016 года .
  27. ^ "XNJB" . Ричард Лоу . Проверено 15 июня 2014 года .
  28. ^ "SyncMate" . Программное обеспечение ELTIMA . Проверено 15 июня 2014 года .
  29. ^ "Commander One PRO Pack" . ИванК_Элтима . Проверено 20 апреля 2017 года .
  30. ^ «Проблема 57065 - android - Запись файлов через MTP, установка даты и времени для изображений и файлов в текущее состояние, не сохраняет отметку времени. - Проект с открытым исходным кодом Android - Система отслеживания проблем - Хостинг проектов Google» . code.google.com . 30 августа 2016 . Проверено 2 сентября 2016 года .
  31. ^ «Проблема 18624 - android - setLastModified () всегда дает сбой на Xoom, если он не запущен от имени root - Android Open Source Project - Issue Tracker - Google Project Hosting» . code.google.com . 30 августа 2016 . Проверено 2 сентября 2016 года .

Внешние ссылки [ править ]

  • Спецификация MTP 1.1
  • Статья об использовании Canon на Wayback Machine (архивировано 20 ноября 2008 г.)
  • MTP Что, почему, как. (Функция Android)
  • ArchLinux Wiki: Протокол передачи мультимедиа