Ich muss den MIME-Typ verschiedener Videodateien definieren und habe ein Problem mit.m2tsDateien. Bevor ich darüber gestolpert bin, habe ich file
ein Dienstprogramm mit -iL
Schlüsseln verwendet und die Ausgabe mit analysiert sed
. Heute habe ich festgestellt, dass file
5.15 den MIME-Typ von .m2ts-Dateien als „application/octet-stream“ definiert. O-okay, ich habe das Paket aktualisiert und jetzt nennt es sie einfach „binary“. Dabei habe ich Video/etwas erwartet.
Ich habe von Dienstprogrammen gelesen, die ähnliche Aufgaben erledigen, und habe es versucht xdg-mime query filetype
. Das Problem dabei xdg-mime
ist, dass es nur auf die Dateierweiterung schaut. Es definiert .m2ts als „video/mp2t“, zeigt es aber für alle an, sogar für leere Textdateien mit dieser Erweiterung.
Vielleicht war es richtig, .m2ts-Dateien als Stream zu bezeichnen, da es sich tatsächlich um einen Stream handelt, aber warum ist die Erweiterung dann in der MIME-Datenbank an „video/mp2t“ gebunden?
$ grep m2ts /usr/share/mime/video/mp2t.xml
<glob pattern="*.m2ts"/>
Antwort1
Dank des von @Patrick bereitgestellten Links habe ich verstanden, dass das file
nichts damit zu tun hat shared-mime-info
und dass die Datenbank in /usr/share/misc/magic.mgc liegt. Also habe ich nach einer ~/.magic
Datei mit einem Fix gegoogelt und sie gefundenHier. In den Zeilen fehlen Leerzeichen, deshalb füge ich es hier ein
4 byte 0x47
>5 beshort 0x4000
>>7 byte ^0xF
>>>196 byte 0x47
>>>>388 byte 0x47
>>>>>580 byte 0x47 M2TS MPEG transport stream, v2
!:mime video/MP2T
Antwort2
.m2ts
wird zum Multiplexen von Audio-, Video- und anderen Streams verwendet, basierend auf MPEG-2 transport stream container
.
RFC 3555MIME subtypes
Für den MPEG-2-Transportstrom sind viele definiert , einschließlich video/mp2t
. Daher denke ich, dass es normal ist, wenn es an gebunden ist video/mp2t
.