Hur man skapar en skärmsändning på Linux

Vill du göra en screencast på Linux men känner dig överväldigad av valet av verktyg och program? Vi beskriver tre sätt att skapa en screencast. Det snabba och enkla sättet, det hårda och granulära sättet, och det sätt vi tycker är den bästa allroundmaskinen.

Hur man filmar en bra manus

För att skapa en screencast måste du spela in vad som händer på ditt skrivbord, tillsammans med kommentaren du lägger till. Det kräver möjligheten att spela in video från ditt skrivbord och ljud från ditt Linux-ljudundersystem, och möjligen från andra källor också.

När du tittar på en bra skärmsändning kommer du att märka att kommentaren eller berättelsen stämmer. Det är polerat. Leveransen har förtroende och tydlighet. Det finns inget utrymme för ”um’s and ah’s” när du producerar en screencast. De är smärtsamma att lyssna på och de får din screencast att kännas amatörmässig. Det är raka motsatsen till den effekt du försöker skapa. Du vill att din publik ska känna att du är en auktoritet på vad det än är du pratar om. Att låta som att du bumlar dig igenom är inte sättet att göra det.

På grund av detta har många av de snyggare skärmsändningarna sitt ljudspår inspelat och redigerat separat och sedan mixat tillbaka till skärmvideon. Det är ett för stort ämne för att täcka i en liten artikel, så vi ska titta på sätt att spela in ljudet och skrivbordsvideon samtidigt. Det betyder inte att du är dömd att låta amatörmässig. Det finns enkla tekniker du kan använda för att höja kvaliteten på din verbala leverans.

De mest elementära – men mest effektfulla – är ett manus och övningar. Gå igenom din screencast flera gånger innan du försöker spela in den. Gör anteckningar så att du vet vad du vill säga och vilka punkter du särskilt vill uppmärksamma. Låt dig inte avskräckas av ordet ”manus”. Det behöver inte vara ett sofistikerat dokument. En eller två sidor med lättlästa punktpunkter kommer att hjälpa enormt. Paradoxalt nog vill du inte bli distraherad när du försöker läsa manuset när det är meningen att du ska prata.

Lägg tiden på med torrkörningar. Det finns en anledning till att proffs har repetitioner. Det är mycket svårt att gå igenom ämnet du vill beskriva, kontrollera programvaran du använder för att sända screencast och ändå leverera en bra verbalt prestanda.

Välj en bra mikrofon (och kamera, om du vill)

Du kommer att behöva något för att spela in din röst. Det innebär att köpa en mikrofon om du inte redan äger en. Det skulle vara ett litet mirakel om den som är inbyggd i din bärbara dator kommer att vara tillräckligt bra. Det behöver inte kosta en förmögenhet, men en rimlig, extern mikrofon som låter dig prata naturligt och spelas in på bra volym är ett absolut måste. Och en ställning för det kommer att ge utdelning.

Om du vill filma dig själv så att du syns i din screencast behöver du en kamera. Om allt det kommer att spela in är ditt huvud och axlar så att du kan ses i ett litet fönster i ena hörnet av din screencast, behöver du ingen filmkamera. Men du behöver något ett steg upp från den grundläggande inbyggda webbkameran som följde med din bärbara dator. En separat kamera gör att du kan placera den där du behöver den.

Autofokus, automatisk ljusjustering och en bra upplösningssensor är alla viktiga faktorer. Det är inte uteslutet att en kamera av bra kvalitet kan ha en mikrofon som räcker till dina behov. Så om du är ute efter en kamera och en mikrofon, skaffa kameran först och se om mikrofonen klarar uppgiften.

Korta, tysta klipp: Använd GNOMEs inbyggda inspelare

Det är värt att nämna i förbigående att om du använder GNOME skrivbordsmiljö (DE), du har tillgång till en enkel skärminspelning inbyggd direkt i din DE – men utan något ljud. Om du har ett behov av ett kort, tyst videoklipp räcker detta. Det skulle till exempel vara perfekt att skapa ett litet klipp att skicka till någon för att visa dem stegen som krävs för att reproducera en bugg.

För att börja spela in aktiviteten på skrivbordet, tryck helt enkelt på:

Ctrl+Shift+Alt+R

Skärminspelningen startar omedelbart. En röd cirkulär indikator visas i verktygets meddelandefält, nära nätverks-, ljud- och strömikonerna.

Röd 2inspelning

För att stoppa inspelningen, använd samma tangentkombination:

Ctrl+Shift+Alt+R

Inspelningsindikatorn tas bort från meddelandefältet. Din inspelning lagras i din ~/Videos-katalog med ett tidsstämplat filnamn. Filen kommer att ha filtillägget ”.webm”, vilket indikerar att den har spelats in i WebM videoformat.

