Como cortar e mesclar vídeos .ogv?

4

Atualmente, estou criando um tutorial em vídeo para uma ferramenta de software. Gravei alguns vídeos curtos (entre 30 segundos e 4 minutos) com o RecordMyDesktop que agora preciso mesclar em um único vídeo. O pipeline de tarefas se parece com o seguinte:

  1. Converta os arquivos de ogv para avi (ou em outro formato viável).

  2. Corte seções indesejadas dos vídeos (como a interação com o próprio RecordMyDesktop).

  3. Mesclar os vários vídeos cortados em um único arquivo.

Parece simples, mas vivi uma saga inteira nas últimas semanas tentando fazê-lo sem sucesso. Abaixo, detalhe os passos que tomei até agora e os problemas que encontrei.

Converter ogv em avi

Existem vários tópicos aqui sobre este assunto, apontando para várias ferramentas. Muitos desses tópicos parecem estar desatualizados, mas eu finalmente consegui usar avconv , por exemplo:

avconv -i "input.ogv" -vcodec mjpeg -acodec mp2 -qscale 10 "output.avi"

Anteriormente eu tentei com ffmpeg , Avidemux, Lives e outros, mas todos falharam com erros ou travaram no Ubuntu 14.04.

Com avconv , há uma perda visível de qualidade de imagem e uma boa quantidade de ruído é adicionada ao áudio, mas nenhuma delas é catastrófica.

Recorte

Para esta tarefa, a única ferramenta da qual estou ciente que permite o corte no nível do quadro é o Avidemux. Outros, como o Lives, também anunciam essa funcionalidade, mas não conseguem realizá-la.

Eu não tive nenhum erro ao executar esta tarefa com o Avidemux, mas os vídeos resultantes começaram a gerar problemas. Totem não pode jogar um deles, emitindo uma exceção; O OpenShot também emite um aviso ao abrir alguns desses vídeos cortados com o Avidemux.

Fusão

Até agora eu tentei esta tarefa com cinco ferramentas diferentes, todas as quais falharam:

  • OpenShot - preencheu 4 Gb de RAM e passou a preencher 4 Gb de swap, ponto no qual o sistema não respondia, forçando uma reinicialização. No total, os vídeos avi cortados somam pouco mais de 200 Mb.

  • avimerge - produz um arquivo mesclado sem emitir mensagens de aviso ou erro, mas a imagem e o som estão fora de sincronia. Há momentos em que o som tocado é das partes recortadas na etapa anterior.

  • Kino - também produz um arquivo mesclado sem emitir erros, mas completamente arrebata a imagem, ela pisca e salta constantemente, tornando impossível entender.

  • gato + mencoder - o resultado final tem problemas semelhantes aos de avimerge .

  • Avidemux - eventualmente descobriu que também é possível mesclar arquivos, embora o processo não seja óbvio. Os vídeos resultantes produzem som e imagem fora de sincronia; Ao abrir um arquivo mesclado com um player como o Totem, o comprimento é aproximadamente o dobro do que é relatado pelo Avidemux.

A questão

Nesse estágio, suspeito que algo está errado no processo de mesclagem, talvez com o recorte (e, portanto, a história detalhada).

Minha pergunta se resume em: como executar essas três tarefas aparentemente simples com vídeos produzidos com o RecordMyDesktop? Gostaria de receber sugestões para um pipeline de processamento completamente novo ou para alterações em uma das etapas. Comentários de usuários experientes do RecordMyDesktop também são bem-vindos.

Atualizar I : incluiu os resultados da mesclagem com cat e mencoder .

Update II : incluiu resultados da mesclagem com o Avidemux.

    
por Luís de Sousa 15.10.2014 / 22:29

1 resposta

3

Talvez você esteja procurando por um fluxo de trabalho diferente.

Primeiro, você pode recortar as partes que deseja com oggz-chop . Basta digitar o terminal:

oggz-chop -o output.ogv -s start -e end input.ogv

Isso deve fornecer bons arquivos que você deseja manter. Certifique-se de nomeá-los em alguma ordem sequencial, para poder lidar com eles mais tarde.

Depois disso:

Existe um comando oggCat , que é capaz de concatenar dois ou mais arquivos ogg juntos, produzindo um arquivo ogg do tamanho igual à soma de todos os fornecidos.

A linha de comando que irá ajudá-lo é:

oggCat output.ogv infile1.ogv infile2.ogv infile3.ogv ...

Não confunda com outro comando do mesmo pacote intitulado oggJoin , que faz algo bem diferente, criando um único arquivo com vários fluxos que serão executados em paralelo.

Agora, para o recorte, sei que existe uma maneira de fazer isso sem perda, editando o cabeçalho do fluxo do Theora, mas não consegui descobrir como fazer isso ainda. Eu atualizarei a resposta se eu encontrar o caminho.

    
por v010dya 09.11.2014 / 13:18