Kirjoittaja Aihe: TV-kanavien teletext -tekstityssivut  (Luettu 395 kertaa)

jarmala

  • Käyttäjä
  • Viestejä: 395
    • Profiili
TV-kanavien teletext -tekstityssivut
« : 08.11.19 - klo:21.43 »
Norminmukaisen dvb-tekstyksen (tämä siis grafiikkana) lisäksi jotkut kanavat lähettävät myös tekstityksen teletext -sivuilla, joilla se on saatavissa esim. ProjectX:llä ulos silkkana tekstinä esim. srt-muodossa.

YLE:llä nämä sivut ovat TV1 451, TV2 452 ja Teema 453 (ja FEM aikoinaan 771).

Mutta tietääkö kukaan, millä sivulla on AVA:n teletext -tekstitys? Olen nyt guuglaillut sitä jo 15 minuuttia, eikä mistään tärppää. Kysynkin siis sitä täältä.

Tausta tähän kysymykseeni on se, että Avidemux ei osaa käsitellä dvb-tekstitystä ja hukkaa ne. FFMPEG:llä taas ei voi käytännössä leikata leffojen mainoskatkoja pois, koska ohjelma on komentorivipohjainen. ProjectX:llä SD-leffat voi leikata ja tekstit saa talteen srt:nä, jos vaan tietää, millä sivulla tekstitys on...



Ubuntu 18.04 LTS, Gnome Flashback Metacity, Xeon E3-1245 V2, 8 GB

nm

  • Käyttäjä
  • Viestejä: 13025
    • Profiili
Vs: TV-kanavien teletext -tekstityssivut
« Vastaus #1 : 08.11.19 - klo:22.26 »
Veikkaan, ettei AVA lähetä tekstitystä teksti-tv:n kautta.

Jos nyt oikein muistan, Ylen kanavillakin teletext-tekstitys on tarkoitettu satelliittivastaanottoon, ja siksi tekstityksessä on myös parin sekunnin aikaero kuvaan ja ääneen verrattuna.

jarmala

  • Käyttäjä
  • Viestejä: 395
    • Profiili
Vs: TV-kanavien teletext -tekstityssivut
« Vastaus #2 : 09.11.19 - klo:02.13 »
Veikkaan, ettei AVA lähetä tekstitystä teksti-tv:n kautta.

Lähettää se, FFMPEG:in mukaan siinä on:

Koodia: [Valitse]
Input #0, mpegts, from 'Viimeinen Samurai.m2t':
  Duration: 03:15:59.13, start: 23236.129178, bitrate: 2670 kb/s
  Program 155
    Stream #0:0[0x20e]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x2d6](fin): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 224 kb/s
    Stream #0:2[0x424](fin): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
    Stream #0:3[0x1392](fin): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006), 492x250

Eli tuo 0:3 on dvb_teletext... Hmm, vai onko sillä sitten ollenkaan tekstitystä, vaikka siinä onkin MTV:n teleteksti... Tietääkö kukaan?

No, jos siinä ei ole, niin tulee sitten seuraava kysymys:

