다양한 비디오 파일에 대한 MIME 유형을 정의해야 하는데 문제가 발생했습니다..m2ts문서. 이 문제를 발견하기 전에 저는 키 file
가 있는 -iL
유틸리티를 사용하고 있었고 오늘 5.15가 .m2ts 파일의 MIME 유형을 "application/octet-stream"으로 정의한다는 sed
것을 발견했습니다 . file
글쎄, 패키지를 업데이트했는데 이제는 "바이너리"라고 부릅니다. 비디오/다른 것을 기대할 때.
유사한 업무를 수행하는 유틸리티 회사에 대한 기사를 읽은 후 시도해 보았습니다 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
.so 를 포함하여 MPEG-2 전송 스트림에 대해 정의된 것이 많이 있습니다 video/mp2t
. 따라서 제한된 경우는 정상이라고 생각합니다 video/mp2t
.