Za tiste, ki ne vedo, a screencast gre za digitalni posnetek izpisa računalniškega zaslona, ki včasih vsebuje zvočno pripoved.
En Linux, obstaja več orodja narediti predvajanje zaslona. Vendar tisti, ki to raje počnejo porabi minimalna sredstva tega članka ne morejo nehati brati. |
Z dvema orodjema (ffmpeg za zajem zaslona in xwininfo za pridobitev koordinat in dimenzij okna, ki ga je treba posneti) mi je uspelo narediti predvajanje zaslona z minimalnimi sredstvi in doseči optimalne rezultate.
Skript za začetek predvajanja zaslona
#! / Bin / bash
# Pridobite koordinate in velikost izbranega okna
# To izključuje dekoracijo oken.
razveljavi xywh
eval $ (xwininfo -frame |
sed -n -e "s / ^ + Absolutni zgornji levi X: + ([0-9] +). * / x = 1 / p"
-e "s / ^ + Absolutni zgornji levi Y: + ([0-9] +). * / y = 1 / p"
-e "s / ^ + Širina: + ([0-9] +). * / w = 1 / p"
-e "s / ^ + Višina: + ([0-9] +). * / h = 1 / p")
$ w = $ w + $ w% 2 # da je širina večkratnik 2, sicer se ffmpeg pritožuje
WIN_XY = $ x "," $ y # format XY koordinate
WIN_GEO = $ w "x" $ h # velikost okna formata
# notify-send bo prikazal sporočilo, ki označuje začetek predvajanja zaslona.
# zaženite ffmpeg s parametri, ki ustrezajo vaši konfiguraciji.
notify-send "Starting screencast ..." && ffmpeg -f alsa -i hw: 0 -f x11grab -r 25 -s $ WIN_GEO -i: 0.0 + $ WIN_XY -acodec libmp3lame -async 1 -vcodec libx264 -preset ultrafast - crf 0-niti 0 shrani.mp4
Ni vam treba popolnoma razumeti vsega, kar počne ta skript. Preprosto sledenje komentarjem je dovolj. Vendar je zelo mogoče, da boste morali spremeniti nekatere parametre v vrstici, kjer se izvaja ffmpeg, da jih prilagodite konfiguraciji vaše naprave.
Zvočna arhitektura
1) Če uporabljate OSS, zamenjajte -f alsa -i hw: 0 z -f oss -i / dev / dsp
2) Če uporabljate samo ALSA, morate uporabiti parametre, ki so v skriptu (-f alsa -i hw: 0). Če želite določiti številko po hw: lahko zaženete aplay -l in izberete ustrezno številko zvočne kartice.
3) Če uporabljate Pulse Audio (Ubuntu in derivati uporabljajo to), uporabite parametre -f alsa -ac 1 -i pulse.
FPS
-r 25 označuje fps (sličice na sekundo ali sličice na sekundo), pri katerih želite snemati. 25 je dobra možnost.
Zvočni, video in sinhronizacijski kodek
-acodec libmp3lame je zvočni kodek. Odločil sem se, da ga posnamem v mp3. Uporabite lahko katero koli drugo.
-async 1 omogoča sinhronizacijo zvoka z videom.
-vcodec libx264 -preset ultrafast -crf 0 -threads 0, sporoča ffmpeg, da je uporabljen video kodek x264 in da je prednastavitev ultrahitra (obstaja hitra, počasna itd.), sicer ne bo pravilno snemala na želeno količino fps. Parameter -crf 0 označuje stopnjo stiskanja (nižja kot je stiskanje, nižja je stiskanje). Končno, niti 0 označujejo število niti, ki jih je treba uporabiti, ko jih prenese 0, jih samodejno izračuna. Tako kot pri zvočnih nastavitvah lahko izberete tudi druge možnosti.
Vse te nastavitve so mi prinesle najboljše rezultate: razmeroma majhna datoteka, dobra kakovost videa, sinhroniziran zvok in brez zaostankov. Vendar vam priporočam, da se potopite v dokumentacijo ffmpeg, da odkrijete druge.
Skript za zaključek predvajanja zaslona
#! / Bin / bash
notify-send "Končni prenos zaslona ..." && killall ffmpeg
ffcast
V iskanju informacij za pisanje scenarijev sem odkril, da je nekdo imel idejo, ki je zelo podobna moji. Ffcast je skript, ki uporablja ista orodja (ffmpeg in xwininfo). Omenjam ga, ker se nekaterim zdi bolj priročno uporabljati ta skript.
V Archu in derivativih sem odprl terminal in zagnal:
yaourt -S ffcast
Ostalo lahko prenesete iz tukaj.
Na konec…
Ko ustvarite in shranite skripte, shranjene v mapi HOME, mu morate dodeliti dovoljenja za izvajanje. Ob predpostavki, da sta poklicana start_screencast in finish_screencast, v terminalu zaženite naslednje ukaze:
chmod + x start_screencast
chmox + x terminate_screencast
Na koncu ostane samo, da vsako skriptu dodelite dvema bližnjicama (bližnjicama), ki sta za vas udobni. Tako se skripti izvedejo, ko pritisnete izbrano kombinacijo tipk.
Odkar sem spoznal Linux, sem se vprašal popolnoma enako, kar je bilo pravkar podrobno opisano v tem komentarju. to bi bil ambiciozen projekt.
Menim, da je vadnica dobra, toda kako reči kaj lahkotnega za uporabnike začetnike? No, najboljši se mi zdi KAzam, enostaven za uporabo in po mojem mnenju ne porabi veliko !!!!!! Na zdravje
Ne vsi. Prav tako resnično verjamem, da ni dobrega vmesnika za predvajanje zaslona (ki vsebuje vse, kar potrebujem), ki bi deloval s formati, ki jih želim, in bi porabil malo virov.
V mojem primeru je terminal najboljša možnost. Ne pretvarjam se, da je namenjen vsem, vendar je dobro, če delimo to, kar se učimo, kajne?
Na zdravje! Paul.
Napačno je, da če želimo razširiti operacijski sistem pod GNU / linux, uporabnikom svetujemo, naj to storijo v terminalu, da ljudje želijo nekaj preprostega in funkcionalnega
@ingjorgerocha
Na ravni strežnika uporabljam tudi samo konzolo, nobenega grafičnega okolja ... je najbolj praktično in delam vse od tam (avtomatiziram varnostne kopije, na primer, kot pravite ...), toda na računalniku, ki ga imate kot strežnik ... kaj želite narediti screencast na njem? hehe..ffmpeg je zelo veljaven, vendar mislim, da mora težava s konzolo iti v ozadje, odvisno od katere distribucije.
Ker imamo v svetu Linuxa tako raznolike distribucije in je konzola dovolj izpopolnjena za pravilno delovanje v vseh situacijah (skorajda je nezmotljiva ..), bi morali začeti izboljševati aplikacije za javnost, začeti za poliranje, kodo in grafični vidik ... kar se danes zahteva.
Imamo precej arhaične in zapuščene Linuksove projekte, vsi vemo, da ... dober primer zame je, zakaj ni več izvedljive datoteke, ki bi vam omogočala, da vzamete program na pendrive in preprosto dvokliknete in preprosto namestite poleg tega, da potrebujemo repozitorije (in s tem tudi omrežje) .. brez APTonCD, je tudi to zastarelo .. potrebujemo standard, ".tux" ali kaj podobnega ".exe" sistema Windows. Ali je to vprašanje prostora ? .. v operacijskem sistemu Windows zasedba Gimp zaseda 72 MB, enaka za Linux (.deb) pa 4,2 MB ... zakaj je to? No, ker sam program Gimp v sistemu Windows spremljajo vse knjižnice, da se prepriča, da program deluje ob namestitvi ... v Linuxu bi lahko imeli nekaj istega, več bi zasedli izvršljivi program, izgubili bi prednost velikosti, vendar bi pridobili na prenosljivosti (in bolj s tako velikimi spomini, ki jih danes nosimo v žepih ... kakšna je razlika, če nosimo 4 MB kot 72 MB, če skoraj vsi nosimo 8 GB nosilcev?)
Vse te stvari je treba polirati ... sistem je stabilen, ima veliko podporo in združljivost z gonilniki ... zakaj ne bi izboljšali tega, kar obstaja? ... če koga spodbujamo, začnemo izvedljiv projekt hehe. !
Hm ... no, ljudje, ki imajo radi konzolo, je nimajo radi, ker dragi prijatelj, obožujejo jo, ker je z njo mogoče marsikaj avtomatizirati, na primer na ravni strežnika (čeprav temu ni tako).
Iskreno povedano, konzola je zelo koristna ... obstajajo pa programi z nekaj GUI, ki uporabljajo ffmpeg in so bolj privlačni in konstruktivni za morebitne nove uporabnike Linuxa ... Priporočam RecordMyDescktop, ki je v repozitorijih skoraj vseh distribucij. Vem, da je veliko ljudi, ki imajo radi konzolo, vendar je treba to končati s čim več ... Linux mora biti osredotočen na namizje in morebitnega končnega uporabnika, ki si tega v osnovi želi, grafični vmesnik in po možnosti lep in praktičen ... je to tako težko? da na nas ne moremo stopiti .. Linux ima izjemen potencial in ga moramo iztisniti!
Kljub vsemu je odličen program! Dobra objava ^^
Resnica je, da da, čudovito je deliti to, kar se človek nauči ... To ni kritika v razvrednotilnem smislu prispevka, ampak kritika, zakaj več ljudi ne uporablja Linuxa ... karkoli rečejo, konzolo je treba zmanjšati na drugo ravnino, ki se umakne grafičnim objektom (to ne pomeni, da je izključena možnost izvajanja stvari s pomočjo konzole, ampak da, kdor jo hoče uporabiti in kdo ne, no ...
Na koncu je tisto, kar prodaja, presenetljivo preprosto upravljanje operacijskega sistema ... Linux je notranje neustavljiv, če pa k temu dodamo enostavnost uporabe in intuitivne vmesnike ... pridobimo uporabnike in to Koristi razvoj skupnosti, različni programi, podpora podjetij za videoigre in s tem posebna strojna oprema (recimo grafične kartice ...), ustvarjanje posebne programske opreme, ki trenutno obstaja samo na Windows / Mac ... Ne vem, mislim to je v načrtu 15 milijonov ... vse zelo lepo, zdaj pa je čas, da malo spremenimo smer ... in rečem malo!
No, standardni izvedljivi projekt v Linuxu še vedno stoji, če ga kdo prebere in želi, da začnemo sodelovati, tukaj je moj e-poštni naslov, ne skrivam hehe (whysoyjuan@gmail.com)
Lep pozdrav in upam, da bom tu videl več komentarjev ... naj bodo to kritike ali pohvale, dejstvo je, da se moramo pogovarjati.
Dobro! Dober prispevek.
Objem! Paul.
Iz česa je sestavljen ta program ... bodite previdni, glede tega nisem preveč razgledan!
Na splošno se uporablja za pretvorbo videoposnetkov. V tem primeru vam predstavimo, kako ga lahko uporabite za snemanje namizja in na primer video vadnico.
Objem! Paul.
Hvala vam. V ločljivosti, npr. 1280X800, mora biti črka X velika, da bo ukaz ffmpeg deloval.