Kuinka tehdä kuvaruutu käyttämällä ffmpeg-tiedostoa

Niille, jotka eivät tiedä, a screencast se on digitaalinen tallennus tietokoneen näytön ulostulosta, joskus sisältää äänikertomuksen.

En Linux, on useita työkalut tehdä kuvien lähettäminen. Ne, jotka haluavat tehdä niin kuluttaa vähän resursseja he eivät voi lopettaa tämän artikkelin lukemista.


Käyttämällä kahta työkalua (ffmpeg kuvaruudun sieppaamiseksi ja xwininfo tallennettavan ikkunan koordinaattien ja mittojen saamiseksi) onnistuin tekemään kuvaruutuverkkoja käyttämällä mahdollisimman vähän resursseja ja optimaalisia tuloksia.

Scripts aloittaa kuvaruudun

#! / Bin / bash

# Hae valitun ikkunan koordinaatit ja koko
# Tämä sulkee pois ikkunan koristelun.
  poista xywh
  eval $ (xwininfo-kehys |
    sed -n -e "s / ^ + Absoluuttinen vasen yläkulma X: + ([0-9] +). * / x = 1 / p"
           -e "s / ^ + Absoluuttinen vasen yläkulma Y: + ([0-9] +). * / y = 1 / p"
           -e "s / ^ + Leveys: + ([0-9] +). * / w = 1 / p"
           -e "s / ^ + Korkeus: + ([0-9] +). * / h = 1 / p")
$ w = $ w + $ w% 2 # että leveys on 2: n kerroin, muuten ffmpeg valittaa
WIN_XY = $ x "," $ y # muotoilevat XY-koordinaatit
WIN_GEO = $ w "x" $ h # muodossa ikkunan koko
# Ilmoita-lähetä näyttää viestin, joka ilmaisee kuvaruudun alkamisen.
# aja ffmpeg asetuksillesi sopivilla parametreilla.
ilmoita-lähetä "Aloitusnäytönlähetys ..." && ffmpeg -f alsa -i hw: 0 -f x11grab -r 25 -s $ WIN_GEO -i: 0.0 + $ WIN_XY -acodec libmp3lame -async 1 -vcodec libx264 -esiasetettu ultranopea - crf 0 -langat 0 save.mp4

Sinun ei tarvitse täysin ymmärtää kaikkea tätä komentosarjaa. Pelkkä kommenttien seuraaminen riittää. On kuitenkin hyvin mahdollista, että joudut muuttamaan joitain parametreja rivillä, jossa ffmpeg suoritetaan, jotta ne voidaan säätää koneesi kokoonpanoon.

Ääniarkkitehtuuri

1) Jos käytät OSS: ää, korvaa -f alsa -i hw: 0 sanoilla -f oss -i / dev / dsp

2) Jos käytät vain ALSAa, sinun on käytettävä komentosarjassa olevia parametreja (-f alsa -i hw: 0). Numeron määrittäminen hw: n jälkeen: voit suorittaa aplay -l ja valita sopivan äänikortin numeron.

3) Jos käytät Pulse Audio -ohjelmaa (Ubuntu ja johdannaiset käyttävät tätä), käytä parametreja -f alsa -ac 1 -i pulssi.

FPS

-r 25 ilmaisee fps (kuvat sekunnissa tai kuvat sekunnissa), jolla haluat tallentaa. 25 on hyvä vaihtoehto.

Ääni-, video- ja synkronointikoodekki

-acodec libmp3lame on äänikoodekki. Päätin tallentaa sen mp3-muodossa. Voit käyttää mitä tahansa muuta.

-async 1 mahdollistaa äänen synkronoinnin videon kanssa.

-vcodec libx264 -esiasetettu ultranopea -crf 0 -langat 0, kertoo ffmpegille, että käytettävä videokoodekki on x264 ja että esiasetus on ultranopea (on nopea, hidas jne.), muuten se ei tallenna oikein haluttu määrä fps. Parametri -crf 0 osoittaa pakkaustason (mitä pienempi pakkaus, sitä pienempi pakkaus). Lopuksi säikeet 0 ilmaisee käytettävien säikeiden lukumäärän, kun ohitettu 0 ffmpeg laskee sen automaattisesti. Kuten ääniasetuksissa, voit valita muita vaihtoehtoja.

Kaikki nämä asetukset antoivat minulle parhaat tulokset: suhteellisen pieni tiedosto, hyvä videolaatu, synkronoitu ääni ja viiveitä. Suosittelen kuitenkin, että sukelat ffmpeg-ohjeisiin muiden löytämiseksi.

Ohjelma lopettaa näyttöruudun

