Ferramenta de linha de comando do Linux para edição de vídeo?

3

Eu gostaria de combinar dois vídeos em um. O primeiro vídeo deve cobrir toda a tela. O segundo vídeo deve cobrir uma área menor na parte superior direita da tela (sobrepondo-se ao primeiro vídeo).

Idealmente, o processo deve ser automatizado. Por exemplo, com um script que recebe dois vídeos de entrada e gera um arquivo de filme.

Alguém pode recomendar uma ferramenta de edição de vídeo para Linux que me permita fazer isso?

PS: O contexto é gravação de palestras. A tela principal será coberta com uma gravação do quadro branco ou da área de trabalho do apresentador, enquanto o próprio apresentador estará visível no retângulo superior direito da tela.

Editar
Como desenvolvedor, gostaria de me familiarizar com o GStreamer e criar um aplicativo que faça exatamente o que eu preciso. Isso seria uma boa ideia?

Editar 2
Acabou de encontrar este interessante script de lançamento gst isso faz quase exatamente o que eu quero. Deixe-me experimentar isso.

    
por StackedCrooked 22.11.2009 / 23:19

4 respostas

3

Esse folheto mostra como fazer isso, basta ajustar os tamanhos para corresponder à resolução da sua tela.

gst-launch \
    v4l2src device=/dev/video1 \
        ! video/x-raw-yuv,width=352,height=288,framerate=\(fraction\)30/1 \
        ! videoscale \
        ! video/x-raw-yuv,width=640,height=480 \
        ! cairotextoverlay text=1 shaded-background=true deltax=310 deltay=-430 \
        ! videobox left=0  top=0  border-alpha=0 \
        ! videomixer name=mix \
        ! xvimagesink \
    v4l2src device=/dev/video0 \
        ! video/x-raw-yuv,width=640,height=480,framerate=\(fraction\)30/1 \
        ! videoscale \
        ! video/x-raw-yuv,width=1280,height=960 \
        ! cairotextoverlay text=2 shaded-background=true deltax=630 deltay=-910 \
        ! videobox left=0 top=0 border-alpha=0 \
    ! mix.
    
por 09.12.2009 / 19:54
2

Eu fiz uma pergunta semelhante em questão 71694 . Acabei escrevendo um script python para fazer o que eu queria. Isso foi mais fácil do que o esperado e acabei com uma solução totalmente automatizada, embora as habilidades de programação sejam obviamente necessárias.

Aqui está o meu fluxo de trabalho;

  1. Exporte os vídeos de entrada para seqüências de imagens usando o ffmpeg
  2. Defina um arquivo de configuração que determine a localização dos vídeos na saída, suas taxas de quadros, inicie & Tempos de parada, etc.
  3. O script python combina as imagens usando a biblioteca de imagens Python (PIL) e as grava como uma nova imagem seqüência
  4. use o ffmpeg para recombinar a saída em um vídeo

Estou feliz em compartilhar mais detalhes & código se você quiser ir por esse caminho. Caso contrário, eu também usei o Camtasia (não o Linux, provavelmente sem utilidade para você) para produzir algumas coisas básicas do tipo picture-in-picture (eles têm bom tutorial aqui )

    
por 22.11.2009 / 23:32
1

Problema fascinante. Eu não tenho uma solução pronta para usar, mas alguns leads e maneiras alternativas de fazer isso.

Leads

  • Veja esta página eles usaram o kit de ferramentas imagemagick e alguns scripts bash (scripts disponíveis no site). Eles precisavam fazer algo mais complexo do que você precisa, mas suponho que a técnica seja a mesma.
  • Existem também vários plugins disponíveis para o FFmpeg. Este plug-in de marca d'água usa um GIF animado no vídeo principal. Mais uma vez ... tarefa diferente, mas eu suponho que o código é altamente reciclável para seus fins.

Formas alternativas de fazer isso

  • Grave-os simultaneamente! Você pode usar, por exemplo, queijo para manter uma foto do professor no canto da tela, e recordmydesktop para gravar a tela como um todo.
  • Use um editor de vídeo como o OpenShot ou Cinelerra para fazer o composto depois de ter gravado separadamente os dois vídeos.

Espero que isso ajude você a encontrar o caminho para resolver o problema. Melhor sorte!

    
por 22.11.2009 / 23:59
0

Você deu uma olhada no DVSwitch ? É o que o projeto Debian está usando para gravar conferências.

É um pouco diferente do que você está pedindo, pois ele irá misturar dois fluxos de vídeo em tempo real para streaming e gravação. A desvantagem é que você perde o vídeo original de qualidade total, mas no lado positivo você não precisa de tanto armazenamento em disco quanto apenas a saída mista é armazenada.

Também é um aplicativo de GUI com uma exibição ao vivo do vídeo sobreposto / misto.

    
por 25.06.2010 / 08:55

Tags