Dumping de uma lista de arquivos de vídeo corruptos e qualidade

0

Tendo problemas para encontrar uma solução para isso. Eu tenho uma pasta com alguns milhares de filmes, e talvez 20-30 sejam corruptos. Eu estou tentando encontrar uma maneira de listar esses arquivos corrompidos (não excluí-los). Eles são bem nomeados e todos localizados em um diretório (/media/NS02/Movies/*)

Descobri que o XBMC não consegue encontrar informações de qualidade desses arquivos e tentei descarregar uma lista dos arquivos danificados sem sucesso. Eu também tentei usar mediainfo. Estou particularmente interessado nessa abordagem, pois também gostaria de publicar uma lista de vídeos que não são 720P (separadamente).

Os arquivos de vídeo são MKV, MP4 e avi. Eu não estou particularmente preocupado em obter qualidade AVI. Como eu poderia conseguir isso? Eu prefiro abordagens CLI.

    
por user1652011 30.12.2012 / 04:01

1 resposta

0

Não tenho certeza sobre o comportamento de arquivos de vídeo corrompidos. Vou apenas dar sugestões para possíveis comportamentos.

Esses arquivos não serão reproduzidos? Ou a reprodução falhará em algum lugar no meio do filme?

Se for o primeiro, você pode tentar mplayer -vo null -ao null em um arquivo, certifique-se de que o mplayer não saia nos primeiros 2-3 segundos, mate o mplayer e vá para o próximo. Deve ser fácil de escrever e não deve demorar mais de uma hora para 1000 filmes.

Se for o último, mais uma vez existem duas possibilidades.

  1. O mplayer não pode procurar qualquer posição além do ponto de colisão.
  2. O mplayer pode procurar uma posição além do ponto de colisão e tocar suavemente.

O caso 1 pode ser tratado abrindo um arquivo com echo 'seek 95 1' | mplayer -vo null -ao null -slave e verificando se o mplayer trava. Este comando apenas abre o arquivo e tenta procurar uma posição de tempo de 95%.

Caso 2 significa que uma falha não pode ser detectada observando-se qualquer ponto do arquivo que não seja o ponto de colisão. Então, a única maneira de fazer isso é decodificar o arquivo inteiro e ver se a decodificação falha em algum momento. Existem maneiras de decodificar arquivos mais rapidamente do que a reprodução em tempo real, mas ainda assim esperaria que esse processo durasse dias, possivelmente meses. Cabe a você decidir se a detecção de 20 a 30 arquivos corrompidos entre alguns milhares realmente vale esse esforço.

Detectando vídeos que não são 720p:

mplayer file.extn -frames 0 -vo null -ao null 2> /dev/null | grep VIDEO | awk '{ print $3 }' imprime a resolução do vídeo. Você pode usar isso para gerar a lista desejada.

    
por S Prasanth 03.01.2013 / 09:05