#! / Bin / bash
ilmoita-lähetä "Näytön lähetyksen lopettaminen ..." && killall ffmpeg
Jotta molemmat komentosarjat toimisivat, sinulla on oltava asennettuna ilmoitus-lähetys. Kaikkien Ubuntusta johtuvien jakelujen tulee olla asennettuna tämän työkalun kanssa. Archissa ja johdannaisissa: sudo pacman -S libnotify.

ffcast

Etsitkö tietoa käsikirjoitusten kirjoittamiseksi, huomasin, että jollakin oli idea, joka oli hyvin samanlainen kuin minun. Ffcast on komentosarja, joka käyttää samoja työkaluja (ffmpeg ja xwininfo). Mainitsen sen, koska joillekin saattaa olla helpompaa käyttää tätä komentosarjaa.

Archissa ja johdannaisissa avasin päätelaitteen ja juoksin:

yaourt -S ffcast

Loput voit ladata osoitteesta täällä.

Loppuun…

Kun olet luonut ja tallentanut HOME-kansioon tallennetut komentosarjat, sinun on myönnettävä sille suoritusoikeudet. Olettaen, että aloitus_näyttö ja loppu_näyttö on kutsuttu, suorita seuraavat komennot päätelaitteessa:

chmod + x start_screencast
chmox + x terminate_screencast

Lopuksi, jäljellä on vain määrittää jokainen komentosarja 2 mukavaan pikakuvakkeeseen. Tällä tavalla komentosarjat suoritetaan, kun painat valittua näppäinyhdistelmää.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   Michael Sp dijo

    Koska olen oppinut tuntemaan Linuxin, olen pyytänyt itseltäni täsmälleen samaa asiaa, joka on juuri selostettu tässä kommentissa. se olisi kunnianhimoinen projekti.

  2.   pmf dijo

    Luulen, että opetusohjelma on hyvä, mutta miten sanot jotain aloitteleville käyttäjille helppoa? No, minusta tuntuu parhaimmalta, on KAzam, sitä on helppo käyttää eikä se kuluta mielestäni paljon !!!!!! Kippis

  3.   Käytetään Linuxia dijo

    Ei kaikki. Lisäksi uskon rehellisesti, että kuvaruudussa ei ole hyvää käyttöliittymää (siinä on kaikki mitä tarvitsen), joka toimii haluamiesi muotojen kanssa ja joka vie vähän resursseja.

    Minun tapauksessani pääte on paras vaihtoehto. En väitä, että se on kaikille, mutta on hyvä kertoa, mitä opitaan, eikö?

    Kippis! Paul.

  4.   Jorge Rocha dijo

    On väärin, että jos haluamme laajentaa käyttöjärjestelmää GNU / linux-käyttöjärjestelmässä, suosittelemme käyttäjiä tekemään sellaisia ​​asioita terminaalissa, ihmiset haluavat jotain helppoa ja toimivaa

    @tanssi

  5.   miksi soyjuan dijo

    Palvelintasolla käytän myös vain konsolia, ei graafista ympäristöä ... se on käytännöllisintä ja teen kaiken sieltä (automatisoi esimerkiksi varmuuskopiot, kuten sanot ...), mutta koneellasi, jolla sinulla on palvelin ... mihin haluat tehdä kuvaruudun? hehe..ffmpeg on erittäin pätevä, mutta mielestäni konsoli-ongelman pitäisi mennä taustalle riippuen siitä, mitkä jakelut.
    Koska meillä on niin monenlaisia ​​distroja Linux-maailmassa, ja konsoli on riittävän täydellinen, jotta se toimisi kunnolla kaikissa tilanteissa (se on melkein erehtymätön ..), meidän pitäisi alkaa parantaa sovelluksia yleisölle, aloittaa kiillottaa, koodata ja graafisesti ... mitä vaaditaan tänään.
    Meillä on melko arkaaisia ​​ja hylättyjä Linux-projekteja, me kaikki tiedämme, että ... hyvä esimerkki minulle on, miksi ei ole enää suoritettavaa tiedostomuotoa, jonka avulla voit viedä ohjelman pendriveen ja yksinkertaisesti kaksoisnapsauttaa ja yksinkertaista Asennus ei edellytä arkistojen (ja siten verkon) vaatimista .. ei APTonCD: tä, myös tämä on vanhentunutta .. tarvitsemme standardin, ".tux" tai jotain vastaavaa kuin Windowsin ".exe". Onko kyse avaruudesta? .. Windowsissa Gimp-suoritustiedosto on 72mb ja sama Linuxille (.deb) 4,2mb ... miksi tämä on? No, koska itse Gimp-ohjelma, sen mukana ovat kaikki kirjastot Windowsissa varmistaakseen, että ohjelma toimii asennettuna ... Linuxissa meillä voi olla jotain samaa, suoritettava tiedosto vie enemmän, menetämme edut koko, mutta siirrettävyys lisääntyy (ja enemmänkin muistojen ollessa niin suuria, että kuljemme tänään taskuissamme ... mitä eroa on 4 megatavun kuin 72 megatavun kantamisella, jos melkein kaikilla meillä on 8 gigatavun kynäasemia?)
    Kaikki nämä asiat on hiottava ... järjestelmä on vakaa, sillä on suuri tuki ja ajurien yhteensopivuus ... miksi emme paranna sitä mitä on? ... jos joku kannustetaan, aloitamme suoritettavan projektin hehe. !

  6.   hidabe dijo

    Uhm ... No, ihmiset, jotka rakastavat konsolia, eivät rakasta sitä, koska rakas ystäväni, he rakastavat sitä, koska sen avulla monet asiat voidaan automatisoida esimerkiksi palvelintasolla (vaikka näin ei ole).

  7.   miksi soyjuan dijo

    Rehellisesti, konsoli on erittäin hyödyllinen ... mutta on ohjelmia, joissa on joitain käyttöliittymiä, jotka käyttävät ffmpegiä ja ovat houkuttelevampia ja rakentavampia mahdollisille uusille Linux-käyttäjille ... Suosittelen RecordMyDescktopia, joka on melkein kaikkien distrojen arkistoissa. , mutta tämä on viimeisteltävä mahdollisimman paljon ... Linuxin on keskityttävä työpöydälle ja mahdolliselle loppukäyttäjälle, joka haluaa sen pohjimmiltaan graafisen käyttöliittymän ja mahdollisuuksien mukaan kauniin ja käytännöllisen ... onko se niin vaikeaa? ei voi astua .. Linuxilla on valtava potentiaali, ja meidän on puristettava sitä!
    Kaikesta huolimatta se on hieno ohjelma! Hyvä viesti ^^

  8.   miksi soyjuan dijo

    Totuus on, kyllä, on hienoa jakaa oppimansa ... Tämä ei ole kritiikki virkan devalvoivassa merkityksessä, vaan kritiikki siitä, miksi useammat ihmiset eivät käytä Linuxia ... mitä he sanovatkin, konsoli tulisi pienentää toiseen tasoon, jotta graafisten tilojen käyttö olisi mahdollista (tämä ei tarkoita, että mahdollisuus tehdä asioita konsolilla on suljettu pois, mutta kuka haluaa käyttää sitä ja kuka ei, no, ei ..)
    Päivän lopussa mikä myy, mikä on silmiinpistävää, on käyttöjärjestelmän helppous ... Linux on sisäisesti pysäyttämätön, mutta jos lisäämme siihen helppokäyttöisyys ja intuitiiviset käyttöliittymät ... voitamme käyttäjiä ja että siitä on hyötyä yhteisön kehittäminen, erilaiset ohjelmat, videopeliyritysten tuki ja siten erityinen laitteisto (esimerkiksi näytönohjaimet ...), erikoistuneiden ohjelmistojen luominen, joita on tällä hetkellä vain Windows / Macissa ... en tiedä, en luulen, että tämä on 15 miljoonan suunnitelmassa ... kaikki erittäin mukavaa, mutta nyt on aika muuttaa kurssia hieman ...

    No, tavallinen suoritettava projekti Linuxissa on edelleen voimassa, jos joku lukee sen ja haluaa meidän aloittavan yhteistyön, tässä on sähköpostini, en piilota hehe (whysoyjuan@gmail.com)

    Terveisiä ja toivon voivani nähdä lisää kommentteja täällä ... olipa sitten kritiikkiä tai kiitosta, tosiasia on, että meidän on puhuttava.

  9.   Käytetään Linuxia dijo

    Hyvä! Hyvä panos.
    Halata! Paul.

  10.   Gerardo dijo

    Mistä tämä ohjelma koostuu ... ole varovainen, en ole kovin tietoinen tästä!

    1.    käytetään Linuxia dijo

      Yleensä sitä käytetään videoiden muuntamiseen. Tässä tapauksessa osoitamme, kuinka sitä käytetään esimerkiksi työpöydän tallentamiseen ja video-opetusohjelman tekemiseen.
      Halata! Paul.

  11.   tarribalis dijo

    Kiitos. Tarkkuudessa, esim. 1280X800, X on merkittävä isolla, jotta ffmpeg-komento toimii.