Ero sivun ”Käyttäjä:Ninnnu/Screencasthowto” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(Työversio, päätynee kohta johonkin oikeaan paikkaan.)
(ei mitään eroa)

Versio 28. maaliskuuta 2013 kello 21.09

Screencast on nimitys oman työpöydän nauhoitukseta ja mahdollisesti live-lähettämisestä Internettiin, mikin kanssa tehdyllä selostuksella tai ilman. Tässä artikkelissa kuvataan live-lähetyksen pystytys käyttäen ffmpegiä, crtmpserveriä ja PulseAudiota. Katseluun voidaan käyttää esimerkiksi JW playeriä tai Flowplayeria. Kaikki seuraavat komennot on annettava komentorivillä.

Lähetys

Lähetyskomento: ffmpeg -f x11grab -s 1280x1024 -r 30 -i :0.0+0,0 -f alsa -i pulse -vcodec libx264 -crf 20 -preset veryfast -minrate 150k -maxrate 500k -s 640x480 -vf "lutyuv=y=val*1.15" -acodec libmp3lame -ar 44100 -ab 128000 -threads 0 -f flv -metadata streamName="StriiminNimi" tcp://crtmpserverosoite:6666

Selitteet kohdille jotka voi vaatia muokkaamista (kursivoitu):

  • -f x11grab -s 1280x1024 - Kaapattavan lähteen resoluutio. Jos alue on pienempi kuin näytön resoluutio, kaapataan vasemmasta yläkulmasta sopivan kokoinen pala.
  • jälkimmäinen -s 640x480 - Lähetettävän kuvan resoluutio. Kaapattu kuva (määritelty edellisessä kohdassa) skaalataan tähän kokoon.
  • -vf "lutyuy=y=val*1.15" - Videofiltterit joilla lähetettävää kuvaa käsitellään. Tässä esimerkissä asetetaan gamma 1.15 kertaiseksi.
  • streamName="StriiminNimi" - Striimin nimi, määrittää myöhemmässä vaiheessa RTMP-osoitteen josta asiakkaiden JWPlayer/FlowPlayer hakee striimin.

Useampi äänilähde (PulseAudiolla)

Jos haluat lähettää esimerkiksi pelin äänet oman selostuksen kanssa, sinun pitää yhdistää nämä äänilähteet PulseAudion kautta.

  1. Selvitä ensin äänilaitteiden nimet.
    1. Mikki: pactl | grep input, sieltä löytynee rivi jossa lukee "Nimi: alsa_input.pci-0000_00_14.2.analog-stereo", tämä on mikin laite. Jos äänikortteja on useampi, myös tämän kaltaisia rivejä on usaempi. Valitse sopiva.
    2. Ohjelmien äänet: pactl |grep monitor. Tulosteessa pitäisi olla rivi muotoa "Monitor Source: alsa_output.pci-0000_00_14.2.analog-stereo.monitor".
  2. Käynnistä pacmd
    1. Uuden tyhjän äänilähteen luominen ja laitteiden lisäys siihen:
load-module module-null-sink sink_name=mywiretap 
load-module module-loopback source=alsa_output.pci-0000_00_14.2.analog-stereo.monitor sink=mywiretap
load-module module-loopback source=alsa_input.pci-0000_00_14.2.analog-stereo sink=mywiretap
  1. Sulje pacmd esim. painamalla Ctrl+d
  2. (Asenna ja) Käynnistä pavucontrol.
    1. Valitse välilehti "Sisääntulolaitteet", sinne on ilmestynyt uusi laite nimeltä "mywiretap". Aseta se ensisijaiseksi klikkaamalla vihreää ympyrää.

Palvelin

  1. Debian-pohjaisisten levitysversioiden pakettivarastosta löytyy paketti crtmpserver. Se kelpaa hyvin (tai ainakin Debian 6.0.7:n versio on toiminut). (sudo apt-get install crtmpserver)
  2. Valmis. Muuta konfiguroimista ei välttämättä tarvitsekkaan tehdä. Tärkeintä on vain varmistaa että tiedostossa /etc/crtmpserver/crtmpserver.lua (Ubuntussa /etc/crtmpserver/enabled_applications.conf/tt>) on flvplayback asetettuna käyttöön.

Katselusivu

Tässä esimerkissä käytetään FlowPlayeria, mutta myös JWPlayer kelvannee.

  1. Hae FlowPlayer Flash osoitteesta http://flash.flowplayer.org/download/
  2. Hae sille kaveriksi RTMP-plugin täältä
  3. Muokkaa vaikka FlowPlayerin esimerkkisivua niin, että soittimen määrittely näyttää suunnilleen tältä:
<script>        
flowplayer("player", "flowplayer/flowplayer-3.2.15.swf", { 
   play:                   
   {                       
       opacity: 0.0,           
       label: null, // label text; by default there is no text
       replayLabel: null, // label text at end of video clip
   },                      
       clip: {url: 'StriiminNimi',
       live: true,         
       start: 0,           
       autoPlay: true,     
       provider: 'influxis',
   },                      
   canvas: {
       backgroundImage: 'url(image/offline.png)'
   },                      
   plugins: {              
       influxis: {             
           url: "flowplayer/flowplayer.rtmp-3.2.11.swf",
           netConnectionUrl: 'rtmp://crtmpserverinosoite/flvplayback/'
       }                       
   }                       
}                                          
);                                                         
</script>

Näytön kuva (ja äänet) pitäisi nyt rullata selaimessa.