Kirjoittaja Aihe: Digi-tv-nauhoitteet DVD:lle – mutta entä Ylen tekstien väri? [Ratkaistu]  (Luettu 11478 kertaa)

SuperOscar

  • Käyttäjä
  • Viestejä: 3993
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
(Valitan pitkää viestiä: tarkoitukseni on samalla tuottaa jonkinlainen ohjeenpohja mahdollisesti myöhempää wiki-juttua varten. Lopussa kuitenkin myös kysymys, josta syystä en sijoita tätä Oppaiden kehittäminen -alueelle.)

Pitkän harjoittelun ja ahkerien täällä foorumilla tehtyjen hakujen jälkeen olen päässyt siihen vaiheeseen, että digi-tv-nauhoitteeni ovat alkaneet iloisesti siirtyä dvd:ille – myös Ylen kanavien nauhoitukset teksteineen. Tästä säikeestä ja etenkin siinä olevista UbunTuxin kommenteista oli paljon hyötyä tekstitysongelmien ratkaisemisessa.

Prosessi on seuraava:

  • ensin leikataan ProjectX:llä mainokset pois ja demuksataan .m2t-tiedosto .m2v- ja .mp2-tiedostoiksi
  • Ylen nauhoituksissa pitää käyttää uudempaa ProjectX:ää kuin mitä Sourceforgesta löytyy eli em. säikeessä mainittua; tekstitysmuodoksi valitaan SUP ja lisäksi rastitetaan käyttöön VobSub-vienti
  • tuloksena syntyvästä .sup.sub-tiedostosta irrotetaan spuunmux-ohjelmalla tekstit .png-kuviksi (spuunmux nauhoite.sup.sub); tuloksena tiedostot sub.xml ja hirmuinen liuta .png-kuvia (josta syystä komento kannattaa ajaa hakemistossa, jonka myöhemmin voi tyhjentää)
  • tehdään mplex-ohjelmalla .mpg-tiedosto (mplex -f 8 -o nauhoite.mpg nauhoite.m2v nauhoite.mp2)
  • lisätään Ylen tekstitykset joukkoon (spumux sub.xml < nauhoite.mpg > nauhoite-tekstitetty.mpg)
  • luodaan DVD-rakenne (md dvd; dvdauthor -t -o dvd -f nauhoite-tekstitetty.mpg; dvdauthor -T -o dvd)
  • käynnistetään K3b, luodaan video-DVD-projekti ja kopioidaan sen VIDEO_TS-alihakemistoon äsken luodun dvd-hakemiston VIDEO_TS-alihakemiston sisältö ja poltetaan levylle.

Tuossa on n vaihetta ja auki kirjoitettuna se näyttää kamalan vaikealta, mutta oikeasti prosessi sujuu aika näppärästi. Tarvittavia paketteja ovat ainakin mjpegtools ja dvdauthor; KDE:n käyttäjänä en tiedä (enkä haluakaan tietää ;D), millä gnomistit korvaavat Kaffeinen ja K3b:n.

Mutta se ongelma ja kysymys: Ylen tekstit näkyvät lopullisessa DVD:ssä väriltään tummanvihreinä, mikä ei oikein toimi... Keksiikö joku, miten väriä voisi säätää? Ainakin spumuxissa on -p-parametri, joka jotenkin näyttää liittyvän väreihin, mutten mistään löydä esimerkkiä sen käytöstä.
« Viimeksi muokattu: 04.09.08 - klo:17.17 kirjoittanut SuperOscar »
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 13.2-RELEASE; RPi 2: LibreELEC 11

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
Juu soittimet näemmä arpovat tekstitysten värin.


Jos käytössäsi on Kaffeine, niin ehdottaisin lisääämään tekstitysten PIDeihin teksti-TVn PIDin.

451 sivu on YLE TV1:n  jne ja FST 771-773. Tällä hetkellä tkestit kulkevat 1.,9 sekuntia edellä asian voi korjata nopeasti vaikka mkvtool-nixillä (mkvmerge+mkvextract).


spumuxin man sivulta löytyy ohje tekstipohjaisten tekstitysten käyttöön.
KDE neon
Uudempaa KDE:tä Ubuntulla

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
IfoEdit ainakin lähti winellä päälle. Käytännön kokemusta toimivuudesta ei ole. Pitäisi kai testata.

http://digilaari.blogspot.com/search/label/IfoEdit
KDE neon
Uudempaa KDE:tä Ubuntulla

retu

  • Käyttäjä
  • Viestejä: 949
    • Profiili
