16167
Comment: vielä pieni bugi
|
16879
converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
Ohje on kokoelma nm:n aloittamasta Ubuntu-fi-foorumilla julkaistusta säikeestä: http://forum.ubuntu-fi.org/index.php?topic=29787.0, jonne keskustelu tästä wikistä voidaan keskittää. Kiitokset keskusteluun osallistujille ja nm:lle, että antoi jatko julkaista ohjeensa myös täällä wikissä. |
|
Line 3: | Line 5: |
[http://www.tvdr.de VDR] (Video Disk Recorder) on Klaus Schmidingerin kehittämä ja ylläpitämä digitv-ohjelmisto Linuxille. Itse VDR-ohjelman kehitystyö etenee Schmidingerin omien päämäärien mukaan, mutta VDR:llä on Euroopassa laajahko käyttäjäyhteisö, joka on luonut ohjelmaan lukuisia liitännäisiä. Lisää tietoa VDR:stä saa mm. seuraavilta sivuilta: | [[http://www.tvdr.de|VDR]] (Video Disk Recorder) on Klaus Schmidingerin kehittämä ja ylläpitämä digitv-ohjelmisto Linuxille. Itse VDR-ohjelman kehitystyö etenee Schmidingerin omien päämäärien mukaan, mutta VDR:llä on Euroopassa laajahko käyttäjäyhteisö, joka on luonut ohjelmaan lukuisia liitännäisiä. Lisää tietoa VDR:stä saa mm. seuraavilta sivuilta: |
Line 277: | Line 279: |
/usr/local/bin/copyvdrs/bin/upcase "T Ääliö älä lyö mua" | /usr/local/bin/copyvdrs/upcase "T Ääliö älä lyö mua" |
Line 289: | Line 291: |
sudo nano /usr/local/copyvdrs/copyvdrs.sh | sudo nano /usr/local/bin/copyvdrs/copyvdrs.sh |
Line 342: | Line 344: |
'''VAROITUS:''' Scriptissä on rivi ''''rm -r *'''', joka tuhoaa kaiken siinä hakemistossa, jossa on ja sen alahakemistoissa. Tämä käsky vaarallisuuden takia tulee poistaa ennen kuin scriptiä kokeilee. Kun scriptin on saanut toimivaksi voi kyseisen rivin lisätä kyseiseen kohtaan. Huonosti toimiessaan scripti siis saattaa pahimmassa tapauksessa tuhota koko järjestelmän tiedostoineen. |
|
Line 345: | Line 349: |
sudo chmod 755 /usr/local/copyvdrs/copyvdrs.sh | sudo chmod 755 /usr/local/bin/copyvdrs/copyvdrs.sh |
Line 350: | Line 354: |
sudo /usr/local/copyvdrs/copyvdrs.sh | sudo /usr/local/bin/copyvdrs/copyvdrs.sh |
Ubuntu 10.04 LTS:ään VDR:n asentaminen .ts-tiedostoille
Ohje on kokoelma nm:n aloittamasta Ubuntu-fi-foorumilla julkaistusta säikeestä: http://forum.ubuntu-fi.org/index.php?topic=29787.0, jonne keskustelu tästä wikistä voidaan keskittää. Kiitokset keskusteluun osallistujille ja nm:lle, että antoi jatko julkaista ohjeensa myös täällä wikissä.
Esitietoa VDR:stä
VDR (Video Disk Recorder) on Klaus Schmidingerin kehittämä ja ylläpitämä digitv-ohjelmisto Linuxille. Itse VDR-ohjelman kehitystyö etenee Schmidingerin omien päämäärien mukaan, mutta VDR:llä on Euroopassa laajahko käyttäjäyhteisö, joka on luonut ohjelmaan lukuisia liitännäisiä. Lisää tietoa VDR:stä saa mm. seuraavilta sivuilta:
http://linux.fi/wiki/VDR http://www.linuxtv.org/vdrwiki/index.php/Main_Page
VDR-paketoinnista Ubuntussa
Ubuntussa vdr-paketti sisältää ohjelman keskeisimmät toiminnot, mutta varsinainen käyttöliittymä toimii vain MPEG-2-dekooderilla ja TV-ulostulolla varustetuilla DVB-korteilla, joita ei enää valmisteta. Myös pääteohjaus TCP-portin 2001 kautta on mahdollista. VDR:ään saa X-ikkunoinnissa toimivan edustaohjelman asentamalla vdr-plugin-xineliboutput ja xineliboutput-sxfe -paketit. Xineliboutputin vdr-sxfe-ohjelma toimii myös verkon yli, mutta vaatii alleen Unix-tyyppisen käyttöjärjestelmän.
Muita yleishyödyllisiä liitännäisiä:
vdr-plugin-live - selaimen kautta toimiva web-käyttöliittymä
vdr-plugin-epgsearch - hakuajastustoimintoja mm. live-liitännäiselle
vdr-plugin-streamdev-server - tarjoaa suoran lähetyksen lähiverkon (tai Internetin) yli mediasoittimiin. VLC osaa näyttää tekstitykset streamdevin MPEG-TS-lähetteestä.
dvb-apps tärkeä VDR:n ulkopuolinen paketti
Lisäksi tarvitaan dvb-apps-paketti, jossa on scan-työkalu kanavien hakemista varten. Tätä tarvitaan periaatteessa vain kerran. Kun VDR saa oikeat tiedot edes yhdestä kanavasta, se osaa itse lukea muiden kanavien ja kanavanippujen tiedot. Automaattista kanavatietojen päivitystä voi halutessaan säätää VDR:n asetuksista.
Varsinaiseen asennukseen
Oletamme, että olet saanut asennettua jo Ubuntu-linuxin, mikäli et, niin silloin auttaneen Ubuntun asennusohje: http://wiki.ubuntu-fi.org/Asentaminen
Epävirallisten pakettilähteiden asentaminen
Aluksi asennamme epävirallisia ppa:ohjelmalähteitä. ppa-tiedostolähteet eivät ole Ubuntun virallisia ohjelmalähteitä, joten omalla vastuulla mennään. Mikäli foliohattu ei anna periksi, niin tämän kohdan voi jättää pois. Tosin silloin .ts-tiedoston tallennus jää haaveeksi, ja joutuu tyytymään vdr:n omaan formaattiin. Lisäksi .ts-tiedostojen käsittelyä koskevat kohdat eivät toimi.
Varsinainen epävirallisten (ohjelma/paketti)lähteiden asentaminen
Päätteessä:
sudo add-apt-repository ppa:yavdr/stable-vdr
==== Otetaan pakettilähteet l. repositiot käyttöön ja tutkitaan päivityksiä...
sudo apt-get update
VDR:n perusasennus päätteessä
Päätteessä:
sudo apt-get install vdr vdr-plugin-epgsearch vdr-plugin-live vdr-plugin-xineliboutput xineliboutput-sxfe dvb-apps
Asennusskripti kysyy, tehdäänkö tallenteille hakemisto '/var/lib/video.00'. Se kannattaa hyväksyä, jos sijainti käy (eli juuriosiolla on tilaa). Sijainnin voi muuttaa jälkeenpäin lisäämällä /etc/default/vdr -tiedostoon rivin VIDEO_DIR="/polku/videohakemistoon". Tällöin on kuitenkin huolehdittava, että hakemiston omistaja ja ryhmä on vdr.
Paketointiin liittyvät ohjeet ovat tiedostossa /usr/share/doc/vdr/README.Debian.gz. Se kannattaa silmäillä läpi.
Ota VDR käyttöön
Aluksi ja väliaikaisesti vdr otetaan pois päältä, jotta pystymme muuttamaan asetuksia: Päätteessä:
sudo /etc/init.d/vdr stop
Editoi tiedostoa /etc/default/vdr pääkäyttäjänä eli aja päätteessä:
sudo /etc/ini sudo nano /etc/default/vdr
Vaihda rivillä "ENABLED=0" 0:n tilalle 1, jotta VDR käynnistyy koneen käynnistämisen yhteydessä, ja "ENABLE_SHUTDOWN=1" 1:n tilalle 0, jottei tietokone yllättäen sammu: Muutosten jälkeen tiedosto saattaa olla tällainen:
ENABLED=1 # Change this to 1 if you want vdr to be able to shutdown the # computer ENABLE_SHUTDOWN=0 # Options that will be passed to vdr's commandline # for example: OPTIONS="-w 15" OPTIONS="-w 60"
Tallenna tiedosto: CTRL-O, sulje editori: CTRL-X
Kopioi Xineliboutputin esimerkkinäppäinkartta VDR:n remote.conf-tiedostoon, jotta VDR:ää voi ohjata näppäimistöllä vdr-sxfe:n kautta
Päätteessä:
sudo cp /usr/share/doc/vdr-plugin-xineliboutput/examples/remote.conf.example /var/lib/vdr/remote.conf
Skannaa kanavat
Initial-tuning-tiedosto /usr/share/dvb/dvb-t/fi-Espoo sisältää Espoon lähettimen kanavanippujen keskitaajuudet. Valitse oikea tiedosto lähetysverkon tyypin ja sijainnin perusteella. Esimerkiksi TTV:n kaapeliverkon tiedosto on /usr/share/dvb/dvb-c/fi-TTV. Syötä valitsemasi tai muokkaamasi tiedosto scan-työkalulle:
Päätteessä:
cd ~ scan -o vdr -p -e 4 /usr/share/dvb/dvb-t/fi-Espoo > channels.conf sudo cp channels.conf /var/lib/vdr/
Tarkista skannauksen jälkeen, että channels.confissa on kaikki saatavilla olevat kanavat. Jos jokin kanavanippu puuttuu kokonaan, tarkista että sen taajuus on scanille annetussa initial-tuning-tiedostossa. Oikeat taajuudet saa yleensä operaattorin nettisivulta (DVB-T: http://www.digitv.fi, Welho DVB-C: http://dvb.swelcom.fi/).
Käynnistä VDR
Päätteessä:
sudo /etc/init.d/vdr start
Liven koekäyttö
Tässä vaiheessa voit avata selaimeen Live-liitännäisen sivun: http://localhost:8008 (käyttäjätunnus: admin, salasana: live) Kirjautumisen saat pois Liven asetuksista. Ottaessasi yhteyden joltain toiselta koneelta, on localhostin sijaan tietysti käytettävä VDR-koneen ulkoista IP-osoitetta tai nimeä.
Jos Live toimii ja näyttää ohjelmatiedot, ollaan jo loppusuoralla. Jos taas ohjelmatietoja ja kanavia ei näy, jokin on pielessä. Ongelmaa kannattaa lähteä purkamaan tutkimalla järjestelmälokin loppupäätä: sudo cat /var/log/syslog | tail -100
Xineliboutput koekäyttö
Xineliboutputin X-frontend käynnistyy komennolla vdr-sxfe (jos ei toimi, kokeile antaa myös osoite: vdr-sxfe xvdr://localhost:37890).
Ohjelma sulkeutuu Esc-näppäimellä. F1 avaa päävalikon ja F2-F5 hoitavat värinäppäinten virkaa. Kuvaruutunäytön alareunassa näkyy värinäppäimiin liitetyt toiminnot, jotka vaihtuvat käyttöliittymän tilan mukaan. Kanavat vaihtuvat suoraan numeroilla tai Ylös/Alas-nuolinäppäimillä (valikon ollessa auki Page Up/Down -näppäimillä). Hiiren kaksoisnäpäytys suurentaa ikkunan kokoruutuun tai takaisin pieneksi. Vdr-sxfe:n saa kokoruutuun käynnitettäessä paramerilla -f.
Koska osa TV-lähetyksistä on lomitettua videota, vdr-sxfe:n kanssa on hyvä käyttää lomituksenpoistosuodinta. Tavallisella xv-ulostulolla se onnistuu parhaiten näin:
vdr-sxfe --post=tvtime:method=Greedy2Frame,enabled=1,framerate_mode=full,cheap_mode=0
Komennon voi sijoittaa skriptiin tai pikakäynnistimeen. Jos tuntuu, ettei koneen teho riitä tai näytönohjaimen ajuri on hidas, aseta framerate_mode=half. Suorittimen käyttöastetta ja eri prosessien aiheuttamaa kuormaa kannattaa seurata ajon aikana Järjestelmän valvonnalla (Jäjestelmä -> Ylläpito -> Järjestelmän valvonta) tai päätteessä top- tai htop-ohjelmalla.
Lisää ohjeistusta on käyttöoppaassa: http://www.linuxtv.org/vdrwiki/index.php/VDR_User's_Manual
Katso myös Xineliboutputin ohjetiedosto: /usr/share/doc/vdr-plugin-xineliboutput/README.gz
Uuden liitännäisen asentaminen
Asennetaan streamdev-palvelu:
sudo apt-get install vdr-plugin-streamdev-server
Yhteydenotot muilta koneilta on erikseen sallittava muokkaamalla /etc/vdr/plugins/streamdevhosts.conf -tiedostoa:
sudo nano /etc/vdr/plugins/streamdevhosts.conf
Kun lähiverkko on erotettu Internetistä palomuurilla, voidaan kotikäytössä sallia kaikki osoitteet. Poista #-merkki viimeiseltä riviltä:
127.0.0.1 # always accept localhost #192.168.100.0/24 # any host on the local net #204.152.189.113 # a specific host 0.0.0.0/0 # any host on any net (USE THIS WITH CARE!)
Tallenna tiedosto ja sulje editori.
Käynnistä VDR uudelleen:
sudo /etc/init.d/vdr stop sudo /etc/init.d/vdr start
Nyt voit katsella suoraa lähetystä esimerkiksi VLC:llä. Kanava 4:
vlc http://localhost:3000/TS/4
Tai suuntaa selain osoitteeseen http://localhost:3000 Kanavien streamdev-osoitteet saa myös Liven kautta.
Suomenkielisyyden asettaminen EPG-tietoihin
Aluksi päätteen avulla suljemme vdr:n.
sudo /etc/init.d/vdr stop
Editoimme tiedostoa /var/lib/vdr/setup.conf
sudo nano /var/lib/vdr/setup.conf
Sieltä muutamme EPGBugfixlevel ja EPGLanguages kohdat seuraavan laiseksi.
EPGBugfixLevel = 0 EPGLanguages = fin
Sitten tallennamme ja poistumme editorista.
Nyt voimme käynnistää VDR:n uudelleen.
sudo /etc/init.d/vdr start
VDR:n tiedostojen siirtäminen ja uudelleen nimeäminen
Tässä esitellään yksinkertainen scripti, joka nimeää uudelleen VDR:n tiedostot ja siirtää ne toiseen kansioon VDR:n näkymättömiin jatkokäsittelyä varten. Tätä ei välttämättä tarvitse tehdä, ja tämä toimii varsin ongelmallisesti sarjojen tallennuksena, koska aina uusi sarjan jakso kirjoittaa vanhan päälle.
Aluksi luodaan /usr/local -kansioon copyvdrs-kansio päätteen avulla.
sudo mkdir /usr/local/bin sudo mkdir /usr/local/bin/copyvdrs
Sitten tehdään upcase-ohjelma:
Aluksi asennetaan kääntämiseen tarvittavat paketit
sudo aptitude install build-essential gcc
sitten kirjoitetaan ohjelma:
nano upcase.c
Sisällöksi seuraavaa...
#include <stdio.h> #include <string.h> int main (int count, char **args) { char *c; int i,j; char row[5000]; char kinoteema[]="T Kino Teema: "; char kinokauko[]="T Kino Kauko: "; char elokuva[]="T Elokuva: "; char toiminta[]="T Toimintatorstai: "; row[0]=0; if(count>1) { i=0; j=0; if(memcmp(args[1],kinoteema,strlen(kinoteema))==0) j=strlen(kinoteema)-2; if(memcmp(args[1],elokuva,strlen(elokuva))==0) j=strlen(elokuva)-2; if(memcmp(args[1],kinokauko,strlen(kinokauko))==0) j=strlen(kinokauko)-2; if(memcmp(args[1],toiminta,strlen(toiminta))==0) j=strlen(toiminta)-2; for (c=args[1]+j;*c!=(char)0;c++) { if(*c!=(char)0xc3) row[i++]=*c; else { c++; if(*c==(char)0xb6) row[i++]='o';//'ö' if(*c==(char)0xa4) row[i++]='a';//'ä' if(*c==(char)0xa5) row[i++]='a';//'ä' if(*c==(char)0x96) row[i++]='O';//'Ö' if(*c==(char)0x84) row[i++]='A';//'Ä' if(*c==(char)0x85) row[i++]='A';//'Å' } } row[i++]=0; row[i]=0; i=0; for(j=1;row[j]!='\0';j++) { if((row[j]==' ')||(row[j]=='+') ||(row[j]=='-') ||(row[j]==',') ||(row[j]=='.') ||(row[j]==':') ||(row[j]==';') ||(row[j]=='!') ||(row[j]=='?') ||(row[j]=='/') ||(row[j]=='|') ||(row[j]=='#') ||(row[j]=='<') ||(row[j]=='\\') ||(row[j]=='>')) { while ( ((row[j]<'0')||(row[j]>'9'))&& ((row[j]<'A')||(row[j]>'Z'))&& ((row[j]<'a')||(row[j]>'z'))&& (row[j]!='\0')&& (row[j]!='-')&& (row[j]!='!')&& (row[j]!='+')) j++; if((row[j]>='a')&&(row[j]<='z')) row[i++]=row[j]&223; else row[i++]=row[j]; } else { while ( ((row[j]<'0')||(row[j]>'9'))&& ((row[j]<'A')||(row[j]>'Z'))&& ((row[j]<'a')||(row[j]>'z'))&& (row[j]!=0)) j++; row[i++]=row[j]; //printf("%i,%i",i,j); } } row[i]=0; printf("%s",row); } return 0; }
Tallenna ja lopeta.
Sitten käännetään ohjelma:
sudo gcc upcase.c -o /usr/local/bin/copyvdrs/upcase
Sitten voimmekin testata ohjelman toimivuutta:
/usr/local/bin/copyvdrs/upcase "T Ääliö älä lyö mua"
Kyseisen suorittamisesta pitäisi promptin alkuun tulla seuraavaa...
AalioAlaLyoMua
Jos tuli jotain virheitä kysy neuvoa foorumista.
Kun tuo toimii, voimmekin tehdä voimallisen, mutta lyhyen scriptin tiedostojen siirtämiselle jatkokäsittelyä varten.
sudo nano /usr/local/bin/copyvdrs/copyvdrs.sh
Siihen kirjoitamme seuraavaa (pienin muutoksin).
declare -i i topath="/home/peran/Videot/elokuvat/" user="peran" group="peran" vanha=`pwd` /etc/init.d/vdr stop cd /var/lib/video.00 for f in `find -name "info"`; do toname="`cat "$f"|grep "^T "`" toname=`/usr/local/bin/copyvdrs/upcase "$toname"` #echo "$toname" filmfilename="${f%info}0000" #echo "$filmfilename" i="1" echo "$toname" if [ "$USER" = "root" ] then mv "$f" "$topath$toname.info" chown $user:$group "$topath$toname.info" mv "$filmfilename$i.ts" "$topath$toname.ts" #rm "$filmfilename$i.ts" #rm "$f" else cp "$f" "$topath$toname.info" chown $user:$group "$topath$toname.info" cp "$filmfilename$i.ts" "$topath$toname.ts" fi i="$i+1" while [[ -e "$filmfilename$i.ts" ]] do #echo "$filmfilename$i.ts" cat "$filmfilename$i.ts" >>"$topath$toname.ts" if [ "$USER" = "root" ] then rm "$filmfilename$i.ts" fi i="$i+1" done chown $user:$group "$topath$toname.ts" done rm -r * /etc/init.d/vdr start cd $vanha
Scriptistä tulee muuttaa alussa olevat seuraavat rivit: topath - tämän tilalle tulee lainausmerkkien sisälle kirjoittaa, minne haluat tallettaa elokuvat. user - Oma käyttäjätunnuksesi group - Oma kayttäjätunnuksesi ryhmä cd /var/lib/video.00 - tilalle minkä juuresta löytyy todellisuudessa VDR:n tallentamat tiedostot.
VAROITUS: Scriptissä on rivi 'rm -r *', joka tuhoaa kaiken siinä hakemistossa, jossa on ja sen alahakemistoissa. Tämä käsky vaarallisuuden takia tulee poistaa ennen kuin scriptiä kokeilee. Kun scriptin on saanut toimivaksi voi kyseisen rivin lisätä kyseiseen kohtaan. Huonosti toimiessaan scripti siis saattaa pahimmassa tapauksessa tuhota koko järjestelmän tiedostoineen.
Kun olet tehnyt muutokset, voitkin antaa tiedostolle suoritusoikeudet:
sudo chmod 755 /usr/local/bin/copyvdrs/copyvdrs.sh
Kun haluat kopioida tallennetut tiedostot haluamaasi hakemistoon, voit käskyttää päätteen avulla seuraavasti:
sudo /usr/local/bin/copyvdrs/copyvdrs.sh
Toisaalta, jos mediaPC:si on jatkuvasti auki, kannatta se käsky laittaa sopivaan aikaan suoritettavaksi crontab:ssa.