Se også [grupper/video/frikanalen] og http://wiki.frikanalen.no/ .

Publisering av patentfrie formater for Frikanalen

NUUG har tilbudt Foreningen frikanalen assistanse med , og web-publisering av, deres video-innhold i det patentfire formatet 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 .

Referanser

grupper/video/pubfrikanalen (last edited 2015-11-29 21:27:02 by localhost)