“file”未顯示 .m2ts 檔案的正確 mime 類型

“file”未顯示 .m2ts 檔案的正確 mime 類型

我需要定義各種視訊檔案的 mime 類型,但遇到了問題.m2ts文件。在我偶然發現這一點之前,我使用file帶有-iL鍵的實用程式並使用sed.今天我發現file5.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

相關內容