Preciso definir o tipo MIME de vários arquivos de vídeo e estou com um problema.m2tsarquivos. Antes de descobrir isso, usei file
o utilitário com -iL
chaves e analisei a saída com sed
. Hoje descobri que file
5.15 define o tipo mime de arquivos .m2ts como 'application/octet-stream'. Ok, atualizei o pacote e agora ele os chama apenas de 'binários'. Quando eu esperava vídeo/alguma coisa.
Lendo sobre utilitários que fazem trabalhos semelhantes, tentei xdg-mime query filetype
. O problema xdg-mime
é que ele olha apenas para a extensão do arquivo. Ele define .m2ts como 'video/mp2t', mas mostra-o para qualquer arquivo de texto vazio com essa extensão.
Talvez fosse correto chamar os arquivos .m2ts de stream porque na verdade é um stream, mas então por que no banco de dados mime a extensão está vinculada a 'video/mp2t'?
$ grep m2ts /usr/share/mime/video/mp2t.xml
<glob pattern="*.m2ts"/>
Responder1
Graças ao link fornecido por @Patrick entendi que file
não tem nada a ver shared-mime-info
e seu banco de dados está em /usr/share/misc/magic.mgc. Então procurei no Google por um ~/.magic
arquivo com uma correção e encontreiaqui. As linhas estão faltando espaços, então eu adiciono aqui
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
Responder2
.m2ts
é usado para multiplexar áudio, vídeo e outros fluxos, com base em arquivos MPEG-2 transport stream container
.
RFC 3555definiu muitos MIME subtypes
para fluxo de transporte MPEG-2, incluindo video/mp2t
. Então eu acho que é normal quando está limitado a video/mp2t
.