2007-10-29

Lühike õpetus

...kuidas salvestada oma lemmiksaadet, kui televiisor on üles öelnud ja videomakki pole õieti nagu olemaski.

Midagi peab ikka olema. Vaja on Elioni DigiTV-d ja ühte Linuxi masinat. Mina kasutasin Debiani ja konkreetsed näited on sellele kohandatud.

Kõigepealt vajame sellist programmi nagu VLC Media Player
. Kui ei ole siis (Debianis ja ruuduna muidugi) apt-get install vlc. VLCga teleka vaatamiseks tuleb arvuti võrgujuhe ühendada ruuteri kollase täpiga tähistatud (neljandasse) pessa. ETV on aadressil udp://@239.3.1.1:1234 (Open Network stream, UDP/RDP Multicast, address 239.3.1.1, port 1234), kanal 2 address 239.3.1.2 jne. Kogu playlisti on võimalik tõmmata näiteks siit: http://hot.ee/fenrisulv/iptv.m3u.txt
. Päris hea juhatus VLC abil digitv vaatamiseks on näiteks siin: http://wiki.hinnavaatlus.ee/index.php/Elioni_DigiTV.

Lindistamine ettemääratud ajal


Selleks, et aja peale lindistada, on vist kõige lihtsam kirjutada kaks rida crontabi. Kuigi crontabi rida on natuke veider minumeelest, ei ole see liiga keeruline. Esimene väli on minutid, teine tund, kolmas kuupäev, neljas kuu, viies nädalapäev, kuues käsk mida soovitakse käivitada. Kui on soov, et samal ajal saaks ka lindistatavat ekraanil vaadata, siis tuleb võimaldada näitamist ja lindistamist ühel ajal ja crontabi faili DISPLAY muutuja defineerida.

Selleks, et lindistamine lõppeks, tuleb crontabi kirjutada rida lõpetamise kohta, selleks sobib näiteks käsk killall -3, mis saadab kõigile vlc protsessidele lõpetamissignaali.

Olgu meil näiteks

Olgu meil näiteks vaja lindistada homset saadet "Jumal tänatud, et sa siin oled". Aadressilt www.kava.ee saame teada, et ta algab kell 19:35, lõppeb kell 20:30, kuupäev on homme 10, kuu 11, nädalapäev 6. Käsuga crontab -e saame oma isiklikku crontabi faili redigeerida, crontab -l seda vaadata. Niisis, selleks et homne "Jumal tänatud, et sa siin oled" saaks lindistatud, peaks crontabi fail välja nägema vähemalt nii:


# m h dom mon dow command
DISPLAY=":0"
35 19 10 11 6 vlc -vvv udp://@239.3.1.2 --sout '#transcode{vcodec=mp4v,vb=1024,scale=1,acodec=mpga,ab=192,channels=2}:duplicate{dst=std{access=file,mux=mp4,dst="jt.mp4"}}'
30 20 10 11 6 killall -3 vlc



Hoiatused ja vabandused

  • Nagu ikka, garantiid ei anna. Kasutamine omal vastutusel. See on siia üles pandud heas usus ja minul ta töötab.
  • '#transcode jne. on eelmise rea jätk
  • Kui kasutada käsku sellisel kujul, nagu näites toodud, on vaja, et DISPLAY=":0" rida oleks olemas. Seda pole vaja, kui salvestatakse ilma et oleks võimalust samal ajal vaadata.
  • Nädalapäev on tähistatud nii, et 0 on pühapäev, 1, esmaspäev, 6 laupäev, kõik vahepealsed nagu ikka.
  • crontabi fail peab lõppema tühja reavahetusega, ilma ei pruugi töötada.
  • --sout taga olevad parameetrid on võetud otse ühest näitest, neid muutes on võimalik saada parem kvaliteet või väiksem fail. Loetagu VLC dokumentatsiooni.
  • crontabi abil on võimalik lindistada ka näiteks igal nädalal kindlal päeval midagi, loetagu crontabi dokumentatsiooni.
  • Ülaltoodu on kõige lihtsam näide, kui ruuteril on vaikimisi seaded ja arvutil ainult üks võrguliides, siis telekavaatamise ajal internetti ei pääse.

Kommentaare ei ole: