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

1
Em primeiro lugar, deixe-me dizer que este é realmente um pedido de um script, por isso, se eu estou postando no lugar errado, por favor, deixe-me saber e eu vou pedir o fechamento deste e ir lá em vez - eu tenho apenas descobri askubuntu como o mais útil e menos paternalista dos fóruns que eu visito, por isso quis experimentar aqui primeiro.

Estou executando o Ubuntu LTS 16.04 Destop, se isso for importante.

O que eu estou pedindo é um arquivo bash ( ele não precisa ser bash, estou mais propenso a entender como funciona para que eu possa aprender com a experiência se é ) que passará por um único diretório específico cheio de arquivos de mídia (especificamente filmes; mp4 , mkv , avi , mpg são as únicas extensões) e produzirá um arquivo de log chamado "0.log" (por isso é mais fácil encontrar 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)
  • Existe um erro com o arquivo
  • se for possível, qual é o erro

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

* não estritamente true

ao digitar:

ffmpeg -i filename.ext

As informações necessárias aparecem sob a lista de libs usadas. Por exemplo, uma saída pode ser lida:

.......
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)

Essa primeira linha após a lista de libs é o exemplo de um possível erro com o arquivo, ele é omitido quando o arquivo faz check-out * não há nenhuma substituição "este arquivo está correto", simplesmente não está lá. Há um número de erros que podem ocorrer, então eu estou supondo que você só tem que verificar entre a lib final (neste caso libpostproc; e Input # 0; para ver se existe 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 apontar para um software existente que possa fazê-lo. Eventualmente, a saída será colocada em uma planilha, mas eu posso manipular a formatação e as coisas facilmente, eu realmente só preciso de dados brutos para trabalhar. Ou me mostre como fazer isso sozinho. Eu sofro de danos cerebrais leves, que mataram a minha memória de curto prazo, por isso estou lutando para usar tutoriais on-line para tentar resolver isso.

Agradecendo você em avançado

Danny

    
por SPooKYiNeSS 29.01.2018 / 21:02

0 respostas