Execute o comando para cada arquivo no diretório

5

Estou convertendo todos os meus arquivos de vídeo para o WebM, para reduzir bastante a quantidade de espaço em disco que está sendo usado. Para fazer isso eu uso o programa "ffmpeg", que requer um arquivo de entrada e saída especificado. Como o processo de conversão demora muito, desejo executá-lo dia e noite para todos os arquivos de vídeo na minha pasta de vídeo, por isso não preciso fazer isso manualmente.

Pesquisando-me, encontrei maneiras de fazer isso, mas a saída seria um arquivo grande. Alguém pode me explicar como eu converter "video1.avi" para "video1.webm" e "video2.avi" para "video2.webm", etc etc automaticamente?

    
por PureTryOut 14.08.2014 / 22:52

3 respostas

9

Você pode usar um bash loop - a estrutura básica seria algo como

for file in *.avi; do ffmpeg -i "$file" "${file%.avi}".webm; done

Você pode adicionar qualquer outra opção de linha de comando ffmpeg conforme necessário.

    
por steeldriver 14.08.2014 / 23:06
1

Abaixo de um script python para fazer o trabalho:

#!/usr/bin/env python3

import os
import subprocess

sourcedir = "/path/to/sourcedirectory"

for file in os.listdir(sourcedir):
    name = file[:file.rfind(".")]
    subprocess.call(["fmpeg", "-i", sourcedir+"/"+name+".avi", sourcedir+"/"+name+".webm"])

Ao usar subproces.call (), o script continuará apenas na próxima conversão quando o último terminar.

Para usar:

Copie o script em um arquivo de texto vazio, defina o diretório de origem dos seus arquivos, salve-o como convert.py e execute-o pelo comando

python3 /path/to/convert.py
    
por Jacob Vlijm 14.08.2014 / 23:16
0

Você também pode usar meu aplicativo gratuito. É chamado de dmMediaConverter e é um frontend simples para o ffmpeg. Para sua necessidade, você deve usar a opção bulk e, em seguida, descartar todos os arquivos que você precisa converter e escolher as opções apropriadas. A nomenclatura dos arquivos de saída é feita automaticamente. Yoiu deve baixá-lo no link abaixo, pois o do Ubuntu Software Center é antigo. Eu espero que você goste. link

    
por mdalacu 21.08.2014 / 19:31

Tags