Oletkos katsonut niitä lukuisia png tiedostoja että miltä värit näyttää niissä?
En nyt tiedä onko varsinainen vika ProjectX:n vai spuunmux ohjelman puolella (vai YLE:ssä), mutta värit lienee niissä kuvissa pielessä (koska ne sup tekstit on kuvia, jotka katselun yhteydessä yhdistetään elokuvaan).

En tiedä miten spuunmux:n saa tottelemaan, mutta kokeile pxsup2dast-ohjelmaa. Se osaa katsoa värit ifo tiedostosta. Voit myös antaa parametrina värit mitä png-kuvissa käytetään (jos ifo on viturallaan).
Esim:
Koodia: [Valitse]
pxsup2dast elokuva.sup 404040,E0E0E0,808080
...luo alihakemiston elokuva.d/ ja purkaa sinne png ja xml tiedostot. Nuo kolme viimeistä parametriä ovat png kuvissa käytetyt värit. Vaalea teksti tummalla reunuksella, joka sopii ainakin minun silmille.
« Viimeksi muokattu: 22.08.08 - klo:18.44 kirjoittanut retu »

SuperOscar

  • Käyttäjä
  • Viestejä: 3993
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Oletkos katsonut niitä lukuisia png tiedostoja että miltä värit näyttää niissä?

Sama kävi mielessä minulla eilettäin. Täytyypä tarkistaa tuo seuraavan kerran. Jos vika on PNG:issä (niissä esim. käytettäisiin läpinäkyvää väriä, jota DVD-soittimet eivät hallitsisi), niin korjausta voisi tosiaan yrittää eräajona sopivilla työkaluilla.

Lainaus
En tiedä miten spuunmux:n saa tottelemaan, mutta kokeile pxsup2dast-ohjelmaa.

Kiitti vinkistä! Kokeilen tuota heti kun tilaisuus suo.
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 13.2-RELEASE; RPi 2: LibreELEC 11

E_LE

  • Käyttäjä
  • Viestejä: 95
    • Profiili
Lainaus
Mutta se ongelma ja kysymys: Ylen tekstit näkyvät lopullisessa DVD:ssä väriltään tummanvihreinä, mikä ei oikein toimi... Keksiikö joku, miten väriä voisi säätää? Ainakin spumuxissa on -p-parametri, joka jotenkin näyttää liittyvän väreihin, mutten mistään löydä esimerkkiä sen käytöstä.

Käytän edelleen vanhaa versiota (Project X 0.90.4.00/ 30.03.2006) SUP-tekstien kanssa.
Valitsen ProjextX:n värimallin (YLE) suoraan: presettings->subtitles välilehdellä.
Ongelmia ei ertiyisemmin ole. Loppu menee kutakuinkin samoin kuin sinulla, tosin joskus teen DVDstylerillä menut.


Kannattaa tarkistaa värimalli, Yle muutti sitä jokin aika  sitten. Alla vanha ja nykyinen käyttämäni

-- nämä tiedostossa colours.tbl  (in ProjectX.jar)
table=YLE_old
model=4
0=0
1=FF010101
2=FF010101
3=FF010101
4=FF010101
5=FF010101
6=FF010101
7=FF9C9C9C
8=FF9C9C9C
9=FFD0D0D0
10=FFD0D0D0
11=FFD0D0D0
12=FFD0D0D0
13=FFD0D0D0
14=FFD0D0D0
15=FFD0D0D0


table=YLE
model=4
0=0
1=FF000000
2=FF000000
3=FF000000
4=FF000000
5=FF000000
6=FF000000
7=FF000000
8=FF000000
9=FF000000
10=FF000000
11=FF000000
12=FF000000
13=FF000000
14=FFFFFFFF
15=FFFFFFFF

-- ja näitä voi vapaasti lisätä ja editoida

SuperOscar

  • Käyttäjä
  • Viestejä: 3993
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Enpä ole ehtinyt (tai ehtinyt tai ehtinyt ::)) retunkaan ohjetta vielä kokeilla, mutta...

ProjectX:ssä näkyy tosiaan olevan colours.tbl:ssä juuri tuo ”vanha” värimalli – riippumatta siitä, onko kyseessä uudempi vai vanhempi ProjectX. (Kummankin versionumerohan on harmillisesti sama, 0.90.4.)

