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?
- 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.
- Cria um novo arquivo de vídeo, copiando os fluxos existentes, com os metadados desejados.
- 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.