Tvheadend, Yleisradion tekstitykset ja tallentaminen

Vaihtoehtoja VDR:lle? Keskustele vapaasti muista vastaavista järjestelmistä

Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja antoine » 14.09.2011 23:20

Useimmat niistä, jotka em. ohjelmiston parissa ovat hääränneet, ovat varmaankin havainneet tämän kolmikon jokseenkin ongelmalliseksi. DVB-tekstit näkyvät moitteettomasti toistettaessa suoraa lähetystä (ainakin xbmc:llä). Toisaalta tekstitykset otetaan nykyisin mukaan myös matroska-tallenteisiin uudenlaisina S_DVBSUB-tyyppisinä tekstitysraitoina. Tästä ongelmat kuitenkin oikeastaan vasta alkavat, sillä moinen formaatti on useimmille mediatoisto-ohjelmistoille ilmeisesti jokseenkin tuntematon käsite.

Nähdäkseni helpoin ja suurimman yhteensopivuuden varmistava ratkaisu on muuntaa tekstitysraidat varsin yleisesti tunnettuun (ja tuettuun) VobSub-muotoon. Koska VobSub (samoin kuin DVBsub) on rasterimuotoinen formaatti, vältytään toisaalta hankalalta tekstintunnistusoperaatiolta ja voidaan toisaalta säilyttää tekstit (lähes) alkuperäisessä asussaan halki koko tallennus-varastointi-toisto-ketjun.

Edellä kuvattu muunnos voidaan toisaalta toteuttaa ainakin kahdella tavalla: ensinnäkin voidaan muuntaa TV-lähetyksen mukana saapuva bittivirta sitä mukaa kuin sitä vastaanotetaan ja kirjoittaa matroskaan suoraan S_VOBSUB-raitoja; tällöin on muokattava Tvheadendin omaa koodia. Toiseksi voidaan antaa tekstitysten tallentua kuten nytkin ja muuntaa ne vasta jälkikäteen; tähän tarvitaan oma ohjelmistonsa.

Mukana olevat puukotustiedostot ovat oma, alustava ratkaisuni tähän ongelmaan. Huomatkaa, että kirjoittamani dvbsub-dekooderi (ks. kumpaankin pakettiin sisältyvät tiedostot dvbsub.c ja .h) on rakennettu vain Suomen ja YLE:n olosuhteisiin: se ei toteuta mitenkään täydellisesti virallista DVB-tekstitysspesifikaatiota. Jo Yle HD -kanavakin poikkeaa sen verran normaalitarkkuuksisista sisaristaan, ettei dekooderi tulkitse siellä lähetettyjä tekstejä täysin oikein. Jos kuka viitsii, laajentakoon toteutusta erityisesti tältä osin. Vaikka koodini kommentointi onkin ulkomaankielistä, ei sitä nykyisellään juuri kannata siis ulkomaille tarjota.

Lisäys: kolmaskin ratkaisu alkuperäiseen ongelmaan tulee kysymykseen, nimittäin videon uudelleenkoodaaminen ja DVB-tekstitysten polttaminen siinä yhteydessä sellaisenaan kiinni kuvaan. Tämä edellyttää omia muokkauksiaan videon muunto-ohjelmistoon. Itse muunnan kaikki tallennukset automaattisesti (h.264+aac-) mp4-muotoon HandBraken avulla; alla on kyseinen puukotus toteutettu siihen - tällä erää DVB-tekstit ovat kuitenkin käytettävissä vain komentorivikäyttöliittymästä (HandBrakeCLI) käsin. Huomatkaa, että molemmat muut patchit jäävät tarpeettomiksi, jos tämä on käytössä.

Tvheadend - tallenna s_dvbsubin sijasta s_vobsub-raitoja -- git-versio 8.7.2016:
tvheadend-20160708-vobsub.diff.tgz
(8.71 KiB) 57 kertaa

Mkvextract (mkvtoolnix) - s_dvbsub-raitojen muuntaminen ja kirjoittaminen .idx- ja .sub-tiedostoiksi (komennolla 'mkvextract tracks') -- git-versio 8.7.2016:

HandBrake - tuki s_dvbsub-raitojen lukemiseen (ffmpeg:n kautta) ja kiinni polttamiseen (komentoriviltä) -- git-versio 8.7.2016:
handbrake-20160708-dvbsub.diff.tgz
(10.75 KiB) 47 kertaa

