Протокол передачи мультимедиа

редактировать

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

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

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

СОДЕРЖАНИЕ

  • 1 Обзор
  • 2 Сравнение с USB Mass Storage
    • 2.1 Файлово-ориентированный протокол вместо блочного
    • 2.2 Производительность
    • 2.3 Прозрачность для программного обеспечения, не осведомленного о MTP
    • 2.4 Драйверы знают фиксированный набор поддерживаемых устройств
    • 2.5 Спецификация знает фиксированный набор определенных форматов файлов
  • 3 Функции прямой модификации и частичной передачи
    • 3.1 Расширения Android
  • Поддержка 4 MTP
    • 4.1 Окна
      • 4.1.1 Адаптация в Windows
      • 4.1.2 Поддержка программным обеспечением
      • 4.1.3 Поведение при перемещении файлов
    • 4.2 Unix-подобные системы
      • 4.2.1 Графический
      • 4.2.2 Виртуальная файловая система
      • 4.2.3 macOS
    • 4.3 Другие операционные системы
    • 4.4 Другие производители
  • 5 альтернатив
  • 6 См. Также
  • 7 ссылки
  • 8 Внешние ссылки

Обзор

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

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

Основная причина использования 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

См. Также: Класс запоминающих устройств USB.

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

Файловый, а не блочно-ориентированный протокол

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

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

Представление

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

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

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

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

Водителям известен фиксированный набор поддерживаемых устройств.

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

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

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

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

Функции прямой модификации и частичного переноса

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

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

Код операции Название операции Объяснение
0x9805 GetObjectPropList Передача метаданных
0x9806 SetObjectPropList
0x1019 MoveObject Переименовать файл или каталог
0x101B GetPartialObject Запросить байтовый диапазон файла

Расширения Android

Согласно go-mtpfs:

Код операции Название операции Объяснение
0x95C1 GetPartialObject64 То же, что и GetPartialObject, но с 64-битным смещением
0x95C2 SendPartialObject То же, что GetPartialObject64, но копирование хоста на устройство
0x95C3 TruncateObject Обрезает файл до 64-битной длины
0x95C4 BeginEditObject Должен быть вызван перед использованием SendPartialObject и TruncateObject
0x95C5 EndEditObject Вызывается для фиксации изменений, внесенных SendPartialObject и TruncateObject

Поддержка MTP

Окна

Адаптация в Windows

MTP поддерживается в Windows XP, если установлен Windows Media Player 10 или более поздней версии. Windows Vista и более поздние версии имеют встроенную поддержку MTP. Для более старых версий Windows, в частности Windows 2000, Windows 98 и Windows Me, Microsoft выпустила MTP Porting Kit. который содержит драйвер устройства 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-совместимые устройства.

Поведение при перемещении файлов

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

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

Unix-подобные системы

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

Графический

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

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

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

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

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

macOS

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

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

Другие операционные системы

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

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

Прочие производители

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

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

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

Альтернативы

Смотрите также

Рекомендации

Внешние ссылки

Последняя правка сделана 2024-01-02 04:31:51
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте