Media Transfer Protocol

Media transfer protocol[засварлах | кодоор засварлах]

МТP нь PTP ийн өргөтгөсөн протокол юм энэ нь Media file уудыг зөөвөрлөхөд ( зөөврийн төхөөрөмжинд зориулсан) ашигладаг болно. Харин PTP нь Camera наас зураг татахад зориулагдаж загварчилагдасан байдаг. MTP-ээр digital audio player дээр байгаа дуунууд мөн зөөврийн media player дээр байгаа media-г зөөвөрлөхөд ашигладаг. MTP нь WMDRM 10-PD ний нэг хэсэг бөгөөд windows media-ийн ерөнхий бүтэцэй төстэй, Microsoft-ийн Windows XP үйлдлийн системийн хувилбар нь MTP ийг дэмждэг. МТP нь windows мэдиа фрамэворкийн 1 хэсэг бөгөөд Windows Мэдиа player-тэй холбогдож ажилдаг/холбоотой байдаг. Microsoft Windows ийн үйлдлийн системээс XP SP2 хүртэлх хувилбарууд нь МТP ийг дэмждэг. Windows XP-д Windows media player 10 Болон түүнээс дээшх хувилбарууд шаардлагатай байдаг.Windows XP гээс хойших Windows ийн хувилбаруудад өөрт нь байдаг.Microsoft нь windows өөс Windows 98 хүртэлх хуучний хувилбаруудад МТP port-ийн хэрэгсэлийг ашиглаж болхуйцаар бүтээсэн. USB Implementers Forum ажлын багийнхан нь 2008 оны 5 сард MTP-г бүрэн боловсорсон USB гэж сатандарчилсан. Тэрнээс хойш MTP нь PTP гийн үндсэн нэмэлт tool болж ижил код ашигладаг болсон.

Түүх[засварлах | кодоор засварлах]

Энэ протокол нь гарах эсвэл орох гэсэн 1 үйлдэлийн функцтай(нэг үйлдэл хийхэд дараагын үйлдэл хүлээгдэдэг) бөгөөд гол зорилго нь Зөвхөн media file-уудыг төхөөрөмжрүү шилжүүлдэг. Энэ нь онгойлгох засварлах болон өөрчлөх гэсэн үйлдлүүдийг хийдэггүй. Workaround нь хостын систем рүү эдгээр үйлдлүүдийг хуулаад буцаж хуулдаг. Protocol нь анх USB-д хэрэглэгдэдэг байсан ба өргөжөөд Bluethoot Болон TCP/IP-Д хэрэглэгдэдэг болсон.Windows Vista-нь МТР-ийг TCP/IP аас илүү дэмждэг. Windows 7 болон ПЛАТФОРМ той Windows Vista нь МТР-ийг bluethoot-ээс илүү дэмждэг. MTP төхөөрөмжрүү холбогдож байгаа хостийг MTP initiator гэдэг ба энэ төхөөрөмжийг МТP responder гэдэг. MTP-г логик файл түвшин өөс илүүтэйгээр ашиглах гол шалтагаан нь: USB mass storage divece class нь Mass storage төхөөрөмжийн блокын маштабчилсан сүүлийн үйлдэл. Мөн USB mass storage class нь хост компьютр ихэнх mass storage-уудруу ( жишээ нь флаш диск ) нэгэн хэвийн хандалт хийхээр бүтээгдэсэн.

  • Туршилтаар USB host компьютер нь MSC partition дээр суурилсан үед mass storage-ийг бүрэн удирдадаг ба Хост компьютэр нь холбоог салгахгүй л бол төхөөрөмжийн өгөгдөлд алдаа гарах эрсдэлтэй байдаг.Үүнтэйгүүр хост компьютер нь холбогдсон төхөөрөмжийг бүрэн удирдаж байгаа учир хост комьютер нь файлын системийг эвдэлэх эрсдэлтэй.Ийм үед файлын системтэй холбогдоогүй USB Төхөөрөмжийг дахин форматлах эсвэл USB төхөөрөмжийг танихгүй болгон өөрчлөдөг.

MTP болон PTP нь уг асуудлыг бүхэл бүхлээр биш хэсэг хэсэг болгон тухайн газрыг ( маш том хэмжээний) агуулахад ижил тэнцүү хандаж мөн хаах замаар шийдэдэг.Ийм үед MTP нь transactional файлын системээр ажилладаг -тухайн файл нь бичигдэсэн, уншигдасан байсан ч. Алдаа заасан шилжүүлгүүд storage mediа-д нөлөөлдөггүй. Дискэн доторх индекс ийг төхөөрөмж хадгалдаг газар МТП нь дискнии агууламж шинэчлэгдэх бүрт хийсэн дахин шалгалтиин үр дүнг хадгалдаг. Нэмж хэлхэд: МТP нь МТP initiator-ийг функцианал хамаарал болон файл форматтай холбоотой төхөөрөмжийн тодорхой нөхцөлийг засварлахыг зөвшөөрдөг. Тухайлбал MTP initiator нь файл онгойлгохын тулд нууц үг аль эсвэл өөр мэдээлэлтэй байх шаардлагатай,эсвэл дижитал эрхийн манежмэнтийг идэвхтэй болгох хэрэгтэй. Гол стандартад яг тодорхой шинж байхгүй боловч онцлогыг нь хөгжүүлэгчид чөлөөтэйгээр өргөжүүлдэг. MTPZ, MTP рүү zune Extention нь Windows media player 10 Болон түүнээс дээш хувилбард баталгаажуулалт хийгдэх хүртэл файлд очих хандалтыг устгадаг.

USB ихээр хадгалах төхөөрөмжийн төрлүүд.[засварлах | кодоор засварлах]

Блок чиглүүлэх протоколоос илүү Файл чиглүүлэх[засварлах | кодоор засварлах]

Filesystem ба metadata index ийг илчлэлгүйгээр эдгээрий интэчир нь төхөөрөмжид бүх хяналт оршино. Filesystem ийн эвдрэл хуулах явцад төхөөрөмжийг салгавал үүсэх аюулгүй(atomic file transfer) Шаардлаггүй салгалтын дараа Metadata г re-indexing тэй хамт оруулах . Төхөөрөмжийн Filesystemийг хост дэмжих шаардлагагүй. Эсрэгээр төхөөрөмж үйлдвэрлэгч Filesystemийг бусад өргөн хэрэглэгддэг FAT төрлийн filesystem ээр сонгох Компюьтэр дээрх Filesystem сэргээх болон undeletion багаж хэрэглэгдэх боломжгүй.

Гүйцэтгэл[засварлах | кодоор засварлах]

MTP паралэлизмийг зөвшөөрөх ба NAS USB MASS storage тэй адилгүй. MTP нэгж хугацаанд нэг л үйлдэлийг зөвшөөрөх ба бусад үйлдлүүд өмнөх үйлдэлийг дуусах хүртэл хийгдэхгүй.

Файлуудын  хэсгийг дамжуулахад хязгаарлагдмал дэмжлэг үзүүлэх, блок эсвэл byte ranges шиг.

Шууд модификац бүхий файлыг хязгаарлагдмал дэмжих . файл эсвэл metadata ийн өөрчилхийн тулд бүхий л файлыг хуулах хэрэгтэй ба дахин байршуулах хэрэгтэй болдог, энэ нь томоохон эсвэл зааварчилгаанд ихээхэн цаг зарцуулдаг ба энэ хугацаанд төхөөрөмжийг бусад үйлдлээс хаадаг. ANDROID дах Google MTP нэмэлт хязгаарлалттийг зохицуулдаг. Гэсэн хэдий ч энэ нь үндсэн үйлдлийг систэмээр дэмжигдсэн байх ёстой.

MTP мэдэгдээгүй програм хангамжийн ил тод байдал[засварлах | кодоор засварлах]

Үйлдлийн систэм MTP төхөөрөмжийг virtual file system гэж илчлэх хүртэл MTP мэдэгдээгүй програм хангамж төхөөрөмжийг хэрэглэхгүй., MTP төрлийн програмийг хязгаарлана. 1 онцгой зүйл нь хост компютэрийн anti-virus програм MTP төхөөрөмжийг мэдэдгүй байж болно, ихээр хадгалах төхөөрөмжийг хамгаалалт муутай болгодог. Antivirus хайлт төхөөрөмжийн хэрэглээнд дасаагүй байж болно.

Дэмждэг төхөөрөмжийн ил жагсаалт[засварлах | кодоор засварлах]

MTp ийн зарим нэмэлт libmtp зэрэг худалдагч ба бүтээгдхүүний бүх төхөөрөмжид дэмжигдэх ID дугаар бичигдсэн байх. Энэ нь төхөөрөмж идэвхтэй болох хүртэл шинэ төхөөрөмжинд гацалттай дэмжлэг болдог сул талтай ба хөгжүүлэгчдэд нарийн зүйлсийг дурддаг ба сайжруулсан програм хангамж эцсийн хэрэглэгч дээр хүрдэг.

Боломжит файлын төрлийн хязгаарласан жагсаалт.[засварлах | кодоор засварлах]

MTP ийн тусгайд файлийн enumeration төрөл ордог , object format(обьект төрөл) гэж дууддаг . энэ жагсаалтын хэрэглээ нь дэмждэг файлийн төрөл ба дамжуулсан файлын төрөлтэй харьцахад хэрэглэдэг. Зарим ангилагдаагүй төрлийн эхнээс тусдаа, төрлийн жагсаалт зураг дуу бичлэг ба бичиг баримт гэж багцлах ба аль ч ангилал нв нэг тодорхойлогдоогүй төрлийг тодорхой төрлөөр зөвшөөрдөг. Мөн super-generic”UNDefined object ”төрөл байна. Jolla WEBM ийн дэмжлэгийн хомсдолийг иш татахдаа MTPийг SAILfish OS зөөврийн үйлдлийн систэмд бичлэгний төрөл дэмждэггүйг нэг шалтгаан болгосон. Энэ нь заварчилгааны хязгаарлалаас болж байгаа эсвэл WEBM MTP1.1 зааварчилгаагаар тодорхойлогдоогүй болхоор ингэж байгаа үгүй нь тодорхойгүй байгаа.

Шууд модификац ба хэсэгчилсэн дамжуулах онцлогууд[засварлах | кодоор засварлах]

Энэ онцлогууд үр дүнтэйтэйгээр бүхийл файл дамжуулах ба дахин байршуулах ийг хэрэглэж болно.

Opcode Үйлдлийн нэр тайлбар
0x9805 GetObjectPropList Metadata дамжуулах
0x9806 SetObjectPropList Metadata дамжуулах
0x1019 MoveObject Файлыг дахин нэрлэх эсвэл удирдах
0x101B GetPartialObject Файлын byte зайн хүсэлт

Android extension[засварлах | кодоор засварлах]

go-mtpfs ийн дагуу

Opcode Үйлдийн нэр Тайлбар
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 PLAYER10 эсвэл дараагийн загвар суусан бол дэмжинэ. Windows Vista ба дараагийн MTP дэмжлэг бүтээгдсэн. WINDOWs ийн өмнөх загваруудад тусгайлан windows 2000 windows 98 ба windows me Microsoft MTP proting kit байдаг. Энэ нь MTP төхөөрөмжийн Driver агуулдаг. Зарим үйлдвэрлэгчид creative technology зэрэг нь өөрсдийн тоглуулагчид зориулж тусгай MTP driver хийдэг, энэ нь ихэвчлэн MTP porting kit файлаас шалтгаалж INF файл тайлбараар таарах тоглуулагчиндаа тохируулдаг. Ихэнх MTP таарах төхөөрөмжүүд Drive-letter таардаггүй, оронд нь тэд Windows explorer мэтийн аппликатионд төхөөрөмж хэлбэрээр илэрдэг. USB нэмсэн төхөөрөмжтэй харьцуулахад ийм төхөөрөмж програмын хувьд script лүү эсвэл энгийн Drive letter дээр тогтдог windows програмруу нэвтэрж чаддадгүй. Оронд нь файл Windows explorer эсвэл MTP дэмждэг тусгайлсан аппликатион ашиглаж хувисдаг. Windows дээрх MTP төхөөрөмжийн өөр сул тал нь файл Хугацааны тамга Windows explorer дээх харагдадгүй , гэсэн хэдий ч PROPERTIES popup нээснээр буцааж авч болдог. Windows ийн дор MTP AUTOSYNC онцлогийг дэмжих болсон ба энэ нь хэрэглэгчийг windows media player ийг автоматаар бүх хуулсан болон шинэ авсан контентийг холбосон төхөөрөмжид тохируулах боломж олгодог WINDOWS media player тэй өрсөлдөх чадвартай болгож бүтээсэн. AUTOsync нь тоглуулагчийг зөвхөн хэд хэдэн шалгуураар өгдөг. Өөрчлөлтүүд төхөөрөмж дээрх компюьтэрт эргэж холбогдсон үед дахиж файлийн төлөв байдалд өгөгддөг. MTP ээр өгөгдсөн файлыг хуулж reboot ын дараа ч үлдхээр болгох ба нэвтэрсэн хэрэглэгчийн аккоунт дээр нэвтрэх боломжтой байх ба бусад хэрэглэгчийн аккоунтын файл уншиж болно, үүнд админ хэрэглэгч. Windows 7 мэдрэгч платформ MTP өрсөлдөгч төхөөрөмж дэмждэг

UNIX төст систэм[засварлах | кодоор засварлах]

Үнэгүй ба open-source нэмэлт ба media transfer protocol libmtp ээр байна. Энэ сан нь бүтээгдхүүнтэй хамтрах ба олон үүсгэвэрээс төхөөрөмжийн ID г авдаг ба MTP дэмжих бусад програм хангамж дээр хэрэглэдэг.

Graphical(графикийн)[засварлах | кодоор засварлах]

Gnome аппликатион GNOMe файлтай төстэй ба ARCHIVE manager GIO суурьтай GVFs хэрэглэж MTP төхөөрөмждөх файлруу нэвтэрдэг. Үндсэн MTP дэмжлэг PHILIP LAngdale ээр GVFs ийн 1.15.2 (2013-01-15) нд нэмэгдсэн. Эхэндээ GFVs ийн патчууд googleийн I/O нэмэлтийг идэвхжүүлхэд боломжтой байсан. KDE PROJECT MTP KIO SLAVE г GVFs тэй ижил төвшинд сайжруулдаг. GNOME эсвэл KDE нь NIX графиктай MTP capable media playerтэй gMTP холбоогүй юм.

Virtual file system[засварлах | кодоор засварлах]

Хэд хэдэн багаж FUSE суурьтай файл систэм ийг өсөн нэмэгдэх MTP төхөөрөмжийг UNIX filesystem тэй шатлан захирдаг, үүнийг ямар ч файл болон чиглэл дээр ямар ч програм нэвтрэх боломжтой болгодог. Жишээ нь mtpfs, jMTPFS, go-mtpfs Ба simple-mtpfs

MAC OS[засварлах | кодоор засварлах]

MAC OS MTP ийг дэмжих бүтээгдсэн ч MTP төхөөрөмж орох оролтгүй энэ нь хэд хэдэн 3 дагч талын файл дамжуулах аппликатион MAC OS x10.5 Ба сүүлийн загвар дээрх боломж нь: ANDroid file transfer нь энгийн MTP client. Гэсэн хэдий ч ANDroid file TRAsnfer хэдэн жилийн туршид сайжраагүй ба android centraлд abondonware ээр бүртгэгдсэн. XNJB Itunesийн playlist санал болгодог SYNCmateEXPERT үүд MTPээс бусад давхцах үүрэг дээр дэмждэг. Энэ нь үнэгүй загвар дээр туршиж болохгүй.

Бусад үйлдлийн систэм.[засварлах | кодоор засварлах]

