Tommy Winther

twenty-first century code monkey

Tag: pvr

comskip – spring reklamerne over

Efter to måneders pause er det vist på tide at få gang i bloggen igen. Jeg må indrømme sommerpausen blev lidt længere end jeg havde planlagt, men det betyder ikke at XBMC har været skrinlagt for mit vedkommende: i starten af august blev DR NU og GameTest addon’erne opdateret.

Jeg har også fået lidt mere erfaring med mit tvheadend setup. Det der irriterer mig mest for tiden er at min OUYA har problemer med at afspille 1080i indhold. Det kommer sådan nogle lodrette striber i billedet så det er totalt ubrugeligt, men så vidt jeg er orienteret er det noget der bliver arbejdet på.
Jeg har eksperimenteret lidt med comskip som post-processing script i tvheadend. Comskip analyserer den videofil som tvheadend har optaget og laver en såkaldt EDL fil med de sektioner af videoen som indeholder reklamer. XBMC læser så EDL filen og springer reklamepauserne over. Det fungerer rimelig godt, men den fanger ikke altid det hele med de standard indstillinger jeg har fået prøvet ind til videre.

Comskip findes til Windows og der er en test version ude til Linux som jeg har brugt. Jeg har mit tvheadend setup kørende på en Debian Linux, så der skal som sædvanlig lidt krumspring til for at få det hele compilet. 🙂 Det er prisen for at vælge stabil server software frem for bleeding edge.

Først trin i vores totrinsraket er at hente den nyeste ffmpeg og compile den.

$ wget https://ffmpeg.org/releases/ffmpeg-2.0.1.tar.bz2
$ tar xf ffmpeg-2.0.1.tar.bz2
$ ./configure --prefix=/var/tmp/comskip-ffmpeg-2.0.1-install
$ make -j 4
$ make install

Jeg har valgt at angive –prefix så ffmpeg installeres et andet sted end standard. Det er så jeg undgået at “forurene” min Debian installation. Der skal muligvis installeres nogle yderligere dependencies i dit Linux system, men jeg havde allerede alt det jeg skulle bruge.

Andet trin er at hente og compile comskip.

$ wget http://www.xilka.com/xilka/source/comskip-0.93e.tar.xz
$ tar xf comskip-0.93e.tar.xz
$ PKG_CONFIG_PATH=/var/tmp/comskip-ffmpeg-2.0.1-install/lib/pkgconfig ./configure
$ make -j 4

PKG_CONFIG_PATH skal pege på den sti du angiv som –prefix tidligere. Det gør at ffmpeg findes i den sti i stedet for systemets standard sti. Herefter er det blot at køre comskip og lade den analysere video filen.

$ ./comskip /srv/tvheadend-recordings/Nyhederne.mkv

Når comskip er færdig, det kan godt tage nogle minutter, så ligger der en hel række filer med samme filnavn, men med andre filendelser, bl.a. EDL filen som jeg nævnte tidligere.

Det sidste trick er at få tvheadend til at køre comskip, når den er færdig med at optage et program. Det gøres let ved at gå ind på tvheadends webinterface, vælge Configuration og Recording og herefter indtaste Post-processor command. Jeg er stødt på nogle scripts på nettet som laver nogle forskellige ting inden de kalder comskip, men personligt kører jeg bare comskip direkte med denne command:

/usr/src/comskip-0.93e/comskip -t %f

Som nævnt fungerer det ikke perfekt, fx fanger den ikke rigtig de reklamer Discovery kører for deres andre programmer inden de rigtige reklamer kommer. Comskip har en helt række indstillinger, så det er formentlig til at tweake så det fungerer bedre.
En anden vigtig detalje er at det kræver XBMC Gotham for at EDL filerne kan hentes direkte fra tvheadend. Kører du Frodo, som jeg gør, så må du afspille filerne via en lokal disk eller et samba netværksdrev i stedet for ellers springer XBMC ikke reklamepauserne over.

Hvis nogen af jer har kendskab til en god opsætning til comskip så vil jeg mægtig gerne høre om det 🙂

Opsætning af Tvheadend

Med opsætningen af HDHomeRun Dual på plads er vi nu klar til at se på opsætningen af Tvheadend. Det anbefales at læse de tidligere indlæg for at få hele historien om mit setup og fremgangsmåde med. Det er desuden vigtigt at dvb_hdhomerun driveren er indlæst og userhdhomerun programmet kører inden du går igang med Tvheadend.

Inden vi kan komme igang med at opsætte Tvheadend skal programmet installeres. Jeg har valgt at bruge deres apt repository for at lette installationen og fremtidige opdateringer – det gøres lettest ved at bruge apt-add-repository således:

$ curl http://apt.tvheadend.org/repo.gpg.key | sudo apt-key add -
$ sudo apt-add-repository http://apt.tvheadend.org/stable
$ sudo apt-get update
$ sudo apt-get install tvheadend

Herefter kan vi kopiere den dvb-scan fil vi lavede tidligere ind i Tvheadends mappestruktur. På den måde er vi fri for at scanne efter kanaler i Tvheadend, da den kan indlæse oplysningerne fra filen.

