twenty-first century code monkey

Kategori: Kodi & XBMC (Side 6 af 20)

Raspberry Pi incoming…

raspberrypi-logoNu er min OUYA efterhånden kommet så meget på plads at jeg skal have mig et nyt hardware projekt. Især den sidste firmware opdatering har gjort underværker, nu kan den lille boks hardware dekode 1080i streams uden problemer – dejligt.
Næste projekt måtte jo være den tilsvarende lille Raspberry Pi og jeg må indrømme de sidste ølpenge donationer er gået til hardware 🙂

Hardwaren er indkøbt på ModMyPi.com og er pt. på vej med posten. Jeg har købt en Model B med 512 MB ram og et 8 GB MicroSD bundle og som case valgte jeg at gamble, så må vi se hvor hæsligt det bliver. Jeg fravalgte dog pink 🙂

Jeg kan fornemme jeg ikke ligefrem er pioner på dette område, faktisk er jeg vist temmelig langt bag ud med at købe en Pi, så måske kan nogen af jer bidrage med lidt erfaringen om software, etc.

Lifehacker har forresten en ny artikel om de tre forskellige XBMC distributioner, hvis andre skulle have input til noget nyt.

DR NU 4.0.0 (Update: 4.0.2)

Update 2. okt.
Så blev det til version 4.0.2 som retter fejlen med favoritter, hvor den kun gemte den sidste favorit man havde tilføjet. Jeg har også forbedret fejlhåndteringen af manglende streams og så har jeg netop indsendt addon’en til det officielle repository. Så den skulle gerne være klar til installation i løbet af et par dage.

Update 24. sep.
Jeg har netop uploadet version 4.0.1 med et par rettelser og nye features. Den størst rettelse er nok at der nu bliver listet mere end 20 videoer per program serie. Det skulle gerne fjerne behovet for at bruge den gamle version af DR NU Player’en.
Af nye ting er der nu igen adgang til Forpremiere, Spotlight videoer og Højdepunkter. DR er også begyndt at have undertekster tilgængelige til visse programmer, så det kan addon’en nu også klare. Det kan fx. ses på første afsnit af Broen 2.
Vil du undgå undertekster kan det deaktiveres i addon indstillingerne.


drnu-iconJeg er nu kommet så langt med opdateringen af DR NU Playeren at jeg kalder den version 4.0.0 og har uploadet den til mit beta-repository. I forhold til de to test versioner er der kommet en ny indstilling, hvor man kan vælge hvilken type stream man ønsker at bruge: iOS, Android, Streaming (RTMP) eller vodfiles.dr.dk. Personligt har jeg bedst erfaring med iOS streams, mens andre her mere held med de andre typer af streams.

Meld endelig gerne tilbage hvis i oplever fejl eller lign. så jeg kan få rettet så meget som muligt inden jeg indsender addon’en til det officielle repository.

Opdateret DR NU test version

drnu-iconSå er jeg klar med endnu en test version af DR NU, version 3.9.1. Den indeholder de fleste af de funktioner som fandtes i den gamle version – jeg ved ikke helt om jeg kan lave de resterende funktioner med det nye API.

Flere af jer har snakket om at videoen hakker i den tidligere test version (3.9.0). Det har jeg ikke selv oplevet på hverken Linux eller OUYA. I den nye version her har jeg igen tilføjet indstillingen Vis kvalitetsvælger før videoen afspilles. Når det er slået til får du en popup før XBMC afspiller en video. Her kan du så vælge mellem alle de muligheder DR stiller tilrådighed samt et link til vodfiles.dr.dk. Der er fire forskellige protokoller at vælge imellem 🙂 – personligt har jeg mest held med iOS streams og det er den som afspilles hvis kvalitetsvælgeren er slået fra.

Lad mig høre hvad i oplever. Version 3.9.1 af addon’en kan hentes her.

Test version af TV3 Play

tv3playiconViasat roder med deres mobile API for tiden og det har krævet et par hurtigere opdatering til addon’en. Jeg har netop uploadet version 2.0.4 til mit beta-repository som retter de seneste fejl. Jeg regner med at se tiden lidt an og afvente eventuelle andre ændringer de næste dage inden jeg indsender opdateringen til det officielle repository.