Millä Linuxissa toimivalla videoeditorilla saa poistettua mainoskanavien mainoskatkot leffoista niin, että dvb-tekstitys (#0:2) säilyy ehjänä?
« Viimeksi muokattu: 09.11.19 - klo:02.25 kirjoittanut jarmala »
Ubuntu 18.04 LTS, Gnome Flashback Metacity, Xeon E3-1245 V2, 8 GB

nm

  • Käyttäjä
  • Viestejä: 13025
    • Profiili
Vs: TV-kanavien teletext -tekstityssivut
« Vastaus #3 : 09.11.19 - klo:12.02 »
Lähettää se, FFMPEG:in mukaan siinä on:

Koodia: [Valitse]
Input #0, mpegts, from 'Viimeinen Samurai.m2t':
  Duration: 03:15:59.13, start: 23236.129178, bitrate: 2670 kb/s
  Program 155
    Stream #0:0[0x20e]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x2d6](fin): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 224 kb/s
    Stream #0:2[0x424](fin): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
    Stream #0:3[0x1392](fin): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006), 492x250

Okei, taitaa siellä sitten jokin teletext-tekstitys olla. Sivunumero on varmaankin selvitettävissä ffprobella:

Koodia: [Valitse]
ffprobe -print_format json -show_data -show_streams -select_streams s "Viimeinen Samurai.m2t" | python -m json.tool
Listauksen extradata-kohdassa on käsittääkseni sivunumero viimeisenä kenttänä.


Millä Linuxissa toimivalla videoeditorilla saa poistettua mainoskanavien mainoskatkot leffoista niin, että dvb-tekstitys (#0:2) säilyy ehjänä?

VDR:llä, mutta jollain toisella ohjelmalla tehdyn tallenteen siirtäminen VDR:n tallenteeksi on hankalaa, vaikka TS-muotoinen tallenne olisi sinänsä yhteensopiva.
« Viimeksi muokattu: 09.11.19 - klo:12.04 kirjoittanut nm »

jarmala

  • Käyttäjä
  • Viestejä: 395
    • Profiili
Vs: TV-kanavien teletext -tekstityssivut
« Vastaus #4 : 09.11.19 - klo:21.26 »

Koodia: [Valitse]
ffprobe -print_format json -show_data -show_streams -select_streams s "Viimeinen Samurai.m2t" | python -m json.tool

Kiitoksia. Tuollaista komentoa en olisi itse osannut keksiäkään... Se sanoo:

Koodia: [Valitse]
        {
            "avg_frame_rate": "0/0",
            "codec_long_name": "DVB teletext",
            "codec_name": "dvb_teletext",
            "codec_tag": "0x0006",
            "codec_tag_string": "[6][0][0][0]",
            "codec_time_base": "0/1",
            "codec_type": "subtitle",
            "disposition": {
                "attached_pic": 0,
                "clean_effects": 0,
                "comment": 0,
                "default": 0,
                "dub": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "karaoke": 0,
                "lyrics": 0,
                "original": 0,
                "timed_thumbnails": 0,
                "visual_impaired": 0
            },
            "duration": "11758.140000",
            "duration_ts": 1058232600,
            "extradata": "\n00000000: 0900                                     ..\n",
            "height": 250,
            "id": "0x1392",
            "index": 3,
            "r_frame_rate": "0/0",
            "start_pts": 4040979428,
            "start_time": "44899.771422",
            "tags": {
                "language": "fin"
            },
            "time_base": "1/90000",
            "width": 492
        }

Eipä tuosta nyt heti pistä silmään mitään sivunumeroon viittaavaa. Hmm?
Ubuntu 18.04 LTS, Gnome Flashback Metacity, Xeon E3-1245 V2, 8 GB

nm

  • Käyttäjä
  • Viestejä: 13025
    • Profiili
Vs: TV-kanavien teletext -tekstityssivut
« Vastaus #5 : 10.11.19 - klo:01.25 »
Koodia: [Valitse]
            "extradata": "\n00000000: 0900                                     ..\n"

Sivu on 100, kun tuon 0x0900:n dekoodaa ETSI EN 300 468:n mukaan. Eli luku on kaksi tavua heksadesimaalimuodossa, joista ekat 5 bittiä teletext_type, sitten 3 bittiä teletext_magazine_number (sivunumeron sadat), 4 bittiä sivun kymmenet ja viimeiset 4 bittiä sivun viimeinen numero.

0x900 = 00001 001 0000 0000

teletext_type = 1 (initial page)
teletext_magazine_number = 1
teletext_page_tens = 0
teletext_page_units = 0

Jiku

  • Käyttäjä
  • Viestejä: 233
    • Profiili
Vs: TV-kanavien teletext -tekstityssivut
« Vastaus #6 : 10.11.19 - klo:17.36 »
Millä Linuxissa toimivalla videoeditorilla saa poistettua mainoskanavien mainoskatkot leffoista niin, että dvb-tekstitys (#0:2) säilyy ehjänä?
Sen pitäisi onnistua näin:
Koodia: [Valitse]
ffmpeg -i alkup.ts -ss 00:00:30 -t 00:50:00 -map 0:v -map 0:a -map 0:s -c:v copy -c:a copy -c:s copy -async 1 cut.ts
Eli käytännössä pitäisi siis leikata pätkä mainoskatkoon saakka, toinen pätkä mainoskatkosta loppuun ja yhdistää ne.
Tuo mappays on tärkeää, muuten tekstit tippuu pois.


comskip/ comchap voisi olla hyviä pohjia jos haluaa oman skriptin rakentaa
Nuo on taas alunperin suunniteltu ohjelmaan comskip jolla voi automaattisesti tunnistaa mainoskatkoja.
Mutta aivan idioottivarmaksi tuota tunnistamista tuskin saa.

edit: halusitkin että on graafinen ohjelma.. Yksi vaihtoehtohan on tietysti polttaa tekstit kiinteäksi, sen jälkeen homma helpottuu huomattavasti.
Graafisista ohjelmista ainakin Handbrake osaa sen.
« Viimeksi muokattu: 10.11.19 - klo:17.43 kirjoittanut Jiku »
Puoliksi suunniteltu on hyvin tehty

jarmala

  • Käyttäjä
  • Viestejä: 395
    • Profiili
Vs: TV-kanavien teletext -tekstityssivut
« Vastaus #7 : tänään kello 02:37 »
Sivu on 100, kun tuon 0x0900:n dekoodaa ETSI EN 300 468:n mukaan. Eli luku on kaksi tavua heksadesimaalimuodossa, joista ekat 5 bittiä teletext_type, sitten 3 bittiä teletext_magazine_number (sivunumeron sadat), 4 bittiä sivun kymmenet ja viimeiset 4 bittiä sivun viimeinen numero.

0x900 = 00001 001 0000 0000

teletext_type = 1 (initial page)
teletext_magazine_number = 1
teletext_page_tens = 0
teletext_page_units = 0

Hmm, kokeilin ottaa projectx:llä tekstitvsivun 100, mutta ei se tunnu ihan oikealta:

Koodia: [Valitse]
1
00:00:05,869 --> 00:00:11,869
SEURAA AINA KUN HALUAT
S.899
Postin lakko alkaa maanantaina      103
Wärtsilä irtisanoo 92 työntekijää   162
Leijonat kaatoi hienosti Venäjän    225
Toni Piispanen kelasi MM-kultaan    296
Suosikkihahmo jättää Salkkarit      121
Tekstiviesti ennustuksia s.777
www.ennustaja.info   2,50e/kpl
Uutiset 102   Viihde 120    Urheilu 201
SYKSYN KUUMINTA SEURAA
www.puhelin.xxx  2,34e/min+pvm
s.859 K18 s.825
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Uusi korkokatto astui voimaan s.700

Eli ei vielä ihan mätsää oikeiden tekstityksien kanssa. Kyllä nyt tässä vaiheessa saisi jo joku AVA:n edustaja vastata kysymykseen, millä sivulla heidän tektityksensä on...
Ubuntu 18.04 LTS, Gnome Flashback Metacity, Xeon E3-1245 V2, 8 GB

jarmala

  • Käyttäjä
  • Viestejä: 395
    • Profiili
Vs: TV-kanavien teletext -tekstityssivut
« Vastaus #8 : tänään kello 02:48 »

Sen pitäisi onnistua näin:
Koodia: [Valitse]
ffmpeg -i alkup.ts -ss 00:00:30 -t 00:50:00 -map 0:v -map 0:a -map 0:s -c:v copy -c:a copy -c:s copy -async 1 cut.ts
Eli käytännössä pitäisi siis leikata pätkä mainoskatkoon saakka, toinen pätkä mainoskatkosta loppuun ja yhdistää ne.
Tuo mappays on tärkeää, muuten tekstit tippuu pois.

edit: halusitkin että on graafinen ohjelma.. Yksi vaihtoehtohan on tietysti polttaa tekstit kiinteäksi, sen jälkeen homma helpottuu huomattavasti.
Graafisista ohjelmista ainakin Handbrake osaa sen.

Kiitoksia. Ffmpeg periaattessa kyllä osaa sen, mutta kun leffassa on viisi mainoskatkoa, niin ei viitsi tehdä tuota kuutta kertaa: etsiä jaksojen alku- ja loppuajat ja lopuksi yhdistää ne kuusi palasta. Tahtoisi helpomman keinon...

Handbrake: loistavaa, jos se osaa polttaa dvb-tekstit kuvaan kiinni. Äkkiä neuvoja tänne, miten se tehdään, niin minäkin voisin oppia sen. Jooko? Ja sitten kun tekstit on poltettu kuvaan kiinni, leffan leikkaaminen on sen jälkeen lastenleikkiä.
Ubuntu 18.04 LTS, Gnome Flashback Metacity, Xeon E3-1245 V2, 8 GB