Media Transfer Protocol - Media Transfer Protocol

Media Transfer Protocol ( MTP ) je rozšířením Picture Transfer Protocol (PTP), komunikační protokol , který umožňuje mediální soubory, které mají být automaticky přeneseny do az přenosných zařízení. Zatímco PTP bylo navrženo pro stahování fotografií z digitálních fotoaparátů , Media Transfer Protocol umožňuje přenos hudebních souborů na digitálních zvukových přehrávačích a mediálních souborů na přenosných přehrávačích médií , jakož i osobních údajů o osobních digitálních asistentech . MTP je klíčovou součástí WMDRM 10-PD, služby správy digitálních práv (DRM) pro platformu Windows Media . V roce 2011 se stala standardní metodou přenosu souborů z / do Androidu.

MTP je součástí rámce „Windows Media“, a proto úzce souvisí s Windows Media Player . Verze operačního systému Microsoft Windows z Windows XP SP2 podporují MTP. Windows XP vyžaduje Windows Media Player 10 nebo vyšší; novější verze systému Windows mají integrovanou podporu. Společnost Microsoft také zpřístupnila MTP Porting Kit pro starší verze Windows zpět na Windows 98 .

USB Implementers Forum zařízení Pracovní skupina standardizován MTP jako plnohodnotného Universal Serial Bus (USB) Třída zařízení v květnu 2008. Od té doby se MTP je oficiální rozšíření k PTP a sdílí stejný kód třídy.

Přehled

Hlavním účelem tohoto protokolu je povolit pouze přenos mediálních souborů a přidružených metadat do az přenosných zařízení, jednu funkci přenosu, dovnitř nebo ven, najednou. Nepodporuje operace, jako je otevírání, úpravy a úpravy. Řešením je zkopírovat do hostitelské systém pro tyto operace a zkopírujte zpět. Mobilní zařízení napájené z baterie může hlásit úroveň nabití baterie prostřednictvím MTP.

Protokol byl původně implementován pro použití přes USB, ale rozšířen pro použití přes TCP / IP a Bluetooth . Windows Vista podporuje MTP přes TCP / IP. Windows 7 a Windows Vista s aktualizací platformy pro Windows Vista také podporují MTP přes Bluetooth. Hostitel, který se připojuje k zařízení MTP, se nazývá iniciátor MTP, zatímco samotné zařízení je respondérem MTP .

Hlavním důvodem pro použití MTP spíše než například třídy velkokapacitních paměťových zařízení USB (MSC) je to, že tato třída pracuje na zrnitosti bloku velkokapacitního paměťového zařízení (obvykle v praxi blok FAT ), spíše než na úroveň logického souboru. Jinými slovy, třída velkokapacitního úložiště USB je navržena tak, aby hostitelskému počítači poskytla nediferencovaný přístup k hromadnému velkokapacitnímu úložišti, jako je například kompaktní flash , spíše než k souborovému systému, který by mohl být bezpečně sdílen s cílovým zařízením (s výjimkou konkrétních souborů, které hostitel možná upravuje / přistupuje). V praxi proto, když hostitelský počítač USB připojil oddíl MSC, předpokládá absolutní kontrolu nad úložištěm, které pak nemusí být bezpečně upraveno zařízením bez rizika poškození dat, dokud hostitelský počítač nerozpojí připojení. Navíc, protože hostitelský počítač má plnou kontrolu nad připojeným úložným zařízením, existuje riziko, že hostitelský počítač může poškodit systém souborů, přeformátovat jej na systém souborů, který zařízení USB nepodporuje, nebo jej jinak upravit takovým způsobem že zařízení USB to nedokáže úplně pochopit.

MTP a PTP konkrétně překonávají tento problém tím, že z jednotky spravovaného úložiště udělají místní soubor, spíše než celou (možná velmi velkou) jednotku velkokapacitního úložiště na úrovni bloku. Tímto způsobem MTP funguje jako transakční souborový systém - buď je celý soubor zapsán / přečten, nebo nic. Úložná média nejsou ovlivněna neúspěšnými přenosy.

Pokud zařízení udržuje databázi / index obsahu disku, MTP šetří náklady na opakované skenování celého disku při každé změně obsahu.