XBMC - ks. https://www.lonelycoder.com/redmine/boards/5/topics/848?r=1568#message-1568

9/2011: tvheadend- ja mkvtoolnix-patchien päivitys: koodin rakennetta, muistinkäsittelyä ja standardinmukaisuutta parannettu; HandBrake-patch lisätty
4/2012: XBMC-linkki lisätty
7/2012: paikkaukset päivitetty
7/2014: paikkaukset päivitetty
7/2015: paikkaukset päivitetty, ruudulle jämähtävät tekstit korjattu
7/2016: paikkaukset päivitetty
Viimeksi muokannut antoine päivämäärä 08.07.2016 7:47, muokattu yhteensä 7 kertaa
tvheadend @arch linux @rpi → itunes @imac → apple tv
antoine
Asiantuntija
 
Viestit: 123
Liittynyt: 20.04.2009 18:29
Paikkakunta: Hämeenkyrö

Re: Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja Köntzä » 29.11.2011 23:50

Moi,

Mihin mkvtoolnix-versioon olet tuon puukotuksen tehnyt?
EDIT: DUH, siinähän se patch-filussa näkyy...

ps. Hienoa, että olet tehnyt tämän työn! Kohta vuosi sitten 'erehdyin' käyttämään jonkun aikaa tvheadendiä, mutta huomasin juurikin tuon tekstitys-ongelman itselleni ylitsepääsemättömäksi ja palasin VDR:ään. Muuten kyllä tykkäsin tvheadendistä, web-ui oli jonkinverran mukavampi käyttää kuin VDR:n vastaavat. Ehkä joskus kokeilen taas tvheadendiä kun DVBSUB on laajemmin tuettu muissa softissa.
--
jussi
Köntzä
Vastasyntynyt
 
Viestit: 9
Liittynyt: 08.01.2007 16:55
Paikkakunta: Joensuu

Re: Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja antoine » 02.12.2011 14:29

Terve,

itselläni on tätä nykyä tuo handbrake-patch ihan tuotantokäytössä asenna-ja-unohda-periaatteella - tekstit näkyvät täsmälleen samoin niin yleltä kuin mainoskanaviltakin nauhoitetuissa ohjelmissa ja missä toisto-ohjelmistossa tahansa.

Eivät kai tekstitykset VDR:n tekemissä ts-tallenteissa ole muille ohjelmille mitenkään sen helpompia näyttää - samassa dvbsub-formaatissahan nekin ovat.

Pistänpä muuten tännekin puolelle linkin vdr-tallenteiden tekstien käsittelyyn: http://linuxtv.fi/viewtopic.php?f=12&t=4515
tvheadend @arch linux @rpi → itunes @imac → apple tv
antoine
Asiantuntija
 
Viestit: 123
Liittynyt: 20.04.2009 18:29
Paikkakunta: Hämeenkyrö

Re: Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja Köntzä » 02.12.2011 21:34

antoine kirjoitti:Terve,

Eivät kai tekstitykset VDR:n tekemissä ts-tallenteissa ole muille ohjelmille mitenkään sen helpompia näyttää - samassa dvbsub-formaatissahan nekin ovat.



Mulla Oneiricin tehdasasenteinen VLC näyttää tekstit VDR:n YLE-tallenne-TS-filuista.

Sama VLC ei osaa tvheadendin tekstejä osaa näyttää. Tunnistaa kyllä, että siellä on suomenkielinen tekstitysstreami, mutta lopulta sanoo:"VLC does not support the audio or video format "undf". Unfortunately there is no way for you to fix this."

Alla vertailussa mukana olleiden tallenteiden tulokset tekstitysstreamien osalta otettuna mediainfo -sovelluksella.

VDR tallenne
------------------------------------------------------------
ID : 4027 (0xFBB)
Menu ID : 132 (0x84)
Format : DVB Subtitle
Codec ID : 6
Language : Finnish


TV Headend tallenne
------------------------------------------------------------
ID : 4
Format : S_DVBSUB
Codec ID : S_DVBSUB
Language : Finnish