Сүүлийн үеийн хэд хэдэн үйлдлийн систэм жишээ нь amigaos , android ,aros, morphos БА symbianos MTP ийг дэмждэг, заримдаа нэмэлт төхөөрөмж эсвэл програм хангамжаар. MTPийн android дэх USBтэй харьцуулсан сул тал нь ихээхэн агууламж нь ANDROID оос компюьтэрлүү хуулж байхад хугацааны тамга хадгалагддаг. Энэ файл өөрчлөлтийн хугацааны тамга нь хуулж дуусхад дахин солигдоно.

Бусад үйлдвэрлэгчид[засварлах | кодоор засварлах]

Компанууд жишээ нь creative technology ,intel , iriver ба Samsung үйлдвэрлэгчид Microsoft ийн protable media center дээр үндсэлэсэн ихээхэн хувьссан MTP юм. Дэмжих төхөөрөмжүүд нь 2004 онд costumer electronic show дээр танилцуулагдсан. Хэсэг тодорхойгүй үйлдлийн дараа хэд хэдэн media player үйлдвэрлэгчид жишээ нь creative technology ба iriver MTPпротоколыг өөрсдийн протоколын оронд хэрэглэж эхэлсэн.

Ашигласан материал[засварлах | кодоор засварлах]

  • "Media Transfer Protocol Implementation Details". MTP defined in slide 3. Archived from the original on December 14, 2005.
  • "Final Availability of Windows Media Player 10 Brings More Music and More Choices to Music Fans" (Press release). Microsoft. September 2, 2004. Archived from the original on March 7, 2006.
  • "MTP, Portable Player Standard? Microsoft's McLauchlan Sets Us Straight". July 31, 2006. Retrieved June 1, 2016.
  • MTP Specification 1.1 on USB.org
  • "MTP Over Various Transports". Retrieved June 1, 2016.
  • "MTP Specification". Archived from the original on June 4, 2011.
  • "Normal file read/write support with the GVFS MTP backend!". February 18, 2013. Retrieved June 1, 2016.
  • "hanwen/go-mtpfs". Retrieved June 1, 2016.
  • "libmtp source code: music_players.h". Retrieved November 26, 2015.
  • "Webm (VP8, VP9, Opus) support for Sailfish - together.jolla.com". Retrieved June 1, 2016.
  • "Media Transfer Protocol Porting Kit". Microsoft. Retrieved June 1, 2016.
  • "Sensors and Windows". Windows Portable Devices Team Blog. December 17, 2009.
  • "libmtp". Libmtp.sourceforge.net. Retrieved March 15, 2014.
  • "gvfs-1.15.2.changes". ftp.gnome.org. January 15, 2013. Retrieved June 6, 2013.
  • "Native gvfs backend for MTP devices". August 7, 2010. Retrieved June 1, 2016.
  • "gvfs - Virtual filesystem implementation for GIO". git commit adding MTP back-end to GVfs. Retrieved June 1, 2016.
  • "Bug 695984 – Add support for Android direct I/O extensions". Retrieved June 1, 2016.
  • Arch Linux Wiki (September 1, 2014). "MTP". Retrieved October 23, 2014.
  • "Android File Transfer". Android.com. Retrieved March 15, 2014.
  • "Hey, Google — how about some love for the Mac Android File Transfer app?". Androidcentral.com. Retrieved September 29, 2016.
  • "Android File Transfer Linux Mac OS X". whoozle. Retrieved December 2, 2016.
  • "XNJB". Richard Low. Retrieved June 15, 2014.
  • "SyncMate". ELTIMA software. Retrieved June 15, 2014.
  • "Issue 57065 - android - Writing files via MTP set date and time for pictures and files to current, does not preserve timestamp. - Android Open Source Project - Issue Tracker - Google Project Hosting". code.google.com. 2016-08-30. Retrieved 2016-09-02.
  • "Issue 18624 - android - setLastModified() always fails on Xoom unless running as root - Android Open Source Project - Issue Tracker - Google Project Hosting". code.google.com. 2016-08-30. Retrieved 2016-09-02.

Гадаад Холбоосууд[засварлах | кодоор засварлах]