Navíc MTP umožňuje iniciátorům MTP identifikovat konkrétní možnosti zařízení s ohledem na formáty souborů a funkčnost. Zejména iniciátoři MTP možná budou muset poskytnout hesla a další informace k odemknutí souborů nebo jinak povolit správu digitálních práv . Nic konkrétního této povahy není v základním standardu, ale funkce jsou dostupné prostřednictvím rozšíření dodavatele. MTPZ, rozšíření Zune k MTP konkrétně odepírá přístup k souborům, dokud nebude zpracováno ověřování, což je možné pouze pomocí Windows Media Player 10 nebo vyšší.

Srovnání s USB Mass Storage

Výhody MTP jsou označeny „ (+) “, zatímco nevýhody jsou označeny „ (-) “.

Souborově orientovaný místo blokově orientovaného protokolu

Tím není vystavovat na souborového systému a metadata indexu, integrita z nich je plně pod kontrolou zařízení.

  • (+) Žádné riziko poškození souborového systému při odpojení zařízení během psaní. Přenosy souborů jsou atomické a od uživatele se nevyžaduje žádné výslovné odpojení souborového systému („bezpečné odebrání“).
  • Zařízení má přístup k vlastnímu souborovému systému, když je připojeno:
    • (+) Lze zabránit opětovnému indexování po odpojení. Pomohlo také zahrnutí metadat s přenosem.
    • (+) Samostatný souborový systém pro vystavení hostitele není nutný. Tím se zabrání nepružnosti zrušení pevné velikosti partition pro tento souborový systém.
  • (+) Hostitel nemusí podporovat souborový systém zařízení. Naopak, výrobce zařízení si může zvolit jiný souborový systém (obvykle linuxový souborový systém nepodporovaný systémem Windows ), než je široce podporovaná rodina souborových systémů FAT .
  • (-), obnova Filesystem a undeletion nástroje na počítači nelze použít, protože MTP nabídek nemá přístup na úrovni bloku.
  • (-) Mnoho zařízení připojených k MTP, zejména starších, nevystavuje časová razítka souborů prostřednictvím protokolu, což by způsobilo jejich ztrátu při kopírování / přesunu souborů do počítače nebo z počítače. Soubory jako fotografie JPEG s vloženými daty Exif mají stále interně časová razítka (a na jejich základě existují nástroje pro obnovení časových razítek souborů), ale toto řešení není k dispozici pro jiné typy souborů bez takových interních metadat.

Výkon

  • (-) Operace MTP nejsou multiplexovatelné - jakákoli probíhající operace musí být buď dokončena, nebo přerušena, než může začít další operace. Na rozdíl od velkokapacitního úložiště USB , kde hostitelský operační systém může provádět multiplexní blokové přenosy a logické operace jsou naléhavým fenoménem, ​​jsou operace podporované MTP hrubší, například přenos celých souborů. Ani jeden protokol není sám o sobě paralelní ani asynchronní (kromě rozšíření UAS velkokapacitního úložiště USB, které přidává několik front příkazů).
  • (-) Omezená podpora pro přenos částí souborů, jako jsou bloky nebo rozsahy bajtů (viz § Přímá úprava a funkce částečného přenosu ).
  • (-) Omezená podpora pro přímou úpravu souborů (viz § Přímé úpravy a funkce částečného přenosu ). Chcete-li upravit soubor nebo jeho metadata, může být nutné celý soubor zkopírovat ze zařízení a znovu načíst, což u velkého souboru nebo adresáře trvá dlouho a mezitím zařízení zablokuje pro další operace. Implementace MTP od Googlu v Androidu zahrnuje rozšíření pro řešení tohoto omezení; hostitelský operační systém však musí tato rozšíření podporovat.
  • (-) Načítání delších seznamů souborů (tisíce položek) a „příprava“ na přenos souborů může trvat déle než samotný přenos souborů.

Transparentnost softwaru, který si není vědom MTP

(-) Windows nepřiřazuje písmena jednotek ani cesty UNC zařízením MTP, protože je nativně nevystavuje jako virtuální souborové systémy . Bez písmen jednotek nebo cest UNC nemůže software bez vědomí MTP přistupovat k adresářům nebo souborům na těchto zařízeních. Uživatel musí přepnout na aplikaci podporující MTP nebo jinak obejít použití aplikace podporující MTP, například Průzkumníka Windows, ke zkopírování nebo přesunutí souboru do systému souborů, ke kterému má aplikace přístup.

Jednou z konkrétních obav je, že antivirový software v hostitelském počítači nemusí znát zařízení MTP, což je činí potenciálně méně bezpečnými než zařízení velkokapacitního úložiště (i když jsou soubory na zařízeních MTP před použitím zkopírovány nebo přesunuty na hostitele, antivirový software bez vědomí MTP) bude mít šanci je naskenovat). Antivirové skenování může být také nepraktické kvůli blokování pravidelného používání zařízení.

