我需要定義各種視訊檔案的 mime 類型,但遇到了問題.m2ts文件。在我偶然發現這一點之前,我使用file
帶有-iL
鍵的實用程式並使用sed
.今天我發現file
5.15 將 .m2ts 檔案的 mime 類型定義為「application/octet-stream」。好吧,我更新了軟體包,現在它只是將它們稱為「二進位」。當我期待視頻/其他東西時。
在閱讀有關公用事業公司從事類似工作的資訊後,我嘗試過xdg-mime query filetype
。問題xdg-mime
是它只查看檔案的副檔名。它將 .m2ts 定義為“video/mp2t”,但會顯示任何文件,甚至是具有此類副檔名的空白文字檔案。
也許將 .m2ts 檔案稱為流是正確的,因為它實際上是一個流,但是為什麼在 mime 資料庫中擴展名綁定到“video/mp2t”?
$ grep m2ts /usr/share/mime/video/mp2t.xml
<glob pattern="*.m2ts"/>
答案1
感謝@Patrick 提供的鏈接,我明白這與它file
無關shared-mime-info
,它的資料庫位於 /usr/share/misc/magic.mgc 中。所以我用谷歌搜尋了一個~/.magic
帶有修復程序的文件並找到了它這裡。那裡的行缺少空格所以我在這裡引用
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
答案2
.m2ts
用於復用音訊、視訊和其他串流,基於MPEG-2 transport stream container
.
RFC 3555MIME subtypes
為 MPEG-2 傳輸流定義了許多,包括video/mp2t
.所以我認為當它有界時這是正常的video/mp2t
。