Pergunta

Como posso criar uma soma de verificação apenas dos dados da mídia sem os metadados para obter uma identificação estável para um arquivo de mídia. De preferência, uma abordagem de plataforma cruzada com uma biblioteca com suporte para muitos formatos. Por exemplo, VLC, FFMPEG ou MPLAYER.

(Os arquivos de mídia devem ser áudio e vídeo em formatos comuns, seria bom ter imagens também)

Foi útil?

Solução

Não conheço nenhum software independente da plataforma existente que consiga isso, mas sei de uma maneira que isso pode ser realizado em uma linguagem interpretada (independente da plataforma), como o Java.

Essencialmente, simplesmente precisamos retirar qualquer metadado (tags) do arquivo, desmultando os arquivos de vídeo com antecedência. Teoricamente, após o Demux e a remoção de metadados, pode -se hash o arquivo e comparar com outro arquivo que passou pelo mesmo processo para corresponder a arquivos idênticos, apesar de terem tags diferentes. Ao contrário de uma impressão digital, isso não identificaria músicas/filmes semelhantes, mas arquivos idênticos (imagine que você pode querer as 10 versões diferentes ou taxas de bits de uma determinada música que você arquivou, mas não quer 2 cópias idênticas de qualquer um deles flutuando) .

A parte mais preocupante disso é remover tags, pois existem muitas especificações diferentes para formatos de tags que não são necessariamente implementados da mesma forma em aplicativos diferentes, ou seja, o mesmo arquivo de áudio exato, com tags idênticas separadamente através de dois aplicativos diferentes, não podem resultar em arquivos de saída idênticos . A única maneira de representar um problema fatal para o conceito de uma soma de verificação somente em áudio é se o software de marcação popular fizer alguma alteração na parte binária de áudio do arquivo ou formar o áudio de maneira não padrão.

Tomar uma soma de cheque é trivial, mas não estou ciente do topo da minha cabeça de nenhuma biblioteca independente da plataforma para Demux e Detag MPEG Arquivos. Eu sei que em 'Nix Ambientes, o MPGTX é uma ótima ferramenta de linha de comando que pode executar o Demux e o Detag, mas obviamente essa não é uma solução independente da plataforma.

Talvez alguém lá fora pareça ambicioso?

Outras dicas

Uma solução possível que encontrei parece estar com o VLC:

./VLC -I rc snd.mp3 :sout='#std{mux=raw,access=file,dst=-}' vlc://quit | sha1sum
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top