Mitenkäs se ”turvallisesti” saa muutetuksi? Tarkoitan, .jar-tiedostohan on kai vain zippi, mutta toimiiko se ookoo, jos puran sen jonnekin, muokkaan colours.tbl:ää ja pakkaan uudelleen? Täytyykö zipatessa joidenkin vipujen olla juuri tietyssä asennossa?
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 13.2-RELEASE; RPi 2: LibreELEC 11

E_LE

  • Käyttäjä
  • Viestejä: 95
    • Profiili
Se tekstityksen vihreys johtuu juuri tuosta vanhasta värimallista. Tuo colours.tbl on tavallinen tekstitiedosto, jota voi editoida.
 Kyllähän tietysti ottaisin varmuuskopion

SuperOscar

  • Käyttäjä
  • Viestejä: 3993
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Johtuu eli ei, mutta ainakaan colours.tbl:n muokkaaminen ei vaikuttanut millään lailla käytettävään tekstin väriin: tummanvihreää on edelleen, punaisin reunoin :P

Värit ovat muuten näin jo .png-kuvissa, joten voisi auttaa, jos jollakin työkalulla saisi eräajona muutettua värit:

  • punainen 127, 0, 0 mustaksi 0, 0, 0 (tai tummanharmaaksi, esim. 64, 64, 64)
  • vihreä 0, 127, 0 valkoiseksi 255, 255, 255

Muoks: Okei, näkyy onnistuvan ImageMagickin convert-komennolla näin:

Koodia: [Valitse]
convert sub00000.png -fill white -opaque \#007F00 -fill \#202020 -opaque \#7F0000 sub00000.fix.png
Tämän jälkeen pitää tietysti poistaa alkuperäiset .png:t ja nimetä .fix.png:t alkuperäisten nimille... Aika monta työvaihetta mutta kaikki sujuu varsin automaagisesti. Tuostahan voi värkätä vaikka skriptin.

Muoks 2: Skriptin tynkä väsätty, täytyy vielä kokeilla.

Koodia: [Valitse]
#!/bin/sh
# ---------
# tnmakedvd
# ---------
# Lähtökohta: ProjectX:llä demuksattu videotallenne (video.m2v, audio.mp2 ja
# tekstitys.sup.sub).
# Tulos: Poltettavaksi valmis DVD-rakenne.

  # Skripti vaatii parametrina "projektin" nimen
if [ "$1" = "" ]; then
    echo $0: Anna projektin nimi parametrina
    exit 1
fi

  # Tarkistetaan video- ja äänitiedostojen olemassaolo
for s in m2v mp2; do
    if [ ! -e $1.$s ]; then
        echo $0: Tiedostoa "$1.$s" ei löydy
        exit 1
    fi
done

mplex -f 8 -o $1.mpg $1.m2v $1.mp2

  # Jos tekstitystiedosto löytyy, käsitellään se
if [ -e $1.sup.sub ]; then
    spuunmux $1.sup.sub
    for f in sub*.png; do
        convert $f -fill white -opaque \#007F00 -fill \#202020 -opaque \#7F0000 $f.fix
        rm $f
        mv $f.fix $f
    done
    spumux sub.xml < $1.mpg > $1-tekstitetty.mpg
    rm $1.mpg
    mv $1-tekstitetty.mpg $1.mpg
fi

  # Luodaan .mpg-tiedostosta DVD-rakenne
mkdir dvd
dvdauthor -t -o dvd -f $1.mpg
dvdauthor -T -o dvd
« Viimeksi muokattu: 01.09.08 - klo:19.31 kirjoittanut SuperOscar »
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 13.2-RELEASE; RPi 2: LibreELEC 11

E_LE

  • Käyttäjä
  • Viestejä: 95
    • Profiili
Johtuu eli ei, mutta ainakaan colours.tbl:n muokkaaminen ei vaikuttanut millään lailla käytettävään tekstin väriin: tummanvihreää on edelleen, punaisin reunoin :P

Värimalli ei siirry jos et käytä .sup.ifo tiedostoa mihinkään (info on siellä sisällä). Mutta näyttää se käyvän ihan näppärästi suoraankin.
Ohessa oma tekeleeni, tekee oikeastaan ihan saman asian, mutta käyttää apuna
Tomi Ollilan pxsup2dast ohjelmaa. Nyt projectX.n valittu värmallikin siirtyy mukaan automaagisesti

Koodia: [Valitse]
#!/bin/sh

# usage:  teedvd.sh projekti
#
# needed files: projekti.m2v projekti.mp2
#               projekti.sup projekti.sup.ifo
#
# http://www.guru-group.fi/~too/sw/m2vmp2cut/pxsup2dast.c

NAME=`echo ${1}|cut --delimiter='.' --fields=1 `
echo BASENAME= ${NAME}


if [ -f ${NAME}.sup ]
then
# mplex and do subtitles if .sup exists
mplex -f 8 -V -o temp.vob ${NAME}.m2v ${NAME}.mp2

# put sub.xml *.png into folder NAME.d
pxsup2dast ${NAME}.sup ${NAME}.sup.IFO

# mux subtitles
spumux ${NAME}.d/spumux.xml < temp.vob > ${NAME}.vob
else

# otherwise plain mplex
mplex -f 8 -V -o ${NAME}.vob ${NAME}.m2v ${NAME}.mp2
fi

# dvdauthor
dvdauthor -t -o image ${NAME}.vob -a en -s fi
dvdauthor -o image -T

# clean up
#rm ${NAME}.vob
if [ -f ${NAME}.sup ]
then
 rm temp.vob
 rm ${NAME}.d/*
 rmdir ${NAME}.d
fi

# check: vlc image
# burn: k3b, mkifsofs yms


SuperOscar

  • Käyttäjä
  • Viestejä: 3993
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Voi ääh... Juuri kun yhden elokuvan oli saanut onnistuneesti poltettua, toinen tuottaa uusia ongelmia >:(

Nyt kävi niin, että spuunmuxin tuottamissa .png-kuvissa oli tasan yhtä väriä eli punaista – reunus ja sisus siis samalla värillä. Tämän jälkeen onkin yksi lysti miksi väriksi punaista yrittää muuttaa, suttua se on silti.

Kokeilin tuota pxsup2dastiakin, mutta ei sekään voinut asialle enää mitään: ilmeisesti ProjectX oli jo tuottanut virheellistä lähtötietoa. Täytyy palauttaa alkuperäinen ProjectX.jar ja kokeilla, miten toimii sillä.

Muoks: Jep, alkuperäinen ProjectX.jar toimi moitteettomasti; tosin värejä oli tekstityskuvissa kolme (punainen reuna, vihreä sisäreuna ja sammalenvihreä sisus) eikä kaksi, liekö se aiheuttanut ongelman? Ainakaan en voinut käyttää valmista skriptiäni, koska convert-komento täytyi ajaa eri parametrein käsin. Toimi kuitenkin.
« Viimeksi muokattu: 02.09.08 - klo:15.50 kirjoittanut SuperOscar »
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 13.2-RELEASE; RPi 2: LibreELEC 11

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
Jos se värimaailma nyppii niin ota käyttöön tekstiTV ja pura ProjectX:llä  srt-tekstit. ne ainakin spumux hanskaa hyvin.
Hassua, että minulla pxsup2dast näytti toimivan melkein täydellisesti. Tosin minusta YLEn tekstien sijoittelu on niin kuraa , että piti vääntää awk/sed-skripti  xml-tiedostoa jälkikäsittelemään  ;)
« Viimeksi muokattu: 02.09.08 - klo:16.43 kirjoittanut UbunTux »
KDE neon
Uudempaa KDE:tä Ubuntulla

SuperOscar

  • Käyttäjä
  • Viestejä: 3993
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Jos se värimaailma nyppii niin ota käyttöön tekstiTV ja pura ProjectX:llä  srt-tekstit. ne ainakin spumux hanskaa hyvin.

No joo, kun palautin ProjectX:n alkuperäiselleen, niin rupesivat taas .sup.sub-tekstitkin pelittämään, eli ei huolta enää.

Lainaus
Hassua, että minulla pxsup2dast näytti toimivan melkein täydellisesti.

Ehkei siinä minullakaan vikaa ollut, mutta ProjectX oli sössinyt jo syötetiedostot?
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 13.2-RELEASE; RPi 2: LibreELEC 11

SuperOscar

  • Käyttäjä
  • Viestejä: 3993
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Pikku muutos skriptiini: Näyttää siltä, että ProjectX arpoo edelleenkin tekstityksen värin vihreän (#007F00) ja sammalenvihreän (#7F7F00) väliltä, joten ennen ImageMagickin convert-komennon käyttöä on tarkistettava asia.

Tämä pätkä korvaa siis tekstityksen käsittelyn edellä olevasta skriptistäni ja olettaa, että ellei sammalenvihreää löydy, käytössä on vihreä (jos muita värejä vielä tulee vastaan, menee vaikeaksi :))...

Koodia: [Valitse]
  # Jos tekstitystiedosto löytyy, käsitellään se
if [ -e $1.sup.sub ]; then
    spuunmux $1.sup.sub
    if [ "`identify -verbose sub00000.png | grep \#7F7F00`" = "" ]; then
        FORECOLOUR=\#007F00
    fi
    for f in sub*.png; do
        convert $f -fill white -opaque ${FORECOLOUR:-\#7F7F00} -fill \#202020 -opaque \#7F0000 $f.fix
        rm $f
        mv $f.fix $f
    done
    spumux sub.xml < $1.000.mpg > $1.mpg
else
    mv $1.000.mpg $1.mpg
fi
« Viimeksi muokattu: 04.09.08 - klo:17.19 kirjoittanut SuperOscar »
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 13.2-RELEASE; RPi 2: LibreELEC 11

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
Noita skriptejä silmäillessä on pakko ehdottaa putkitusta. Nopeuttaa  lievästi sanoen huomattavasti tuota.

Näin
Koodia: [Valitse]
mkfifo video_tmp.mpg
spumux spumux.xml < video_tmp.mpg > video.mpg&
mplex -f8 video.m{2v,p2} -o video_tmp.mpg

Myös tuo video.mpg voidaan laittaa putkeksi dvdauthorille (teki sen sitten xml:n tai vipujen avulla). Eli ProjectX:n jälkeen ei noita suuria väliaikaistiedostoja  kovalevyllä kannata pyöritellä.
KDE neon
Uudempaa KDE:tä Ubuntulla

SuperOscar

  • Käyttäjä
  • Viestejä: 3993
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Noita skriptejä silmäillessä on pakko ehdottaa putkitusta. Nopeuttaa  lievästi sanoen huomattavasti tuota.

Sama on käynyt mielessä, mutta väliaikaistiedostoilla on yksi hyvä puoli: jos jokin vaihe kämmää, ei palata ihan alkuun. Nyttemmin vielä on vähän epäluottavainen värienkorjausrutiinini toimintaan...

Eikä koko homma itse asiassa mahdottoman pitkään kestä. Olen poltellut irtokiintolevyn sisältöjä DVD:iksi sarjatyönä samalla, kun olen tehnyt jotain muuta.
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 13.2-RELEASE; RPi 2: LibreELEC 11

retu

  • Käyttäjä
  • Viestejä: 949
    • Profiili
Tulipa vaihteeksi tallennettua Teemalta, joten kokeilin tuota ProjectX:n värimuutosta. Nyt toimii myös .ifo tiedostoa käyttäen kuten pitääkin eli pxsup2dast ohjelman voi ajaa kuten tuossa E_LE scriptissä ja värit on ok.

Muoks: Tarkemmin katsoen vituiks män eli png-kuvat on kyllä ok, mutta dvd:llä ei.  >:( Ilmeisesti vika on spumux ohjelmassa tai paletti-tiedostossa.
« Viimeksi muokattu: 12.09.08 - klo:07.58 kirjoittanut retu »

E_LE

  • Käyttäjä
  • Viestejä: 95
    • Profiili
Nostan tämän vanhan aiheen, koska samasta asiasta on tavallaan kyse. Tuo yllä esitetty skriptini ei ole toiminut enää 8.10 --> 9.04 päivityksen jälkeen (tai jotain muuta sattui samaan aikaan). Tyypliisesti tulee omituisia spumux-virheitä, muka liikaa värejä, esim:

Koodia: [Valitse]
> pxsup2dast file.sup 404040,E0E0E0,808080
> spumux file.d/spumux.xml < temp.vob > file.vob
...
INFO: Picture file.d/00+39+35.21.png had 9 colors
INFO: Constructing blank hlt
INFO: Constructing blank sel
ERR: Too many colors in base picture
ERR: Blank image, skipping line -1

 Pienen Gimp kaivelun jälkeen kävi ilmi että nuo .png-tiedostot ovat nyt "indexed colors" (kuin gif) ja spumux tahtoisi RGB:n. On vaikea arvata mikä on muuttunut, liikkuvia osia on monta (YLE, ProjectX, pxsup2dast, spumux, ubuntu). Nopea fix on helppo, esim näin toimii taas.

Koodia: [Valitse]
    pxsup2dast "${NAME}".sup "${NAME}".sup.IFO
    for KAA in "${NAME}".d/*.png
    do
       convert "${KAA}" -colorspace rgb "${KAA}"
    done
    spumux "${NAME}".d/spumux.xml < temp.vob > "${NAME}".vob &

Oletteko havainneet mitään tämän tapaista, vai olisiko asennuksessani muuttunut jotain?