mkvtoolnix-patchin käyttöönotossa kävi mulla joku kämmi, kun tulostiedostojen tulos semmoinen, että IDX-filessä oli tavaraa, mutta SUB-file oli nollatavuinen :(
--
jussi
Köntzä
Vastasyntynyt
 
Viestit: 9
Liittynyt: 08.01.2007 16:55
Paikkakunta: Joensuu

Re: Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja antoine » 03.12.2011 16:04

Hyvä on sitten jos osaa. Vlc ei sitten ilmeisesti tarvitsisi kummoistakaan puukottamista jotta sen saisi tulkitsemaan oikein myös mkv-raidoista tulevaa dvbsub-dataa.

Koitapas lisätä mkvextract-komennon alkuun ympäristömuuttuja 'SUB_VERBOSE=3'. Tällöin ohjelman pitäisi tulostaa tietoa löytämistään teksteistä. Jos nappaat ffmpegillä sopivankokoisen pätkän videota sellaiselta kohdalta, missä tekstejä pitäisi olla, ja pistät jonnekin saataville, voisin tutkia asiaa.
tvheadend @arch linux @rpi → itunes @imac → apple tv
antoine
Asiantuntija
 
Viestit: 123
Liittynyt: 20.04.2009 18:29
Paikkakunta: Hämeenkyrö

Re: Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja Köntzä » 05.12.2011 0:55

FYI: löytyihän se syy 0-tavuisiin sub-filuihin. Yritin mkvextractilla ottaa mkv-filusta ulos tekstistremia, joka mun koetiedostossa on italiankielinen tekstitys. Kun vaihdoin sen tilalle stream 3:n, niin johan tuli sub-filuunkin tavaraa. Eikun koodaamaan, notta saan muutkin tekstistreamit ulos videosta...

EDIT: ei pitäisi tällä ikää enää liian myöhään tehdä mitään liian vaikeaa :) Ei kait siihen sub-filuun mitään tule jos ko. streamissä ei ole mitään mitä sinne kirjoittaa...
--
jussi
Köntzä
Vastasyntynyt
 
Viestit: 9
Liittynyt: 08.01.2007 16:55
Paikkakunta: Joensuu

Re: Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja vesajok » 17.01.2012 19:48

Lyhyt kysymys. Miten nuo tvheadendin patchit asennetaan?
vesajok
Vastasyntynyt
 
Viestit: 1
Liittynyt: 17.01.2012 19:42

Re: Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja antoine » 19.01.2012 8:25

