Publisering av patentfrie formater for Frikanalen

NUUG har tilbudt Foreningen frikanalen assistanse med , og web-publisering av, deres video-innhold i det patentfire formatet [http://www.xiph.org/ ogg-theora].

I den forbindelse er det laget en inngangsport til dette innholdet på http://www.nuug.no/pub/video/frikanalen/frontpage.cgi .

Metadata hentes fra Frikanalen med SOAP mot http://communitysite1.frikanalen.tv/CommunitySiteFacade/CommunitySiteService.asmx . Theora videofiler konverteres og publiseres av frikanalen, med referanse i SOAP objektet returnert fra SOAP servicen SearchVideos .

Det går en cronjobb (/home/jarle/script/update_frikanalen.sh) hver time som cacher video-metadata fra SOAP interfacet i /data/video/frikanalen/met.xml og benytter denne til å laste over nye .ogv filer fra frikanalen, navngir med $MetaDataVideoID.ogv, og lagrer lokalt på /data/video/frikanalen/ .

frontpage.cgi lager kun tabellrader (video instanser) for filer som finnes lokalt på nerdhaven. (Ikke alt kildemateriale er konvertert til ogv enda. Dette vil konvergere i løpet av de neste ukene.)

frontpage.cgi uten parametere laster alle tilgjengelige videoer, med kategorier på toppen av videolisten. Kategori-linkene linker tilbake til frontapage.cgi med ?category=$category . Når frontpage.cgi kalles med category parameter, returnerer den listen med videoer som er i denne kategori. (Ved hjelp av SOAP Variabelen CategoryName) . Alle kategori linkene er inkludert på toppen av tabellen .

Hvert video-entry som frontpage.cgi produserer linkes mot fetchvideo.cgi?videoId=$MetaDataVideoId . fetchvideo.cgi lager en side som embedder videoen med tittel og beskrivelse hentet fra meta.xml samt direkte linker til playlist,ogv,og windows media url'er . Til embedding av video brukes cortado java-applet, som kjøres lokalt av browser og spiller av $ogvurl. Cortado har mulighet for å slå på søkebar og stop/play knapper. Dette fungerte imidlertid svært dårlig i bl.a. Opera og Safari på OSX. (Browser hang seg opp) . Av den grunn er disse kontrollene slått av.

Det har vært eksperimentert med html 5 video tag med fallback til object og til slutt cortado. Dette gir imidlertid (inntil videre) uforutsigbare resultater i en del nettlesere, og er derfor fjernet til fordel for en direkte link til m3u spilleliste som brukes til å åpne ekstern avspiller man har konfigurert i sin nettleser og overlater tolking av m3u innholdet til denne.

Informasjon om teknisk løsning hos Frikanalen

NUUG har bidratt med en videopubliseringsløsning med åpne standarder. Den er lenket inn fra http://www.frikanalen.no/tv som omdirigeres til http://www.nuug.no/pub/video/frikanalen/frontpage.cgi .

Webløsningen til frikanalen er klient-tjenerbasert, med et SOAP-API som er dokumentert på http://communitysite1.frikanalen.tv/CommunitySiteFacade/CommunitySiteService.asmx . Eksempelkode i Perl som bruker APIet:

use SOAP::Lite
     on_action => sub {sprintf '%s/%s', @_},
;
$soap = new SOAP::Lite
 -> uri('http://localhost/CommunitySiteService')
 ->
proxy('http://communitysite1.frikanalen.tv/CommunitySiteFacade/CommunitySiteService.asmx');
my $result = $soap->SearchVideos(
 SOAP::Data->name('searcher' => {
   'PredefinedSearchType' => 'Default',
  'Take' => 3,
  }
 )
);
unless ($result->fault) {
  $res = $result->result;
  foreach (@{$res->{'Data'}->{'Video'}}) {
    print "$_->{'Title'}\n";
  }
} else {
    print join ', ',
      $result->faultcode,
      $result->faultstring;
}

De neste fire ukers spilleplan kan hentes via SOAP-APIet tilgjengelig fra http://communitysite1.frikanalen.tv/CommunitySite/EpgWebService.asmx . Den returnerer en liste over URLer til de neste 4 ukers EPGer, f.eks. http://communitysite1.frikanalen.tv/Epgs/Frikanalen_20090518_epg.xml . Formatet er ikke XMLTV. Hvis en ønsker XMLTV, kan en bruke http://communitysite1.frikanalen.tv/CommunitySite/EPGS/xmltv/daily/ .

Det er en feil i GetEpgUrls()-kallet som på søndager ikke returnerer informasjon om inneværende dag, men kun fra mandag og utover, dvs. at når testavspilleren til PEtter starter på søndag spiller den ikke av noen opptak.

Versjonskontroll

Scriptene til frikanalaen ligger i subversion. Frikanalens kode-tre sjekkes ut med kommandoen svn co file:///data/video/svnroot/frikanalen på nerdhaven eller svn co svn+ssh://nerdhaven.nuug.no/data/video/svnroot/trunk via ssh.

Scriptene som kjører metadata oppdatering og sync av video, er sjekket ut til /data/video/frikanalen/bin . Dersom man sjekker inn endringer på disse. Endringer som commites sjekkes automatisk ut hvert 5 minutt og er aktivert med en gang.

Endringer under /data/video/frikanalen/cgi-bin sjekkes ut automatisk hvert 5 minutt til /data/video/frikanalen/cgi-bin . I /data/video/frikanalen/cgi-bin kan man kopiere inn noe test-data fra /data/video/frikanalen/ for å teste at ting fungerer. Får å aktivere endringen kjøres ./cutover.sh .

Infrastruktur / maskinpark

Tore *tror* at disse maskinene alle sokner til frikanalen.no, og at frikanalen.tv er Silverlight-helvetet sitt eget domene. Men det er ikke bekreftet.

Det stemmer ikke, Disse maskinene er alt av maskiner til Frikanalen.tv altså silverlight systemet, frikanalen.no er ikke en del av dette systemet, og er et helt seperat system.

IP adressene gitt i dette oppsettet under er de vi ønsker, men frem til de er ledige settes (.mid) adresser, serverne må konfigureres via DNS. De faste IP adressene setter vi, i det vi tar ned en og en maskin.

Vi bør begynne med Comunitysite2 og Streaming2, etter det følger vi på med Comunitysite1, og Streaming1 så DB, og ID. Er usikker på DB ettersom vi kan oppleve at DB en kan bli for treg ??

andg frikanalen.no / frikanalen.tv Frikanalen.no servere er de nye som vi setter opp, mens frikanalen.tv er de "gammle" tjenestene.

I Nydalen har en et subnett 88.87.32.0/27 fordelt over kontor og maskinrom. DNS-server 80.65.49.14 og 80.65.49.34.

Oppgave

Modell

DNS-navn

IP

LAN-konsoll (DRAC 5)

Virtuell maskin

KVM-master

Dell PowerEdge 2950

fostervoll.frikanalen.no

88.87.32.21

88.87.32.18

NEI

Management/Overvåkning

KVM på kvm-master

grotmol.frikanalen.no

88.87.32.11

N/A

JA

Lekeplass

AppLekeplass

lekestue.frikanalen.no

88.87.32.29

N/A

JA

Frikanalen Backend

PowerEdge 2950

backend.frikanalen.tv

88.87.32.2

88.87.32.19

NEI

Frikanalen Frontend

PowerEdge 2950

frontend.frikanalen.tv

88.87.32.3

N/A

JA

Community Site 1

PowerEdge 2950

communitysite1.frikanalen.tv

88.87.32.4

N/A

JA

Database

PowerEdge 2950

db.frikanalen.tv

88.87.32.5

N/A

JA

Frikanalen Backup

PowerEdge 2950+ Taperobot

backup.frikanalen.tv

88.87.32.6

88.87.32.20

NEI

Community Site 2

PowerEdge 2950

communitysite2.frikanalen.tv

88.87.32.7

N/A

JA

Frikanalen ID

PowerEdge 2950

id.frikanalen.tv

88.87.32.8

N/A

JA

Frikanalen Streaming2

PowerEdge 2950

streaming2.frikanalen.tv

88.87.32.9

N/A

JA

Frikanalen Streaming1

PowerEdge 2950

streaming1.frikanalen.tv

88.87.32.10

N/A

JA

Frikanalen DiskController

Frikanalen Backend

??

NEI N/A

NEI

Frikanalen DiskRaid

Frikanalen Backend

??

N/A

NEI

NEI

Frikanalen DiskRaid

Frikanalen Backend

??

N/A

NEI

NEI

Frikanalen TapeController

Frikanalen Bakcup

??

NEI N/A

NEI

Frikanalen TapeRobot

Frikanalen Bakcup

??

N/A

NEI

NEI

Dette er Dagens oppsett

Oppgave

Modell

DNS-navn

LAN-konsoll

Frikanalen Backend

PowerEdge 2950

backend.frikanalen.tv [88.87.32.2]

88.87.32.12

Frikanalen Frontend

PowerEdge 2950

frontend.frikanalen.tv [88.87.32.3]

88.87.32.13

Community Site 1

PowerEdge 2950

communitysite1.frikanalen.tv [88.87.32.4]

88.87.32.14

Database

PowerEdge 2950

db.frikanalen.tv [88.87.32.5]

88.87.32.15

Frikanalen Backup

PowerEdge 2950

backup.frikanalen.tv [88.87.32.6]

88.87.32.16

Community Site 2

PowerEdge 2950

communitysite2.frikanalen.tv [88.87.32.7]

88.87.32.17

Frikanalen ID

PowerEdge 2950

id.frikanalen.tv [88.87.32.8]

88.87.32.8

Frikanalen Streaming2

PowerEdge 2950

streaming2.frikanalen.tv [88.87.32.9]

88.87.32.19

Frikanalen Streaming1

PowerEdge 2950

streaming1.frikanalen.tv [88.87.32.10]

88.87.32.20

Frikanalen DiskController

Frikanalen Backend

??

N/A

Frikanalen DiskRaid

Frikanalen Backend

??

N/A

Frikanalen DiskRaid

Frikanalen Backend

??

N/A

Frikanalen TapeController

Frikanalen Bakcup

??

N/A

Frikanalen TapeRobot

Frikanalen Bakcup

??

N/A

Litt om kvm / virt-manager finner en på http://www.howtoforge.com/virtualization-with-kvm-on-a-debian-lenny-server

Installasjon av Debian Lenny

Når vi installerer Debian Lenny på frikanalens Dell PowerEdge 2950, så bør følgende valg gjøres under installasjonen.

Etter installasjon skal følgende kjøres:

aptitude install etcinsvk
etcinsvk init
aptitude install openssh-server sitesummary-client
dpkg-reconfigure sitesummary-client
# URL: http://sitesummary/cgi-bin/sitesummary-collector.cgi, site: Nydalen, sitegroup: Maskinrom, type: server

Referanser