$ cp dk-YouSee /usr/share/tvheadend/data/dvb-scan/dvb-c/dk-YouSee

Med disse indledende øvelser på plads er det tid til at åbne browseren til Tvheadends webinterface. Her kan vi blandt andet opsætte tunere, se EPG’en og planlægge optagelser. Webinterfacet findes typisk på http://localhost:9981

tvheadend-tvadapter-configuration

Første opgave i Tvheadend er at konfigurere TV Adapters under Configuration > DVB Inputs. Jeg har valgt at benytte de indstillinger i kan se på skærmbilledet herover, det virker bedst i mit setup. Det er også en god ide at ændre Adapter name, således de to adaptere ikke hedder det samme.

Herefter kan vi indlæse Multiplexes fra den dvb-scan fil vi lavede tidligere. Det gøres med et klik på Add DVB Networks by location hvorefter dk_YouSee findes i træstrukturen under Denmark. Tvheadend går så igang med at kontrollere de frekvenser vi tidligere scannede og finder samtidig de Services som de enkelte mux består af. Denne operation tager lidt tid, du kan følge med i status under Muxes awaiting initial scan som du finder i højre kolonne i skærmbilledet herover.

Når Tvheadend er færdig, dvs. antallet af Muxes awaiting initial scan er nul, kan du se de kontrollerede Multiplexes på fanebladet af samme navn og på Services fanebladet kan du de fundne kanaler. I mit tilfælde har den fundet en hel række TV og radiokanaler.

Disse services kan Tvheadend automatisk konfigurere som kanaler, som der herefter kan indlæses EPG data for og streames til XBMC. Dette gøres med et enkelt klik på Map DVB services to channels også i ovenstående skærmbillede. Tvheadend vil så igen scanne og oprette kanaler. Kanalerne kan ses og gives placering under Configuration > Channel/EPG.

YouSee’s EPG data in DVB-C strømmen er ganske fornuftig så jeg har ikke behov for at bruge XMLTV på nuværende tidspunkt. For at benytte disse EPG data skal over-the-air grabberen aktiveres. Den findes samme sted som Channel/EPG på fanebladet EPG Grabber. Jeg har aktiveret EIT: DVB Grabber og deaktiveret alle de andre og det fungerer fint.

Med disse trin på plads er det tid til at fyre op for XBMC og forbinde den til Tvheadend.

xbmc-pvr-setup2TV delen i XBMC benytter addons til at kommunikere med de forskellige TV servere. Til Tvheadend skal vi bruge Tvheadend HTSP Client. I addon indstillingerne indtastes adressen på Tvheadend serveren samt evt. brugernavn og adgangskode. Et fornuftigt eksempel, hvis Tvheadend kører på samme PC, kan ses herover.

Med addon’en installeret og konfigureret er det blot et spørgsmål om at aktivere TV delen i XBMC under de generelle indstillinger. Der findes desuden en hel række relaterede indstillinger som kan justeres efter behov.

xbmc-pvr-setup3Til sidst er det blot et spørgsmål om at finde TV i XBMC’s hovedmenu, læne sig tilbage og stene lidt TV 🙂

xbmc-pvr-setup4

XBMC, Tvheadend og HDHomeRun Dual

Endelig, endelig, endelig!

Min YouSee settop boks, Samsung SMT-H3106, er langt om længe begyndt at defekte – sporadiske udfald hvor HDMI signalet simpelthen forsvinder. Det holder jo ikke en meter, så jeg har fluks investeret i en HDHomeRun Dual – og på trods af at jeg ikke overhovedet har savnet den manglende PVR funktionalitet i YouSee boksen, så er det nu meget lækkert lige at kunne “bånde” Wheeler Dealers – eller endnu en af de uendelige genudsendelser 😉

Denne pludselige nyinvestering betyder samtidig også at jeg langt om længe har fået mulighed for at bruge XBMC’s PVR funktionalitet i samarbejde med Tvheadend TV streaming serveren – og ind til videre er jeg ganske imponeret. Der er altid lidt børnesygdomme som skal luges ud men mit setup fungerer ganske godt og WAF (Wife Acceptance Factor) er fortsat høj!

Jeg vil forsøge at dokumentere hvordan jeg har skruet mit setup sammen hen over den nærmeste fremtid, for det har ikke altid været lige let at finde de oplysninger og den dokumentation jeg har haft behov for. Grundstenen i mit setup er min Debian Wheezy linux server som kører Tvheadend og kommunikerer med HDHomeRun boksen via dvbhdhomerun. Fra Tvheadend streamer jeg så til mit ASRock mediecenter i TV rummet og til min OUYA konsol i stuen. På papiret et måske forholdsvis simpelt setup, men især XBMC på OUYA er en kilde til grå hår på trods af jeg bruger libstagefright build’et.

Hvordan ser jeres XBMC PVR setup ud? – har i nogle tips til HDHomeRun setup?

© 2017 Tommy Winther

Theme by Anders NorenUp ↑