Como eu editaria em lote os metadados do arquivo de vídeo para um mp4?

3

Eu tenho um número de arquivos mp4 que precisam conter os mesmos metadados, por exemplo. artista & amp; álbum.

Como posso editar em lote os metadados, em vez de editá-los um por um?

    
por t3rminal 02.04.2017 / 10:53

2 respostas

3

Antes de prosseguir, faça uma cópia de backup dos vídeos que você deseja processar. O comando abaixo substitui os arquivos existentes.

find /home/user/videos-to-process/ -type f -iname '*.mp4' -exec ffmpeg -i "{}" -codec copy -metadata artist="John Smith" -metadata album="Foo Bar" "{}.new.mp4" \; -exec mv "{}.new.mp4" "{}" \;

Aqui está o mesmo comando, formatado para maior clareza:

find /home/user/videos-to-process/ -type f -iname '*.mp4' \
  -exec ffmpeg \
    -i "{}" \
    -codec copy \
    -metadata artist="John Smith" \
    -metadata album="Foo Bar" \
    "{}.new.mp4" \; \
  -exec mv \
    "{}.new.mp4" "{}" \;

O que isso faz?

  1. Localiza recursivamente todos os arquivos .mp4 (comparação de extensão sem distinção entre maiúsculas e minúsculas) em / home / user / videos-to-process.
  2. Cria um novo arquivo de vídeo, copiando os fluxos existentes, com os metadados desejados.
  3. Substitui o arquivo de vídeo original pelo novo arquivo de vídeo.

Passo 2 copia os fluxos existentes; nós não estamos reencodificando (isso é uma coisa boa). Você está simplesmente mudando os metadados. Eu corri isso em um diretório com seis arquivos, cada um com cerca de 1GB. O tempo total de processamento foi de cerca de 30 segundos.

    
por TooManyPets 02.04.2017 / 15:32
1

Você pode usar o utilitário AtomicParsley para essa finalidade. Instale isto a partir de uma janela do Terminal da seguinte forma:

sudo apt-get install atomicparsley

Se você tiver seus arquivos mp4 em um único diretório , você pode simplesmente abrir uma janela do Terminal nesse local e executar o seguinte:

for i in *.mp4
do
AtomicParsley "$i" --album "Foo" --artist "Bar" --overWrite
done

(Isso inclui a tag --overWrite não documentada, mas totalmente funcional.)

Obviamente, você deve alterar os valores Foo e Bar para representar os valores reais que você deseja usar em seus arquivos ...

    
por andrew.46 04.04.2017 / 09:24