Spela in ditt skrivbord från terminalen med FFmpeg

Spela in skärm med terminal och FFmpeg

Några timmar sen vi har publicerat en artikel där vi förklarade hur man konverterar en ljudfil till ett annat format (även ljud) med FFmpeg. I den artikeln förklarade vi också att ramverket i fråga är ett mycket kraftfullt verktyg med vilket vi kan utföra många uppgifter relaterade till video och ljud, och också att vi vid en annan tid skulle lära dig hur man spelar in skärmen på vår dator med FFmpeg från terminalen. Det ögonblicket har kommit och artikeln kommer att vara den här.

Spela in skärmen med detta ramverk det kommer att bli lite mer komplicerat än att konvertera ljudet. Svårigheten finns vid tidpunkten för att skriva kommandot, eftersom det vi måste komma ihåg är mycket mer än att sätta ett kommando, ett "-i" och två filer, ingången och utgången. Dessutom har sättet att göra det uppdaterats eftersom de har modifierat kommandot / verktyget som vi spelar in skärmen med. Utan vidare ado kommer vi nu att beskriva stegen som ska följas, vilka är ingen annan än de som finns i Officiell webbplats av projektet.

FFmpeg låter oss spela in vår skrivbordsskärm med och utan ljud

Liksom andra program som VLC eller SimpleScreenRecorder tillåter FFmpeg oss att spela in vår skrivbordsskärm med och utan ljud. Dessutom tillåter det oss att bara spela in en del av vårt skrivbord, något som skulle vara lättare att använda ett program med ett användargränssnitt som gör att vi kan välja den region som vi vill spela in med pekaren. I vilket fall som helst skulle kommandona eller stegen att följa för att spela in skärmen på vårt skrivbord vara följande:

  1. Precis som när vi konverterar filer, ser vi till att vi har den nödvändiga programvaran installerad. För att göra detta, skriv bara "ffmpeg" (utan citat) i terminalen. Vi ser ungefär följande: ffmpeg i terminalen
  2. Om något liknar ovanstående går vi till steg 3. Om det inte är så skriver vi följande i terminalen:
sudo apt install ffmpeg
  1. Med programvaran installerad skulle det bara finnas ytterligare två steg: starta inspelningen och stoppa den. För att starta det skriver vi följande kommando.
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 salida.mp4
  • Från ovanstående är det nödvändigt att ta hänsyn till:
    • 1920 × 1080 inspelningens storlek.
    • framerate är antalet bildrutor per minut.
    • 0.0 är regionen du kommer att spela in. Du kan ge en start-X- och Y-punkt för att spela in en del av skärmen efter plussymbolen, som kan se ut 0.0 + 100,200 för ett fönster som börjar vid punkt X = 100 och punkt Y = 200.
    • output.mp4 är utdatafilen. Om vi ​​anger det som i föregående kommando sparas filen i vår personliga mapp med namnet "output.mp4".
  1. Slutligen, för att stoppa inspelningen trycker vi på Ctrl + C.

Spela in skärm med ljud

Om det vi vill är att också spela in ljud, skulle kommandona se ut så här:

  • För att pulsera ljud:
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i default salida.mkv
  • För ALSA:
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -f alsa -ac 2 -i hw:0 salida.mkv

För att förbättra ljudkvaliteten är det bäst att stänga alla onödiga program. I båda fallen, för stoppa inspelningen tryck Ctrl + C.. När vi gör detta väntar videon på oss i vår personliga mapp med namnet som vi har konfigurerat för det, i dessa fall "exit.mp4" eller "exit.mkv".

måste ta hänsyn till storleken på videon. I kommandona har jag lagt "1920 × 1080" eftersom det är storleken och upplösningen på min skärm. Det bästa är att var och en lägger till sin egen storlek / upplösning där. Vi måste också komma ihåg att det inte är värt att skapa ett manus för att starta ordern, eftersom den kan misslyckas eller, i bästa fall, skulle vi komplicera våra liv just nu när vi vill stoppa inspelningen. Om du bestämmer dig för att testa om det fungerar bra för dig med ett skript kan du alltid försöka stoppa processen med kommandot "jobb", som vi förklarade i den här artikeln sista juni.

Vad tycker du om den här metoden för att spela in skärmen från terminalen med FFmpeg?


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Creole Software sade

    Ny blogg om fri programvara från Argentina!

    Besök oss:

    http://softwarecriollo.blogspot.com

    På Facebook: SoftwareCriollo Argentina

    På twitter: @softwarecriollo

    Vi måste sprida kunskapen för att vara fria!

    Hälsningar!

  2.   Gaspar Fernandez sade

    Det är trevligt att ha den här linjen till hands. Häromdagen kämpade jag för att göra en screencast med ffmpeg och jag hade problemet med ljudet, som inte synkroniserades bra.

    Jag löste det på ett mycket rudimentärt sätt ... inspelade ljudet med ett inspelning separat och gick sedan med i strömmarna: S: S

  3.   mamma 21 mamma sade

    Hej,
    ja mycket användbara vänner.
    Jag tog inspiration från bash och satte ihop ett manus med namnet "xrec" och packade det i deb.

    om du vill prova det är du inbjuden http://cut07.tk/e6

  4.   SergioJP sade

    Jag använder följande kommando:
    $ ffmpeg -f oss -i / dev / dsp1 -f x11grab -s sxga -r 24 -i: 0.0 /home/seunome/Videos/teste.mpg

    Eller "-f oss" är det som säger att också vill spela in ljud,
    "-I / dev / dsp" berättar för ljudingångsenheten vad de ska använda.
    Använd “-i / dev / dsp0” eller “-i / dev / dsp1” (för mig fungerade det med DSP1)
    "-F x11grab" rapporterar att du vill spela in Grafix X11-serverns videoskärm.
    Eller "-s sxga" motsvarar "-s 1280 × 1024" vilket är upplösningen på min skärm (LCD). Ett annat alternativ är xga som motsvarar 1024 × 768. Om du vill veta mer läs ffmpeg-dokumentationen.
    Eller "-r 24" informerar om att vi vill spela in 24 bilder (bilder) per sekund, vilket är det minsta för att ha en känsla av en film.
    "-I: 0.0" indikerar att vi vill fånga bildskärmarna em "0.0" på X11.
    Slutligen är det bara att konfigurera katalogen och avsluta filnamnet som ska genereras.
    Det är det, du kan läsa ffmpeg-dokumentationen för att förbättra och få bättre kvalitet.
    Tack alla.

  5.   tarribalis sade

    Tack. I upplösningen, t.ex. 1024X600, måste X vara versaler för att kommandot ska fungera.

  6.   Santiago Yornet sade

    Vad sägs om, jag försökte alla kommandon du sa och de spelar alla in video utan ljud. Jag har Ubuntu 20.04. Några förslag?

    1.    diego sade

      Ubuntu bytte basdrivrutiner som Debian och andra, jag vet inte vilken de kommer att använda nu eftersom jag fortfarande lever i det förflutna.
      Ta reda på vilka som används och ersätt dem från Alsa eller Pulse.