Update 20. sep.: Jeg har indsendt version 2.0.4 til det officielle repository. Den bliver sikkert opdateret i løbet af en dag eller to.

Status på DR NU

drnu-iconSom mange af jer sikkert har opdaget så er der knas med DR NU Player addon’en. Der har længe været problemer med at afspille indhold, i hvert fald hvis man vil pause eller søge i videoen, og for nyligt tyder det på at API’et ikke opdaterer længere og derfor kommer nyt indhold ikke med i addon’en. Meget kunne tyde på det gamle DR NU API er lukket ned – dokumentationen er også blot blank nu.

Heldigvis er det ikke skidt det hele. DR har et andet API de i større grad bruger på dr.dk og jeg vil tro det overtager efter det gamle API. Jeg har lavet en såkaldt proof-of-concept opdatering til DR NU Player addon’en mod det nye API og det virker heldigvis! 🙂
Som bonus er der iOS m3u8 links tilgængelige så XBMC kan pause og søge i videoerne igen – endelig! fristes man til at tænke…

Testversionen af addon’en kan hentes her. Versionen er 3.9.0 og det er muligt at finde et program og se det. Alle de andre ting i addon’en er slået fra. Jeg arbejder videre med at få det slået til igen og finpudset. Lad mig høre om det virker for jer og hvilke OS, mv. i prøver på.

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

Bruger du stadig XBMC 11.0 (Eden)?

Update 14. juli: Jeg har kopieret og tilpasset Frodo udgaven af TV3 Play addon’en til Eden og det er blevet til version 1.0.6. Det kan pt. hentes via mit beta-repository.

TV3 Play til XBMC Eden har en – sporadisk? – fejl som jeg får en del fejlrapporter på. Jeg har ikke rigtigt undersøgt problemet for jeg tænkte der nok ikke er så mange som stadig bruger XBMC Eden. Måske tager jeg fejl?

Bruger du stadig Eden? – og i så fald hvorfor har du ikke opgraderet til XBMC Frodo endnu?
Det er jo mere end fem måneder siden den udkom.

A trip down memory lane…

xbmc-eden-announce-2-650

Opsætning af HDHomeRun Dual

Som tidligere nævnt købte jeg for nyligt en HDHomeRun Dual netværkstuner fordi min YouSee boks mere eller mindre er stået af. Selvom opsætningen ikke tog mere end en aftenstid, så var det ikke uden besvær og et par aha’ øjeblikke. Der findes en hel del information om HDHomeRun på nettet, men det er svært at finde de rigtige oplysninger. Hermed et forsøg på at råde bod på det 🙂

Mit setup består af en Debian Wheezy linux server som også kører mit Tvheadend setup. Tvheadend kommunikerer med HDHomeRun tuneren via dvbhdhomerun driveren. I dette indlæg vil jeg fokuserer på at compile driveren og konfigurere HDHomeRun tuneren.

Inden vi starter skal der installeres lidt software vi skal bruge. Det antages du allerede har koblet HDHomeRun boksen til netværket og antennekablet.

sudo apt-get install hdhomerun-config libhdhomerun-dev cmake linux-source-3.2 cvs build-essential

hdhomerun_config værktøjt bruges til at konfigurer tuneren. Disse ændringer gemmes permanent i boksens firmware og er derfor kun nødvendige en gang. Først skal vi finde tuneren på netværket, det ser cirka sådan ud:

$ hdhomerun_config discover
hdhomerun device XXXXXXXX found at aaa.bbb.ccc.ddd

– XXXXXXXX er ID’et på boksen og skal bruges i de efterfølgende kommandoer.

Firmwaren opdateres let til  den nyeste version. Check nederst på denne side for opdaterede firmwares. Så vidt jeg kan gennemskue gemmes indstillingerne ved en firmware opdatering.