Hakemistosta, johon olet hakenut lähdekoodin (git clone https://github.com/andoma/tvheadend.git), siirryt uuteen hakemistoon 'tvheadend' ja komennat
Koodi: Valitse kaikki
patch -p1 < ~/vobsub.patch
(sikäli kuin tiedosto sijaitsee kotihakemistossasi).
Tämän jälkeen normaalisti ./configure, make ja make install.
tvheadend @arch linux @rpi → itunes @imac → apple tv
antoine
Asiantuntija
 
Viestit: 123
Liittynyt: 20.04.2009 18:29
Paikkakunta: Hämeenkyrö

Re: Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja ae99 » 20.01.2012 0:47

Moi,

Jos tarkoituksena on vaan katsella ylen dvb-tekstitettyjä tallenuksia XBMC:llä, onnistuu homma kätevästi yhden rivin patchilla XBMC:n sourceen. Eli:

Koodi: Valitse kaikki
diff --git a/lib/ffmpeg/libavformat/matroska.c b/lib/ffmpeg/libavformat/matroska.c
index c7e9663..ea77bdc 100644
--- a/lib/ffmpeg/libavformat/matroska.c
+++ b/lib/ffmpeg/libavformat/matroska.c
@@ -58,6 +58,7 @@ const CodecTags ff_mkv_codec_tags[]={
     {"S_TEXT/SSA"       , CODEC_ID_SSA},
     {"S_ASS"            , CODEC_ID_SSA},
     {"S_SSA"            , CODEC_ID_SSA},
+    {"S_DVBSUB"         , CODEC_ID_DVB_SUBTITLE},
     {"S_VOBSUB"         , CODEC_ID_DVD_SUBTITLE},
     {"S_HDMV/PGS"       , CODEC_ID_HDMV_PGS_SUBTITLE},


Tätä olen itse käyttänyt jo pitkään ja on toimivaksi todettu. Huom! Ei ole omaa tekoa vaan löytyi tvheadendin forumilta. Kiitokset "Mikolle"! :D
ae99
Vastasyntynyt
 
Viestit: 2
Liittynyt: 20.01.2012 0:32

Re: Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja savis21 » 30.03.2012 15:02

ae99 kirjoitti:Moi,

Jos tarkoituksena on vaan katsella ylen dvb-tekstitettyjä tallenuksia XBMC:llä, onnistuu homma kätevästi yhden rivin patchilla XBMC:n sourceen. Eli:

Koodi: Valitse kaikki
diff --git a/lib/ffmpeg/libavformat/matroska.c b/lib/ffmpeg/libavformat/matroska.c
index c7e9663..ea77bdc 100644
--- a/lib/ffmpeg/libavformat/matroska.c
+++ b/lib/ffmpeg/libavformat/matroska.c
@@ -58,6 +58,7 @@ const CodecTags ff_mkv_codec_tags[]={
     {"S_TEXT/SSA"       , CODEC_ID_SSA},
     {"S_ASS"            , CODEC_ID_SSA},
     {"S_SSA"            , CODEC_ID_SSA},
+    {"S_DVBSUB"         , CODEC_ID_DVB_SUBTITLE},
     {"S_VOBSUB"         , CODEC_ID_DVD_SUBTITLE},
     {"S_HDMV/PGS"       , CODEC_ID_HDMV_PGS_SUBTITLE},


Tätä olen itse käyttänyt jo pitkään ja on toimivaksi todettu. Huom! Ei ole omaa tekoa vaan löytyi tvheadendin forumilta. Kiitokset "Mikolle"! :D

Moi! Mistä olet hakenut nuo XBMC:n sourcet ts. mihin versioon olet tehnyt muokkauksen? Ja miten tuo XBMC:n käännös tehdään?
savis21
Säätäjä
 
Viestit: 210
Liittynyt: 29.03.2009 14:09

Re: Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja ae99 » 10.04.2012 17:18

savis21 kirjoitti:
ae99 kirjoitti:Moi,

Jos tarkoituksena on vaan katsella ylen dvb-tekstitettyjä tallenuksia XBMC:llä, onnistuu homma kätevästi yhden rivin patchilla XBMC:n sourceen. Eli:

Koodi: Valitse kaikki
diff --git a/lib/ffmpeg/libavformat/matroska.c b/lib/ffmpeg/libavformat/matroska.c
index c7e9663..ea77bdc 100644
--- a/lib/ffmpeg/libavformat/matroska.c
+++ b/lib/ffmpeg/libavformat/matroska.c
@@ -58,6 +58,7 @@ const CodecTags ff_mkv_codec_tags[]={
     {"S_TEXT/SSA"       , CODEC_ID_SSA},
     {"S_ASS"            , CODEC_ID_SSA},
     {"S_SSA"            , CODEC_ID_SSA},
+    {"S_DVBSUB"         , CODEC_ID_DVB_SUBTITLE},
     {"S_VOBSUB"         , CODEC_ID_DVD_SUBTITLE},
     {"S_HDMV/PGS"       , CODEC_ID_HDMV_PGS_SUBTITLE},


Tätä olen itse käyttänyt jo pitkään ja on toimivaksi todettu. Huom! Ei ole omaa tekoa vaan löytyi tvheadendin forumilta. Kiitokset "Mikolle"! :D

Moi! Mistä olet hakenut nuo XBMC:n sourcet ts. mihin versioon olet tehnyt muokkauksen? Ja miten tuo XBMC:n käännös tehdään?


Joo eli siis homma menee jokseenkin näin:
- Lataa xbmc-source koneelle: git clone https://github.com/opdenkamp/xbmc.git xbmc-pvr
- cd xbmc-pvr
- tallenna ylläoleva patch tiedostoon dvbsubpatch: nano dvbsubpatch -> copy/paste, ctrl-X
- git apply dvbsubpatch

XBMC:n käännösohjeet löytyy README.ubuntu filestä, mutta lyhyesti:
- asenna tarvittavat paketit (sudo apt-get install ...)
- cd xbmc-pvr
- ./bootstrap
- ./configure --prefix=/usr
- make
- sudo make install
ae99
Vastasyntynyt
 
Viestit: 2
Liittynyt: 20.01.2012 0:32

Re: Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja milahti » 14.04.2012 15:29

ae99 kirjoitti:
Joo eli siis homma menee jokseenkin näin:
- Lataa xbmc-source koneelle: git clone https://github.com/opdenkamp/xbmc.git xbmc-pvr
- cd xbmc-pvr
- tallenna ylläoleva patch tiedostoon dvbsubpatch: nano dvbsubpatch -> copy/paste, ctrl-X
- git apply dvbsubpatch

XBMC:n käännösohjeet löytyy README.ubuntu filestä, mutta lyhyesti:
- asenna tarvittavat paketit (sudo apt-get install ...)
- cd xbmc-pvr
- ./bootstrap
- ./configure --prefix=/usr
- make
- sudo make install


Kohtuu noviisina käyttäjänä mietin, että mitä tapahtuu automaattisille päivityksille jos lähden tälle tielle? Nykyisellään xbmc-pvr päivittyy mukavan automaattisesti, mutta entä jos teen tämän patchin?
milahti
Vastasyntynyt
 
Viestit: 1
Liittynyt: 14.04.2012 15:23

Re: Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja nm » 14.04.2012 15:55

milahti kirjoitti:Kohtuu noviisina käyttäjänä mietin, että mitä tapahtuu automaattisille päivityksille jos lähden tälle tielle? Nykyisellään xbmc-pvr päivittyy mukavan automaattisesti, mutta entä jos teen tämän patchin?

Joudut päivittämään XBMC:n aina manuaalisesti (tai skriptillä, jonka voi vaikkapa ajaa cronin avulla kuukausittain). Jos et poista repositoriosta asennettua XBMC-pakettia, paikattu versio korvautuu paikkaamattomalla seuraavassa päivityksessä.
nm
Johtava konsultti
 
Viestit: 3143
Liittynyt: 22.07.2005 3:00

Re: Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja antoine » 16.04.2012 13:08

Totesin, että Handbraken koodiin on hiljattain (tarkemmin sanoen svn-revisiossa 4546) tehty niin massiivisia rakenteellisia muutoksia, että esittämäni paikkaus ei ole ollenkaan triviaalisti sovellettavissa siihen - varhaisemmat versiot toimivat. Yllä esitetty xbmc- (tosiasiassa ffmpeg-) muokkaus muuten sisältyy myös tähän paikkaukseen.

Lisään linkin mainittuun xbmc-muokkaukseen ketjun ylimpään viestiin. Voitaisiinko ajatella, että tarkempi keskustelu xbmc:n kääntämisestä yms. siihen liittyvästä (kuten muistakin toisto-ohjelmistoista) käytäisiin sitten omassa ketjussaan.
tvheadend @arch linux @rpi → itunes @imac → apple tv
antoine
Asiantuntija
 
Viestit: 123
Liittynyt: 20.04.2009 18:29
Paikkakunta: Hämeenkyrö

Re: Tvheadend, Yleisradion tekstitykset ja tallentaminen

ViestiKirjoittaja johu » 09.06.2012 17:10

antoine kirjoitti:Totesin, että Handbraken koodiin on hiljattain (tarkemmin sanoen svn-revisiossa 4546) tehty niin massiivisia rakenteellisia muutoksia, että esittämäni paikkaus ei ole ollenkaan triviaalisti sovellettavissa siihen - varhaisemmat versiot toimivat. Yllä esitetty xbmc- (tosiasiassa ffmpeg-) muokkaus muuten sisältyy myös tähän paikkaukseen.

Nykyään kun mm. mkvtoolnix, VLC, XBMC ja Handbrake tukevat suoraan ilman mitään lisäpätsäyksiä BluRay PGS tekstejä voisi DVB ja VobSub formaattien sijaan harkita sen käyttöä Tvheadendin MKV tallenteissa? Siinä ei ole myöskään tuota ongelmaa paletin kanssa kun pystyy näyttämään enemmän kuin neljä väriä kerrallaan.

Omasta VDR .TS + DVB subs -> MKV + PGS subs viritelmästä löytyy selitys täältä.
johu
Vastasyntynyt
 
Viestit: 2
Liittynyt: 09.06.2012 16:36

Seuraava

Paluu Vaihtoehtoiset ohjelmistot

Paikallaolijat

Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 1 vierailijaa