Extraindo cada quadro do arquivo de vídeo como imagem no OS X

9

O que eu quero fazer é extrair cada quadro de um arquivo de vídeo e gerar as imagens.

Eu tentei usar os comandos do VLC por meio do terminal, mas parece que ele está pulando os quadros, mesmo que eu tenha desativado "ignorar quadros". Eu acho que meu MacBook Pro i7 é muito lento. Parece estranho que eu não possa reproduzir um arquivo de vídeo sem pular quadros. De qualquer forma, existem alternativas que me permitam obter cada quadro? Parece que o vlc tenta fazer isso em tempo real, o que pode ser um problema se estiver trabalhando em uma máquina lenta.

Aqui está o comando VLC que eu usei:

/Applications/VLC.app/Contents/MacOS/VLC /Users/name/Downloads/complete/video.mkv --video-filter=scene --scene-prefix=movie --scene-ratio=1 --scene-path=/folder --start-time=1035 --stop-time=1100 --no-skip-frames
    
por Adam 17.02.2012 / 19:25

1 resposta

14

Eu faria isso com o FFmpeg, que você pode obter através do Homebrew ou, em alternativa, ffmpegX .

No primeiro caso, instale o Homebrew e execute brew install ffmpeg . Isso exigirá o Xcode e a criação a partir do código-fonte, o que pode representar um pouco de sobrecarga para o seu requisito simples.

No segundo caso, instale o .app e use o ffmpeg version empacotado com ele - entretanto, é aconselhável que esta versão é de 2006 e, portanto, pode não funcionar com todos os arquivos de entrada.

/Applications/ffmpegX.app/Contents/Resources/ffmpeg

Funcionou para um clipe h.264 / MP4 para mim.

Independentemente disso, use o FFmpeg para produzir cada frame individualmente:

ffmpeg -i /path/to/video.mkv /path/to/output-%04d.jpg

Você também pode usar png em vez de jpg para resultados sem perdas e alterar o número em %04d se precisar de mais dígitos quando o arquivo for mais longo.

    
por 17.02.2012 / 20:36