$ wget http://download.silicondust.com/hdhomerun/hdhomerun3_dvbtc_firmware_20130328.bin
$ hdhomerun_config XXXXXXXX upgrade hdhomerun3_dvbtc_firmware_20130328.bin

Nu er vi kommet til de vigtige indstillinger – jeg spildte en del tid inden jeg fandt løsningen – opsætningen af QAM modulation samt channel map. Som YouSee kunde skal modulation sættes til a8qam64-6875. Jeg fandt oplysningen vha. google, jeg ved ikke om man kan udlede den på en anden måde.
Den anden vigtige oplysning er at sætte channel map til eu-cable. Ganske åbenlyst, men svært at finde oplysninger om. Ved at ændre channel map udvides frekvensområdet til at scanne et meget større område under kanalsøgningen vi laver om lidt.

$ hdhomerun_config XXXXXXXX set /sys/dvbc_modulation a8qam64-6875
$ hdhomerun_config XXXXXXXX set /tuner0/channelmap eu-cable
$ hdhomerun_config XXXXXXXX set /tuner1/channelmap eu-cable

Med ovenstående indstillinger på plads er vi klar til at lave en kanalsøgning. I mit tilfælde scannede den omkring 1000 frekvenser og den tog en times tid. Outputtet gemmes i hdhomerun.log filen.

$ hdhomerun_config XXXXXXXX scan 0 hdhomerun.log

Når scanningen er fuldført kan vi med lidt awk magi omtrylle log filen til en dvb-scan fil som Tvheadend kan læse – på den måde undgår vi at scanne i Tvheadend.

$ awk '{if ($1 ~ /SCANNING/) print "\n" $2; else print $0}' hdhomerun.log | awk 'BEGIN { RS = "" ; FS = "\n" } { if (length($4) > 0) print "C " $1 " 6875000 NONE QAM64" }' > dk-YouSee

Det var opsætningen af HDHomeRun boksen, nu skal dvbhdhomerun driveren compiles. På min Debian Wheezy server kræver det lidt ekstra krumspring, mens det efter sigende skulle være lettere på en Ubuntu maskine. Jeg fulgte denne guide, kort fortalt er det nødvendigt at bygge noget af Linux kernen fordi Debian ikke inkluderer DVB headers som standard.

$ cd /usr/src
$ tar xf linux-source-3.2.tar.bz2
$ cd linux-source-3.2
$ cp /boot/config-3.2.0-4-686-pae .config
$ make oldconfig
$ cp /usr/src/linux-headers-3.2.0-4-686-pae/Module.symvers .
$ make prepare scripts

Med det på plads kan vi fokusere på dvbhdhomerun. Først checkes koden ud og driveren compiles. modprobe linjen indlæser driveren i Linux kernen – for at gøre det automatisk under opstart kan en linje med dvb_hdhomerun tilføjes i /etc/modules.

$ cd /usr/src
$ cvs -z3 -d:pserver:anonymous@dvbhdhomerun.cvs.sourceforge.net:/cvsroot/dvbhdhomerun co -P dvbhdhomerun
$ cd dvbhdhomerun/kernel
$ sudo make install
$ sudo modprobe dvb_hdhomerun

Anden halvdel af dvbhdhomerun er et såkaldt user space program som kommunikerer med driveren. Programmet indlæser nogle få indstillinger fra /etc/dvbhdhomerun filen. Min ser således ud (XXXXXXXX skal udskiftes som tidligere):

[XXXXXXXX-0]
tuner_type=DVB-C
[XXXXXXXX-1]
tuner_type=DVB-C

Endelig compiles user space programmet således:

$ cd ../userhdhomerun
$ make
$ sudo build/userhdhomerun

Sidste linje starter programmet og du skulle gerne se en del log output omkring kommunikation med HDHomeRun tuneren. Med driveren indlæst og user space programmet startet er denne del af guiden slut. Næste gang vil jeg beskrive hvordan jeg installerer Tvheadend og får den til at kommunikere med HDHomeRun gennem dvbhdhomerun driveren.

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?

« Ældre indlæg Nyere indlæg »

© 2024 Tommy Winther

Tema af Anders NorenOp ↑