Om du vill ladda upp din inspelning till YouTube, måste du konvertera den till MPEG-4 (MP4)-format. Vi kommer att se hur man gör det inom kort, med hjälp av ett annat verktyg som vi kommer att titta på som heter ffmpeg.

Observera att som standard är den maximala inspelningslängden 30 sekunder. Du kan justera det med hjälp av dconf-redigerare. Inställningen finns under org > gnome > settings-daemon > plugins > media-nycklar. Inställningen att justera kallas max-screencast-length.

Snabbt och enkelt: Spela in med recordMyDesktop

recordMydesktop är en enkel och okomplicerad skärm och ljudinspelningsverktyg. Det låter dig spela in ditt skrivbord, en del av skrivbordet eller ett specifikt programfönster.

För att installera recordMyDesktop på Ubuntu, använd det här kommandot:

sudo apt-get install recordmydesktop gtk-recordmydesktop

För att installera recordMyDesktop på Fedora, använd detta kommando:

sudo dnf install recordmydesktop gtk-recordmydesktop

För att installera recordMyDesktop på Manjaro, använd det här kommandot:

sudo pacman -Syrecordmydesktop gtk-recordmydesktop

Användargränssnittet är väldigt enkelt.

Som standard kommer recordMyDesktop att spela in hela skrivbordet. För att spela in en del av skrivbordet, vänsterklicka och dra in förhandsgranskningsminiatyren. Detta kommer att definiera en del av skärmen som kommer att användas för inspelning. För att spela in ett enskilt programfönster, klicka på knappen ”Välj fönster” och klicka sedan på programfönstret på skrivbordet.

När du är redo att spela in, klicka på ”Record”-knappen. En röd indikator visas i meddelandefältet nära nätverks-, ljud- och strömikonerna.

Vänsterklicka på indikatorn och välj ”Stopp” från menyn för att stoppa inspelningen. Inspelningen bearbetas av recordMyDesktop så att den kan sparas. Om du avbryter den här processen kommer du att förlora din inspelning.

När inspelningen har bearbetats klickar du på ”Spara som”-knappen för att spara din screencast. En ”File Save”-dialogruta låter dig välja var du vill spara inspelningen.

Inspelningen finns i ”.ogv” Ogg videoformat. Det är det enda formatet som tillhandahålls. För att konvertera filen till ett annat videoformat kan du använda nästa verktyg som vi kommer att diskutera, vilket är ffmpeg.

Från kommandoraden: ffmpeg

FFmpeg-projektet släppte sin första version av ffmpeg-verktyget år 2000. Deras ursprungliga vision för ett användbart grafik- och videokonverteringsprogram har överträffats vida. ffmpeg är nu en oerhört kapabel svit av verktyg och codecsoch används i många andra välkända applikationer som t.ex VLC, Plexoch Blandare.

Om du någonsin behöver göra en ljud- eller videoinspelning eller formatkonvertering, och du undrar om ffmpeg kan göra det, kan du sluta undra. I grund och botten är svaret ”ja”.

ffmpeg har många, många alternativ. Här är en lista över ffmpeg-alternativ som körs till över 4000 rader. Den rikedomen av rika funktionalitet utgör en ganska inlärningskurva om du vill göra något utöver enkla formatkonverteringar. Det finns inget snyggt gränssnitt för ffmpeg , men vad det saknar när det gäller gränssnitt kompenserar det för kraft, hastighet och flexibilitet. Och eftersom det är kommandoradsstyrt kan du anropa det från skript. Du kan spela in övergående utdata från obevakade kommandon eller spela in GUI-skärmaktivitet som inte kan omdirigeras till en fil.

Under vår testning var ffmpeg tvungen att installeras på Fedora 31 och Ubuntu 18.04. Den fanns redan på Manjaro 18.1.0. För att installera ffmpeg på Ubuntu, använd det här kommandot:

sudo apt-get install ffmpeg

För att installera det på Fedora krävdes tillägg av två förråd. Detta kommando kommer att registrera det första:

sudo dnf -y install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

Detta kommando kommer att registrera det andra:

sudo dnf -y install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Programmet ffmpeg kan nu installeras med detta kommando:

sudo dnf -y install ffmpeg

Hur man spelar in video och ljud med ffmpeg

För att hålla saker och ting (relativt) enkla kommer vi att göra en enkel inspelning av hela skrivbordet med ljud. Det finns en hel del parametrar vi måste tillhandahålla ffmpeg för att få detta gjort. Vi kan använda några verktyg för att hjälpa oss att hitta värdena för några av dem.