Řidiči znají pevnou sadu podporovaných zařízení

(-) Navzdory identifikovatelnosti podle třídy zařízení PTP / MTP USB , dokumentace libmtp naznačuje, že kombinace dodavatele a ID produktu hraje při identifikaci zařízení MTP funkční roli, také pomocí ovladačů systému Windows. Libmtp obsahuje rozsáhlé výpisy prodejních a produktových ID zařízení, která podporuje, spolu s řešením chyb. Tato negenerická metodologie brání dopředné kompatibilitě ovladačů MTP s novými zařízeními.

Specifikace zná pevnou sadu definovaných formátů souborů

Specifikace MTP zahrnuje výčet formátů souborů, tzv . Formát objektu . Použití tohoto výčtu spočívá v komunikaci podporovaných formátů souborů a formátů přenesených souborů. Kromě některých nekategorizovaných formátů na začátku je seznam formátů seskupen do kategorií obrazových, zvukových, video a dokumentových formátů, přičemž každá kategorie má jeden „nedefinovaný“ formát následovaný konkrétními formáty. K dispozici je také superobecný formát „Nedefinovaný objekt“.

Jolla uvedla nedostatek podpory WebM v MTP jako jeden z důvodů nepodporování formátu videa v jejich mobilním operačním systému Sailfish OS . Není jasné, zda je omezení v nástrojích nebo specifikaci, kromě toho, že WebM není definován specifikací MTP 1.1.

Funkce přímé úpravy a částečného přenosu

Tyto funkce lze použít jako efektivnější alternativy k přenosům a opětovnému nahrávání celého souboru:

Ze specifikace MTP 1.1:

Operační kód Název operace Vysvětlení
0x9805 GetObjectPropList Přenos metadat
0x9806 SetObjectPropList
0x1019 MoveObject Přejmenujte soubor nebo adresář
0x101B GetPartialObject Vyžádejte si rozsah bajtů souboru

Rozšíření pro Android

Podle go-mtpfs:

Operační kód Název operace Vysvětlení
0x95C1 GetPartialObject64 Stejné jako GetPartialObject , ale s 64bitovým posunem
0x95C2 SendPartialObject Stejné jako GetPartialObject64 , ale kopírování hostitele do zařízení
0x95C3 TruncateObject Zkrátí soubor na 64bitovou délku
0x95C4 BeginEditObject Musí být volán před použitím SendPartialObject a TruncateObject
0x95C5 EndEditObject Voláno k potvrzení změn provedených SendPartialObject a TruncateObject

Podpora MTP

Okna

Přizpůsobení ve Windows

MTP je podporován v systému Windows XP, pokud je nainstalován Windows Media Player 10 nebo novější verze. Windows Vista a novější mají zabudovanou podporu MTP. Pro starší verze Windows, konkrétně Windows 2000, Windows 98 a Windows Me, vydala společnost Microsoft sadu MTP Porting Kit. který obsahuje ovladač zařízení MTP. Někteří výrobci, například Creative Technology , poskytují pro některé ze svých hráčů také starší ovladače MTP; obvykle se skládají ze souborů MTP Porting Kit s přizpůsobeným souborem INF popisujícím jejich konkrétní hráče.

Podpora pomocí softwaru

Windows nepřiděluje písmena jednotek ani UNC cesty k zařízením připojeným přes MTP; místo toho se zobrazují pouze jako pojmenovaná zařízení v aplikacích podporujících MTP, jako je Průzkumník Windows . Ve srovnání se zařízeními, která implementují velkokapacitní úložiště USB, nelze k těmto zařízením přistupovat programově pomocí skriptů nebo běžných programů Windows, které závisí na písmenech jednotek nebo cestách UNC. Místo toho je třeba se soubory manipulovat pomocí Průzkumníka Windows nebo aplikací se speciálně napsanou podporou MTP.

V systému Windows podporují zařízení kompatibilní s MTP funkci nazvanou Auto Sync, která umožňuje uživatelům konfigurovat Windows Media Player tak, aby automaticky přenesl veškerý kopírovaný nebo nově získaný obsah do zařízení, kdykoli jsou připojeni - za předpokladu, že je obsah kompatibilní s Windows Media player. Automatická synchronizace je přizpůsobitelná, takže přehrávač bude přenášet pouze obsah, který splňuje určitá kritéria (například skladby se čtyřmi hvězdičkami nebo vyššími). Změny provedené ve vlastnostech souboru (například hodnocení uživatele a počet přehrávání souborů) na zařízení lze po opětovném připojení zařízení šířit zpět do počítače.

