Registrando vários arquivos de mídia com detalhes (e se possível, erros)

Registrando vários arquivos de mídia com detalhes (e se possível, erros)

Em primeiro lugar, deixe-me dizer que este é na verdade um pedido de script, então se eu estiver postando no lugar errado, por favor me avise e solicitarei o encerramento disso e irei para lá - acabei de encontraraskubuntupara ser omais útilemenos paternalistados fóruns que visito, então queria tentar aqui primeiro.

Estou executando o Ubuntu LTS 16.04 Destop, se isso importa.

O que estou solicitando é umarquivo bash(não precisa ser bash, é mais provável que eu entenda como funciona para poder aprender com a experiência, se for) que passará por um único diretório específico cheio de arquivos de mídia (especificamente filmes; mp4, mkv, avi, mpgsão as únicas extensões) e produzirá um arquivo de log chamado "0.log"(para que seja mais fácil encontrá-lo no topo da lista) e fornecerá as seguintes informações em um formato fácil de ler:

  • Nome do arquivo
  • Extensão
  • Duração do filme
  • Dimensões do filme (largura x altura)
  • Há algum erro com o arquivo
  • se for possível, qual é o erro

Posso reunir todas essas informações usando a função ffmpeg, mas só consigo fazer uma de cada vez, colocando manualmente as informações em uma planilha, o que, como tenho certeza que você pode entender, está demorando um tempo infinito*.

*nãoestritamenteverdadeiro

ao digitar:

ffmpeg -i filename.ext

As informações necessárias aparecem na lista de bibliotecas utilizadas, por exemplo, uma saída poderia ser:

.......
other stuff that i don't need
.......
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
    [aac @ 0x142fc20] element type mismatch 3 != 0
    Input #0, matroska,webm, from '13 (2010).mkv':
      Metadata:
        encoder         : libebml v1.2.0 + libmatroska v1.1.0
        creation_time   : 2011-07-29 21:37:53
      Duration: 01:37:12.19, start: 0.000000, bitrate: 1999 kb/s
        Stream #0:0: Video: h264 (High), yuv420p, 1280x536 [SAR 1:1 DAR 160:67], 24 fps, 24 tbr, 1k tbn, 48 tbc (default)
        Stream #0:1: Audio: aac (HE-AAC), 48000 Hz, 5.1, fltp (default)
        Stream #0:2: Subtitle: subrip (default)

A primeira linha após a lista de libs é o exemplo de um possível erro com o arquivo, ela é omitida quando o arquivo é verificado *não há substituição "este arquivo está ok", simplesmente não está lá. Existem vários erros que podem ocorrer, então acho que você só precisa verificar entre a biblioteca final (neste caso, libpostproc; e Input #0; para ver se há alguma coisa lá ou não.

Você pode ver a Duração (neste caso 01:37:12.19) e as Dimensões (neste caso 1280x536).

Alguém pode fazer isso por mim ou me indicar um software existente que possa fazer isso. Eventualmente, a saída será colocada em uma planilha, mas eu mesmo posso lidar com a formatação e outras coisas com bastante facilidade, na verdade só preciso de dados brutos para trabalhar. Ou mostre-me como fazer sozinho. Sofro de danos cerebrais leves que mataram minha memória de curto prazo, por isso estou lutando para usar tutoriais on-line para tentar resolver isso.

Agradecendo antecipadamente,

Danny

informação relacionada