För att identifiera de tillgängliga skärmupplösningarna kan vi använda xrandr. Vi behöver inte ange några parametrar till detta kommando:

xrandr

Utgången listar alla tillgängliga skärmupplösningar.

Den nuvarande upplösningen – och högsta tillgängliga på denna testmaskin – är 1920×1080. Vi använder det.

Nu ska vi ta reda på vilken PulsAudio ljudkällor finns på denna testmaskin. Vi använder verktyget pactl och ber det att lista källorna. Syntaxen är uppfriskande enkel:

pactl list sources

Genom att bläddra igenom den detaljerade utgången kan vi se att det finns en källa #0, som är en utgångskälla. Det betyder att den producerar ljud.

Om du kontrollerar resten av utgången avslöjas en annan källa som heter källa #1. Detta är en ingångskälla.

Det betyder att källa #1 accepterar ljudingång. Detta skulle komma från en mikrofon, till exempel. Så vi kommer att använda källa #1 med ffmpeg och spela in vår röst via mikrofonen.

Här är hela ffmpeg-kommandot.

ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i 1 output.mkv -async 1 -vsync 1

Låt oss bryta ner det:

-video_size 1920×1080: Ställer in storleken på videoinspelningen. Detta är värdet vi använde xrandr för att hitta.
-framerate 25: Ställer in värdet för bildrutor per sekund.
-f x11grab: Tvinga videoformatet till en specifik typ. Här ställer vi in ​​inmatningsformatet till utdata från din X-server.
-i :0.0: Detta anger att videoingången kommer från huvudskärmen.
-f puls: Ställer in det förväntade formatet till PulseAudio.
-ac 2: Ställ in två ljudkanaler
-i 1: Ta ljudingång från PulseAudio-källa #1. Detta är värdet vi använde pactl för att upptäcka.
output.mkv: Namnet på filen vi vill skapa.
-async 1: Ställ in ljudsynkroniseringsmetoden. Detta är en föråldrad parameter, men vi använder den här för att undvika felmeddelanden som kan ignoreras.
-vsync 1: ställ in videosynkroniseringsmetoden. Detta är en föråldrad parameter, men vi använder den här för att undvika felmeddelanden som kan ignoreras.

Du kan se mycket information rulla i terminalfönstret när inspelningen sker. Minimera det här terminalfönstret eller placera huvudfönstret för programmet du pratar om ovanpå det så att det inte visas i din screencast.

För att stoppa inspelningen, skriv Ctrl+C i terminalfönstret. Om allt går bra kommer du att se ett bekräftelsemeddelande från ffmpeg som rapporterar att det avslutas normalt.

Vi satte inte en sökväg på utdatafilnamnet i ffmpeg-kommandot, så det kommer att skapas i katalogen ffmpeg startades från. I det här exemplet var det vår hemkatalog.

Konvertera videofiler med ffmpeg

Vi noterade tidigare att det föredragna videoformatet för uppladdning till YouTube är MPEG-4. Vi kan enkelt konvertera ”.mkv” till en ”.mp4”-fil med hjälp av ffmpeg. Vi säger ”konvertera”, men faktiskt skapar vi en ny fil helt och hållet. Din originalfil är orörd.

Kommandot är enkelt. Vi säger åt ffmpeg att använda originalfilen som indata, med alternativet -i (ingång). Utdatafilens filtillägg talar om för ffmpeg vilken typ av fil som ska skapas.

ffmpeg -i output,mkv output.mp4

En ny fil skapas med filtillägget ”.mp4”.

För att konvertera vår screencast som spelades in med Ctrl+Shift+Alt+R-metoden till MPEG-4 videoformat, använd det här kommandot:

ffmpwg -i "Screencast from 11-02-19 10:47:05.webm" output.mp4

Kapabel men användarvänlig: Använd OBS Studio

Om du letar efter något som har fler funktioner än recordMyDesktop och som är lättare att köra än ffmpeg, Öppna Broadcaster Software Studio (OBS Studio) kryssar i alla rutorna.

Installera OBS Studio på Ubuntu med detta kommando:

sudo apt-get install obs-studio

Installera OBS Studio på Fedora med detta kommando:

sudo dnf install obs-studio

Installera OBS Studio på Manjaro med detta kommando:

sudo pacman -Sy obs-studio

Hur man använder källor och scener i OBS Studio

OBS Studio har ett stort arbetsområde och en samling rutor längs applikationens botten.

Var börjar man?

För att sätta mjukvaran igenom dess takt behövde jag ett mål, någon slutpunkt som jag kunde försöka uppnå. Det verkade vettigt att se en bra screencast och sedan försöka replikera deras produktion. Screencasten jag använde som mall visade ett skrivbord med flera öppna applikationer på. Det fanns ett litet infällt fönster som visade en vy av presentatören. Ibland ändrades displayen för att visa en inzoomad vy av ett enda fönster. Detta gjorde att en speciell detalj kunde diskuteras. En voiceover gav berättelsen.

