Grave sua área de trabalho a partir do terminal com FFmpeg

Tela de gravação com terminal e FFmpeg

Faz umas horas nós publicamos um artigo no qual explicamos como converter um arquivo de áudio para outro formato (também áudio) com FFmpeg. Nesse artigo também explicamos que o framework em questão é uma ferramenta muito poderosa com a qual podemos realizar muitas tarefas relacionadas a vídeo e áudio, e também que em outro momento iremos ensinar-lhe como gravar a tela do nosso PC com FFmpeg do terminal. Esse momento chegou e o artigo será este.

Grave a tela com este quadro vai ser um pouco mais complicado do que converter o áudio. A dificuldade está na hora de escrever o comando, pois o que temos que lembrar é muito mais do que colocar um comando, um "-i" e dois arquivos, a entrada e a saída. Além disso, a forma de fazê-lo foi atualizada porque alteraram o comando / ferramenta com que iremos gravar a tela. Sem mais delongas, iremos agora descrever as etapas a seguir, que não são outras senão aquelas encontradas no Site Oficial o projeto.

FFmpeg nos permite gravar nossa tela de desktop com e sem áudio

Como outros programas como o VLC ou SimpleScreenRecorder, o FFmpeg nos permite gravar nossa tela de desktop com e sem áudio. Além disso, também nos permitirá gravar apenas uma parte do nosso desktop, o que seria mais fácil usando um aplicativo com uma interface de usuário que nos permitisse selecionar a região a gravar com o ponteiro. Em qualquer caso, os comandos ou passos a seguir para gravar a tela de nosso desktop seriam os seguintes:

  1. Tal como acontece com a conversão de arquivos, asseguramo-nos de que temos o software necessário instalado. Para fazer isso, basta digitar "ffmpeg" (sem as aspas) no terminal. Veremos algo como o seguinte: ffmpeg no terminal
  2. Se algo como o acima aparecer, vamos para a etapa 3. Se não for, escrevemos o seguinte no terminal:
sudo apt install ffmpeg
  1. Com o software instalado, seriam apenas mais duas etapas: iniciar a gravação e interrompê-la. Para iniciá-lo, escreveremos o seguinte comando.
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 salida.mp4
  • Do exposto, é necessário levar em consideração:
    • 1920 × 1080 o tamanho da gravação.
    • framerate é o número de quadros por minuto.
    • 0.0 é a região que você vai gravar. Você pode fornecer um ponto inicial X e Y para registrar uma parte da tela após o símbolo de mais, que pode ser semelhante a 0.0 100,200 + para uma janela começando no ponto X = 100 e no ponto Y = 200.
    • output.mp4 é o arquivo de saída. Se o colocarmos como no comando anterior, o arquivo será salvo em nossa pasta pessoal com o nome "output.mp4".
  1. Finalmente, para parar a gravação, pressionamos Ctrl + C

Tela de gravação com áudio

Se o que queremos é gravar também o áudio, os comandos ficariam assim:

  • Para pulsar áudio:
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i default salida.mkv
  • Para ALSA:
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -f alsa -ac 2 -i hw:0 salida.mkv

Para melhorar a qualidade do som, é melhor fechar todos os programas desnecessários. Em ambos os casos, para para a gravação, pressione Ctrl + C. Quando o fizermos, o vídeo estará à nossa espera na nossa pasta pessoal com o nome que configuramos para ele, nestes casos "exit.mp4" ou "exit.mkv".

Tem que leve em consideração o tamanho do vídeo. Nos comandos, coloquei "1920 × 1080" porque é o tamanho e a resolução da minha tela. O melhor é que cada um adiciona ali o seu tamanho / resolução. Devemos também ter em mente que não vale a pena fazer um script de lançamento do pedido, pois poderia falhar ou, no melhor dos casos, complicaríamos nossa vida no momento em que queremos interromper a gravação. Se você decidir testar se funciona bem para você com um script, você sempre pode tentar interromper o processo com o comando "jobs", como explicamos em este artigo último Junho.

O que você acha deste método para gravar a tela do terminal com FFmpeg?


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Software crioulo dito

    Novo blog sobre Software Livre da Argentina!

    Visite-Nos:

    http://softwarecriollo.blogspot.com

    No Facebook: SoftwareCriollo Argentina

    No twitter: @softwarecriollo

    Devemos espalhar o conhecimento para sermos livres!

    Saudações!

  2.   Gaspar Fernandez dito

    É bom ter essa linha disponível. Outro dia estava lutando para fazer um screencast com ffmpeg e tive o problema do áudio, que não sincronizava bem.

    Resolvi de uma forma muito rudimentar ... gravando o áudio com um registro separadamente e depois juntando os streams: S: S

  3.   mãe 21 mãe dito

    Olá,
    sim amigos muito úteis.
    Eu me inspirei no bash e montei um script chamado "xrec" e empacotei no deb.

    se você quiser experimentar, você está convidado http://cut07.tk/e6

  4.   Sergio JP dito

    Eu uso o seguinte comando:
    $ ffmpeg -f oss -i / dev / dsp1 -f x11grab -s sxga -r 24 -i: 0.0 /home/seunome/Videos/teste.mpg

    Ou "-f oss" indica que você também deseja gravar áudio,
    "-I / dev / dsp" diz ao dispositivo de entrada de áudio o que usar.
    Use “-i / dev / dsp0” ou “-i / dev / dsp1” (para mim, funcionou com DSP1)
    Ele "-f x11grab" informa que você deseja gravar a tela de vídeo do servidor Grafix X11.
    Ou "-s sxga" é igual a "-s 1280 × 1024", que é a resolução da minha tela (LCD). Outra opção é o xga que corresponde a 1024 × 768. Para saber mais leia a documentação do ffmpeg.
    Ou “-r 24” informa que queremos gravar 24 quadros (imagens) por segundo, que é o mínimo para ter a sensação de um filme.
    O "-i: 0.0" indica que queremos capturar as telas de exibição em "0.0" do X11.
    Finalmente, apenas configure o diretório e finalize o nome do arquivo a ser gerado.
    É isso, você pode ler a documentação do ffmpeg para melhorar e obter melhor qualidade.
    Obrigado a todos.

  5.   tarribalis dito

    Obrigado. Na resolução, por exemplo, 1024X600, o X deve ser maiúsculo para que o comando funcione.

  6.   Santiago Yornet dito

    Que tal, tentei todos os comandos que você disse e todos eles me gravam vídeo sem áudio. Tenho Ubuntu 20.04. Alguma sugestão?

    1.    Diego dito

      O Ubuntu mudou drivers básicos como o Debian e outros, não sei qual eles usarão agora, pois ainda moro no passado.
      Descubra quais usam e substituam os do Alsa ou do Pulse.