Kopie souborů přístupných přes MTP mohou zůstat na hostitelském počítači i po restartu, kde budou přístupné uživatelskému účtu, který k nim přistupoval, stejně jako jakýmkoli dalším uživatelským účtům, které mohou číst soubory daného uživatelského účtu, včetně jakýchkoli administrativních uživatelů. Platforma senzorů systému Windows 7 podporuje senzory zabudované do zařízení kompatibilních s MTP.

Chování při přesunu souboru

Při implementaci MTP používaného Průzkumníkem Windows se soubory z výběru přesunutého z úložiště mobilního zařízení, snad s cílem uvolnit místo, po každém souboru neodstraní jednotlivě ze zdroje, ale celý výběr se odstraní na jednou ze zdroje až po dokončení přenosu.

Výsledkem je, že přesun souborů bude přerušen předčasně, ať už ručně nebo neočekávaně, na zdrojovém zařízení neuvolní žádné místo.

Unixové systémy

Bezplatná a otevřená implementace protokolu Media Transfer Protocol je k dispozici jako libmtp. Tato knihovna obsahuje ID produktů a zařízení z mnoha zdrojů a běžně se používá v jiném softwaru pro podporu MTP.

Grafický

Aplikace GNOME, jako jsou soubory GNOME (dříve Nautilus) a Správce archivů (dříve File-Roller), používají GVfs založené na GIO pro přístup k souborům na zařízeních MTP. Správnou podporu MTP přidal do GVfs ve verzi 1.15.2 (2013-01-15) Philip Langdale. K dispozici jsou časné opravy pro GVfs umožňující přímé rozšíření I / O společnosti Google.

Projekt KDE vyvíjí MTP KIO Slave s podobnou úrovní integrace jako GVfs.

S GNOME nebo KDE nesouvisí grafický přehrávač médií * NIX podporující MTP, gMTP .

Virtuální souborový systém

Několik nástrojů poskytuje souborový systém založený na FUSE pro připojení zařízení MTP v hierarchii souborového systému Unix, díky čemuž je přístupný jakémukoli programu, který pracuje se soubory a adresáři. Mezi příklady patří mtpfs , jMTPFS , go-mtpfs a simple-mtpfs .

Operační Systém Mac

macOS má integrovanou podporu pro MTP (prostřednictvím aplikace „Digital Images“), ale žádné ovladače (třetích stran) pro připojení zařízení MTP jako jednotek. Pro Mac OS X v10.5 a novější je k dispozici také několik aplikací pro přenos souborů třetích stran:

  • Android File Transfer je jednoduchý klient MTP.
  • Android File Transfer pro Linux (a Mac OS X!), Open Source, Licence GPL verze 3, Grafické uživatelské rozhraní, Nástroj příkazového řádku, FUSE wrapper - připojení zařízení,
  • XNJB také nabízí synchronizaci seznamů skladeb iTunes.
  • SyncMate Expert tvrdí, že kromě jiných synchronizačních úkolů podporuje také MTP. Podporu nelze testovat v bezplatné verzi.
  • Commander One PRO Pack - správce souborů, který umožňuje připojení zařízení MTP k Macu a správu jejich obsahu.

Jiné operační systémy

Novější verze několika operačních systémů, včetně AmigaOS , Android , AROS , MorphOS a Symbian OS, podporují MTP, někdy s dalšími ovladači nebo softwarem.

Nevýhodou zařízení MTP v systému Android ve srovnání s velkokapacitním úložištěm USB je to, že ačkoli jsou časová razítka souborů zachována při kopírování souborů ze zařízení Android do počítače, při kopírování v opačném směru jsou časová razítka úpravy souborů nahrazena časem, kdy byla kopie Hotovo.

Ostatní výrobci

Společnosti, včetně Creative Technology, Intel , iriver a Samsung Electronics , které vyrábějí zařízení na základě „ specifikace Portable Media Center “ společnosti Microsoft , široce přijaly MTP. Na výstavě spotřební elektroniky v roce 2004 byla představena podpůrná zařízení .

Po počátečním období nejistých reakcí přijalo několik velkých producentů mediálních přehrávačů, jako je Creative Technology a iriver, protokol MTP namísto vlastních protokolů.

Mnoho zařízení a zvukových softwarových aplikací podporuje MTP.

Alternativy

Viz také

Reference

externí odkazy