Allt detta var förvånansvärt lätt att replikera i OBS Studio, på grund av dess koncept med scener och källor. En källa i OBS är något som producerar ljud eller video. Ditt skrivbord, ett fönster på skrivbordet, en webbkamera, en utgående ljudkälla och en ingångsljudkälla som en mikrofon är alla giltiga källor.

En samling källor kan kombineras till en scen. Flera scener kan skapas som innehåller olika kombinationer av källor. Hoppa mellan scenerna görs med ett enda musklick.

För att skapa en scen, högerklicka i rutan ”Scener” och klicka på ”Lägg till” i snabbmenyn. Ange ett namn för scenen i dialogrutan ”Lägg till scen” och klicka på knappen ”OK”.

Scenerna du skapar listas i rutan ”Scener”.

Vi har skapat två scener, en för den sammansatta vyn för skrivbordet och webbkameran, och en för den inzoomade vyn av terminalfönstret. Vi måste lägga till några källor till dessa scener. Vi kommer att använda scenen ”Zooma på terminalfönstret”. För att lägga till källor till en scen, välj den i rutan ”Scener” och högerklicka sedan i rutan ”Källor”. Klicka på ”Lägg till” i snabbmenyn.

Menyn låter dig lägga till bilder, ljudingångar och utgångar, programfönster, videokällor och andra element som du kanske vill inkludera i skärmsändningen. Vi ska fånga ett fönster. Klicka på menyalternativet ”Window Capture (Xcomposite)”.

I dialogrutan ”Skapa/välj källa”, skapa ett namn för källan och klicka på knappen ”OK”.

I dialogrutan ”Egenskaper för Window Capture” använder du rullgardinsmenyn ”Fönster” för att välja det fönster du vill lägga till i scenen och klicka på knappen ”OK”.

Låt oss upprepa det och lägga till en källa för mikrofonen. Högerklicka i rutan ”Källor” och klicka på ”Lägg till” i snabbmenyn. Testmaskinen som används för att undersöka den här artikeln PulsAudio. Om du använde ett annat schema som t.ex Avancerad Linux ljudarkitektur (ALSA), skulle du välja olika alternativ. Vi valde ”Audio Input Capture (PulseAudio)” från menyn.

I dialogrutan ”Skapa/välj källa”, ge källan ett namn och klicka på knappen ”OK”.

I dialogrutan ”Egenskaper för ’Audio Input Capture (Pulse Audio)'” använder du rullgardinsmenyn ”Enhet” för att välja den ljudenhet som din mikrofon är ansluten till. Klicka på knappen ”OK”.

Din ”Källor”-ruta bör nu ha två källor i den, för den aktuella scenen.

Det finns en hel del finjusteringar du kan tillämpa på dina källor. Till exempel, i rutan ”Audio Mixer”, högerklickar du på inställningsikonen för mikrofonen för att få upp en snabbmeny.

Om du väljer ”Filter” visas dialogrutan ”Filter för ’mikrofon'”.

För att lägga till ett filter, högerklicka i den vänstra rutan och välj ”Lägg till” från snabbmenyn. Varje filter har egenskaper som kan justeras.

Genom försök och misstag bestämde vi oss för ett urval av filter och inställningar som fungerade bra med testmikrofonen. Vi uppnådde en bra balans mellan klarhet och volym och en minskning av bakgrundsljudet.

Att skapa en andra scen var lika enkelt. Skrivbordet vi spelade in kördes i en virtuell maskin. Det lades enkelt till sin scen genom att lägga till i fönstret som hela den virtuella maskinen kördes i. Webbkameran lades till som en videokälla och drogs och storleksanpassades för att sitta i hörnet av skärmen. Här är utsikten publiken skulle få:

Att flytta mellan de två scenerna är så enkelt som att klicka på scenens namn i rutan ”Scener”. Den inzoomade terminalscenen gav en helskärmsvy av Topp kommando i ett terminalfönster.

Även om det kan göra det, avråder OBS Studio från att spela in i MPEG-4-format. Om något går fel riskerar du att förlora din fil. Istället råder de dig att spela in FLV eller MKV.

Om du behöver leverera din screencast i ett annat videoformat kan OBS Studio göra omvandlingarna åt dig, eller så kan du naturligtvis använda ffmpeg.

Ljus, kamera, kör

Du kanske aldrig kommer till Hollywood, men om du behöver leverera en välproducerad screencast har Linux alla verktyg du behöver.