OSX: içerik türüne uzantı atayın


14

Burada * .mkv dosyaları (video, açıkçası) ve * .srt dosyaları (altyazıları, açıkçası) içeren bir klasör var. Onları tek bir klasörde tutmak istiyorum ama birlikte karıştırılmalarını istemiyorum. Bunları görsel olarak iki ayrı gruba düzenlemek iyi bir fikir gibi görünüyor.

Bununla birlikte, her iki uzantı da sistem tarafından tanınmaz ve hala bir grup 'Belgeler' altına konur, ki bu kesinlikle istediğim şey değil.

Soru: Sisteme tüm * .mkv dosyalarının 'Medya' (veya 'Videolar' 'olarak ele alınması gerektiğini veya video dosyaları için dosya türü grubunun adı ne olursa olsun) nasıl söylenir?

Teşekkürler.resim açıklamasını buraya girin

DÜZENLE:

@Daniel, ilişkili program MPlayerX ve bu komutun çıktısı aşağıdaki gibidir:

imac:Game of Thrones arnold$ mdls "Game of Thrones 1×2.mkv"
kMDItemContentCreationDate     = 2011-12-15 10:31:20 +0000
kMDItemContentModificationDate = 2011-12-27 09:09:55 +0000
kMDItemContentType             = "dyn.ah62d4rv4ge804450"
kMDItemContentTypeTree         = (
    "public.data",
    "public.item"
)
kMDItemDateAdded               = 2011-12-27 09:22:55 +0000
kMDItemDisplayName             = "Game Of Thrones 1×2.mkv"
kMDItemFSContentChangeDate     = 2011-12-27 09:09:55 +0000
kMDItemFSCreationDate          = 2011-12-15 10:31:20 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "Game of Thrones 1×2.mkv"
kMDItemFSNodeCount             = 220877659
kMDItemFSOwnerGroupID          = 99
kMDItemFSOwnerUserID           = 99
kMDItemFSSize                  = 220877659
kMDItemFSTypeCode              = ""
kMDItemKind                    = "Video Media"
kMDItemLogicalSize             = 220877659
kMDItemPhysicalSize            = 220880896
imac:Game of Thrones arnold$ 

Tuhaf bir şekilde, 'Öğe Türü' 'Video Medya' olarak görünüyor. Ve bir altyazı dosyası için 'Altyazı'. Yine de, Finder'ın bu dosyaları bir nedenden dolayı doğru bir şekilde düzenlemesine yardımcı olmaz ...


Bu dosyalarla hangi program ilişkilendirilmiştir? mdlsBu dosyalardan biri için Terminal'de çıktı nedir , örneğin mdls "Game of Thrones episode 2.mkv"?
Daniel Beck

Bu gruplama özelliği Lion'da yeni mi? Simgeler ayrıca sırasıyla "Altyazılar" ve "Video" diyorlar, bu yüzden gerçekten bir sorun olmamalı.
slhck

@slhck Lion'da yeni. Simgeler% 100 görüntüdür ve ilişkili uygulama tarafından sağlanır, bu hiçbir şey ifade etmez. Arnold, mdlsçıktı için teşekkürler . Kullandığınız MPlayer OSX veya Genişletilmiş MPlayer OSX ?
Daniel Beck

@DanielBeck, sadece App Store'dan normal MPlayerX .
Arnold

@DanielBeck Ah, temsil ettiğini düşündüm kMDContentType. Yine de yukarıda listelenen içerik türü nedir?
slhck

Yanıtlar:


12

Örneğin .mkvdosya adı uzantısı için doğru dosya türü ilişkilendirmesini bildiren bir uygulama kullanmanız gerekir .

Örneğin, sistem tanımlı dosya türleri /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist, Dışa Aktarılan Tür İYE'lerinde aşağıdakileri bildirir :

resim açıklamasını buraya girin resim açıklamasını buraya girin

Bu, sistemin İYE'yi public.jpeg , public.imageFinder'ın Görüntüler grubu için kullandığı (büyük olasılıkla) "UTI grubu" ile ilişkilendirmesini sağlar ; public.filename-extensions eşdeğer tip dosya uzantısına eşler.

Bu da, OS X belirlemesine olanak sağlar .jpgdosya İYE vardır public.jpegve bu bir alt İYE olan public.image(ile, böyle devam eder public.itemve public.data). Finder daha sonra (aynı zamanda) olan tüm dosyaları alır public.imageve aynı Görüntüler grubuna koyar .

Aynısı public.mpeg-4ve public.moviedosya adı eşlemesi için de geçerlidir .


Ne yazık ki, MPlayerX'in yazarı İYE'leri haritalamakla uğraşmadı.

Programın desteklediği tüm uzantılar için uygun dosya türleri oluşturmayı bile rahatsız etmedi. Yani Finder'ın içinde yüzden liste görünümünde , tüm .mkvdosyalar değil mesela denilen Matroska video , ve eşleşen sahip MKV kendi simgesini etiketi, ama sadece Video Medya jenerik ile video etiketi. Desteklenen tüm dosya türleri bu "dosya biçimi" için dosya uzantısına göre listelenmiştir, böylece MPlayerX bunları açabilir:

resim açıklamasını buraya girin

Bu, örneğin, .m4aMPlayerX'daki dosyaları iTunes'a çalmayı tercih ederseniz , Finder'ın Tür sütununda açıklayıcı Apple MPEG-4 sesini kaybedersiniz ve bunun yerine Ses Ortamı alırsınız .


/Applications/MPlayerX.app/Contents/Info.plistDosyayı düzenleyerek ve uygun dosya adı uzantısı eşlemesine mplayerx.videouyan bir UTI'yi uygun şekilde bildirerek gruplamayı düzeltebilirsiniz public.movie.

Aynı sütunu düzenleyerek ve dosya türlerini daha iyi bir açıklama ile düzgün bir şekilde bildirerek ve her biri için bir simge dosyası oluşturarak Tür sütununu düzeltebilirsiniz .

Temel Türler Info.plist dosyasını şablon olarak kullanın, örneğin public.jpegkendi özel tanımlayıcınızla değiştirin (örneğin mplayerx.video, uygun Tür sütunları ve simgeleri mplayerx.mkvistemiyorsanız veya isterseniz). Bu dosyaları düzenlemek veya kullanarak herhangi bir metin düzenleyicisinde düzenlenebilir XML'ye dönüştürmek için Xcode'a ihtiyacınız vardır plutil -convert xml1 <filename>.

Yanlış anlaşılması oldukça kolay olan değişiklikleriniz her uygulama güncellemesinde geçersiz kılınır.

Alternatif olarak, en azından Finder Türüne Göre Düzenle için, temel tür tanımlarını düzenleyebilir ve buna kendi türünüzü ekleyebilirsiniz. Dosyanın bir kopyasını düzenlediğinizden ve izin sorunlarını gidermek için düzenledikten sonra değiştirdiğinizden emin olun. Bunu yaparak temel sistem dosyalarını düzenleyeceğinizi ve değiştireceğinizi (yani sorun istemek) unutmayın.

Daha akılcı bir çözüm, dosya tipi UTI'leri Dışa Aktarılan Tip UTI'lar olarak bildiren yeni bir "kukla" uygulama oluşturmak olacaktır . Bu, OS X'in dosya türü veritabanı tarafından kullanılır ve içerik türü ilişkilendirmelerini kaybetmeden hem OS X hem de MPlayerX'i güncelleyebilirsiniz. Örneğin .m4a, MPlayerX olarak değiştirseniz bile , yalnızca Tür sütunu değiştirilir, ilişkili uygulamadan bağımsız olarak başka bir uygulamadaki bildirimler nedeniyle hala Film kategorisinde olur.

Bu nedenle, örneğin, başlatıldığında hiçbir şey yapmayan Automator kullanarak yeni bir uygulama oluşturun ve Contents/Info.plistdosyaya aşağıdakileri ekleyin :

resim açıklamasını buraya girin

İçeri kaydedin /Applicationsveya Finder'ı yeniden başlatın.

resim açıklamasını buraya girin

Dosyanın kısmi mdlsçıktısı .mkv, "yardımcı uygulama" tarafından sağlanan içerik türü, ilişkili oynatıcı (MPlayerX) tarafından sağlanan öğe türü:

kMDItemContentType             = "superuser.371939.mkv"
kMDItemContentTypeTree         = (
    "superuser.371939.mkv",
    "public.movie",
    "public.audiovisual-content",
    "public.data",
    "public.item",
    "public.content"
)
...
kMDItemKind                    = "Video Media"

Bu geliştirici tarafından sadece özensiz platform entegrasyonu olduğundan, muhtemelen bir hata vermelisiniz.


Çok ilginç. Bugün yeni bir şey öğrendim. Bu yüzden kMDItemContentTypeTreemeta verilere yararlı bir şey eklemiyor musunuz?
slhck

@slhck Aynen. Sistem, dosyayı içerik tipi UTI ile ilişkilendirmek için bir yola ihtiyaç duyar. Bu, varsayılan olarak sistemde olmadığı için (örn. Olduğu gibi .mp4) ve sisteme dosya türünü ekleyen uygulama ya UTI (bu yüzden sadece dyn.xyz) ya da ilişkiyi (yani sadece ) bildirmez public.data. İYE'yi bildirmeleri vepublic.movie (örneğin yerine public.data) ile ilişkilendirmeleri gerekir .
Daniel Beck

1
Vaov! Sorunla ilgili bilgilendirici ve kapsamlı bir araştırma için teşekkürler. Bu çok eğitici ve yardımsever. Hala çözümünüzü denemedim, ama eminim işe yarayacak. Çok hoş!
Arnold

Tüm kesmek hackiest basitçe yeniden adlandırmak etmektir .mkviçin .avi gasp !!! Ben gerçekten bir mkv diyerek bir Spotlight Yorum bırakarak (daha az Bilgi) biraz daha az korkunç yapmak. ..bu elbette medya yürütücünüzün yanlış uzantı ile iyi olduğunu varsayar - VLC kapalı;)
Joel Mellon

... Unutmuştum, bunu .mkv.avien az kötü çözüm için ama biraz daha az güzel bir dosya adıyla yeniden adlandırabilirsiniz .
Joel Mellon
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.