Kirjoittaja Aihe: Ylen tekstityksen kuvista srt-tiedosto...  (Luettu 10683 kertaa)

kamara

  • Käyttäjä
  • Viestejä: 2109
    • Profiili
Ylen tekstityksen kuvista srt-tiedosto...
« : 19.08.16 - klo:19.31 »
Tämä ei ole vielä valmis, mutta laitetaan nyt tämä välivaihe talteen tänne 'pilveen'...

Tähän tarvitsee asentaa ainakin seuraavat: tesseract-ocr tesseract-ocr-fin python-pil project-x
Lisäksi:
Koodia: [Valitse]
wget http://www.guru-group.fi/~too/sw/m2vmp2cut/pxsup2dast.c
Infoa siitä...
http://www.guru-group.fi/~too/sw/m2vmp2cut/

makesrtfrompng.py
Koodia: [Valitse]
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
from PIL import Image, ImageDraw

max=0
min=0
halfy=0
if os.path.exists("spumux.xml"):
    file=open("spumux.xml","r")
    rows=file.readlines()
    file.close()
    rownumber=0
    for row in rows: #[-15:]: #rows:
        rownumber+=1
        if row[0:13]=="  <spu start=":
            idx=row.find(".png")
            imgfilename=row[idx-11:idx+4]
            #print(imgfilename)
            img=Image.open(imgfilename,'r')
            #print (img.getpalette())
            #break
            palette=[0, 0, 97, 0, 0, 0, 241, 241, 241, 180, 180, 180, 4, 4, 4]
            palettenow=img.getpalette()
            fixpalette=[0,1,2,3,4,5,6,7]
            #for pal in range(3*5):
            #    if palette[pal]!=palettenow[pal]:
            #        break
            #if palette[pal]!=palettenow[pal]:
            if palette[:3*5]!=palettenow[:3*5]:
                #print(palettenow[:3*5])
                #print (imgfilename)
                for i in range(5):
                    for j in range(5):
                        if palette[i*3:i*3+3]==palettenow[j*3:j*3+3]:
                            fixpalette[j]=i
                            #print ("Tuli Fiksaukseen")
                            #print (""+str(i)+","+str(j))
                            #break
            #else:
                #print ("EITULLUT")
            #for i in range(5):
            #    print (
            if fixpalette!=[0,1,2,3,4,5,6,7]:
                print palettenow[:3*5]
            #print (fixpalette)
            w,h=img.size
            #print(""+str(w)+"x"+str(h))
            imgtxtrows=h/50
            if imgtxtrows>1:
                if imgtxtrows==2:
                    res=0
                    halfy=h/imgtxtrows
                    while res==0:
                        res=1
                        for x in range(w):
                            px=img.getpixel((x,halfy))
                            if px!=0:
                                res=0
                        if (res==0) & (halfy==0):
                            res=2
                        else:
                            if res==0:
                                halfy-=1
                    #print (img.mode,img.size,halfy)
                ar=[0,0,0,0,0,0,0,0]
                #for x in range(w):
                #    for y in range(h):
                #        px=img.getpixel((x,y))
                #        ar[px]+=1
                #        if px!=0:
                #            #print (px)
                #            if px>max:
                #                max=px
                #            else:
                #                if px<min:
                #                    min=px
                #print (imgfilename)
                #print (ar)
                #print (imgtxtrows)
            ar=[0,0,0,0,0,0,0,0]
            #print (img.getpalette())
           
            newimg=Image.new("RGBA",(w,h))
            for x in range(w):
                for y in range(h):
                    px=fixpalette[img.getpixel((x,y))]
                   
                    #if px==2:
                    #    if x>0:
                    #        if img.getpixel((x-1,y))==0:
                    #            img.putpixel((x,y),0)
                    #        if y>0:
                    #            if img.getpixel((x-1,y-1))==0:
                    #                img.putpixel((x,y),0)
                    #        if y<h:
                    #            if img.getpixel((x-1,y+1))==0:
                    #                img.putpixel((x,y),0)
                    #    if x<w:
                    #        if img.getpixel((x+1,y))==0:
                    #            img.putpixel((x,y),0)
                    #        if y>0:
                    #            if img.getpixel((x+1,y-1))==0:
                    #                img.putpixel((x,y),0)
                    #        if y<h:
                    #            if img.getpixel((x+1,y+1))==0:
                    #                img.putpixel((x,y),0)
                    #    if y>0:
                    #        if img.getpixel((x,y-1))==0:
                    #            img.putpixel((x,y),0)
                    #    if y<h:
                    #        if img.getpixel((x,y+1))==0:
                    #            img.putpixel((x,y),0)
                   
                   
                   
                    fixblack=fixpalette[0]
                    if px==2:
                        if x>0:
                            if fixpalette[img.getpixel((x-1,y))]==0:
                                img.putpixel((x,y),fixblack)
                            if y>0:
                                if fixpalette[img.getpixel((x-1,y-1))]==0:
                                    img.putpixel((x,y),fixblack)
                            if y<h:
                                if fixpalette[img.getpixel((x-1,y+1))]==0:
                                    img.putpixel((x,y),fixblack)
                        if x<w:
                            if fixpalette[img.getpixel((x+1,y))]==0:
                                img.putpixel((x,y),fixblack)
                            if y>0:
                                if fixpalette[img.getpixel((x+1,y-1))]==0:
                                    img.putpixel((x,y),fixblack)
                            if y<h:
                                if fixpalette[img.getpixel((x+1,y+1))]==0:
                                    img.putpixel((x,y),fixblack)
                        if y>0:
                            if fixpalette[img.getpixel((x,y-1))]==0:
                                img.putpixel((x,y),fixblack)
                        if y<h:
                            if fixpalette[img.getpixel((x,y+1))]==0:
                                img.putpixel((x,y),fixblack)
                   
                   
                   
                   
                   
                   
                   
                   
                   
                   
                   
                   
                   
                    px=fixpalette[img.getpixel((x,y))]
                    if px==2:           
                        newimg.putpixel((x,y),(0,0,0,255))
                    #if px==1:
                    #    newimg.putpixel((x,y),(255,255,0,255))
                    if px==3:
                        newimg.putpixel((x,y),(0,0,0,255)) #Tämän voi kommentoida, mikäli tulee ongelmia
                    ar[px]+=1
                    if px!=0:
                        #print (px)
                        if px>max:
                            max=px
                        else:
                            if px<min:
                                min=px
            #print (min,max)
            newimg.save(imgfilename+"kuva.png","png")
                #print(""+str(w)+"x"+str(h))
                #os.system("touch "+imgfilename+"."+str(imgtxtrows)+".txt")
            #if (h!=52) & (h!=102) & (h!=54):
            #    print ("OHO")
           
            #for x in range(w):
            #    for y in range(h):
            #        px=img.getpixel((x,y))
            #        #if px!=0:
            #        #    print (px)
            #        if px>max:
            #            max=px
            #        else:
            #            if px<min:
            #                min=px
            print rownumber
else:
    print ("Eipäs löytynyt spumux-tiedostoa :(")
    #
newimg=Image.new("RGBA",(w,h))

max=0
min=0
ar=[0,0,0,0,0,0,0,0]
for x in range(w):
    for y in range(h):
        px=img.getpixel((x,y))
        if px==2:
            if x>0:
                if img.getpixel((x-1,y))==0:
                    img.putpixel((x,y),0)
                if y>0:
                    if img.getpixel((x-1,y-1))==0:
                        img.putpixel((x,y),0)
                if y<h:
                    if img.getpixel((x-1,y+1))==0:
                        img.putpixel((x,y),0)
            if x<w:
                if img.getpixel((x+1,y))==0:
                    img.putpixel((x,y),0)
                if y>0:
                    if img.getpixel((x+1,y-1))==0:
                        img.putpixel((x,y),0)
                if y<h:
                    if img.getpixel((x+1,y+1))==0:
                        img.putpixel((x,y),0)
            if y>0:
                if img.getpixel((x,y-1))==0:
                    img.putpixel((x,y),0)
            if y<h:
                if img.getpixel((x,y+1))==0:
                    img.putpixel((x,y),0)
        px=img.getpixel((x,y))
        if px==2:           
            newimg.putpixel((x,y),(0,0,0,255))
        if px==1:
            newimg.putpixel((x,y),(255,255,0,255))
        if px==3:
            newimg.putpixel((x,y),(0,0,255,255))
        ar[px]+=1
        if px!=0:
            #print (px)
            if px>max:
                max=px
            else:
                if px<min:
                    min=px
print (min,max)
#newimg.save(imgfilename+"kuva.png","png")
print (ar)
print (img.getpalette)
#os.system("bash -c \"../makestrsubtitles.sh\"")
f=os.popen("../makesrtsubtitles.sh") # spumux.xml|grep "+args[1])
rows=f.readlines()
f.close()
print rows
f=open("tekstitys.srt","wb")
for row in rows:
    f.write(row)
f.close()

makesrtsubtitles.sh
Koodia: [Valitse]
#!/bin/bash
declare -i i
i="0"
for f in *pngkuva.png
do
    i="$i+1"
    echo $i
    #echo ${f%kuva.png}
    python ../converttimestamps.py ${f%kuva.png} 
    tesseract -l fin $f stdout
done

converttimestamps.py
Koodia: [Valitse]
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys , os #, serial, threading
#import optparse
#converttimestamps.py

args = sys.argv
#print args
if len(args)>1:
    #print args[1]
    #sys.ex
    f=os.popen("cat spumux.xml|grep "+args[1])
    rows=f.readlines()
    f.close()
    #print("OK?:"+rows[0])
    row=rows[0].replace(".",",")
    print row[14:14+11] + " --> " + row[14+11+7:14+11+7+11]

Tämä on tosiaan ihan protoilua, mutta jo tässä vaiheessa se lukee kohtuullisesti Ylen tekstejä, kunhan projectx:n asetukset ovat jokseenkin tämän laisia...

Koodia: [Valitse]
# Project-X INI
# ProjectX 0.90.4.00 / 30.03.2006

# Application
Application.Agreement=1
Application.Language=en
Application.LookAndFeel=com.sun.java.swing.plaf.gtk.GTKLookAndFeel

# CollectionPanel
CollectionPanel.CutMode=0

# OptionPanel
OptionPanel.PanelIndex=0

# SubtitlePanel
SubtitlePanel.SubpictureColorModel=YLE
SubtitlePanel.SubtitleExportFormat=SRT
SubtitlePanel.TtxPage1=451
SubtitlePanel.TtxPage2=452
SubtitlePanel.TtxPage3=453
SubtitlePanel.TtxPage4=771
SubtitlePanel.decodeHiddenRows=1
SubtitlePanel.keepOriginalTimecode=1
SubtitlePanel.rebuildPTS=1

# WindowPosition
WindowPosition.Main.Height=680
WindowPosition.Main.Width=949
WindowPosition.Main.X=971
WindowPosition.Main.Y=209

Kysyä saa, ja vastaan, jos jaksan.

Ohje...
  • Aja projectX:llä Ylestä tallennettu ohjelma.
  • Tee ylen sup-tiedostosta px2dast:n avulla kuvatiedostot
  • Kopioi antamani kooditiedostot samaan kansioon, jossa on sup-tiedostot
  • Mene px2dast:n luomaan .d-loppuiseen hakemistoon
  • Aja päätteellä ../makesrtfrompng.py
  • Mikäli ajo onnistui, niin korjaa tekstitys.srt:n virheet, tai tyydy niihin.

Kysyä saa, ja vastaan, jos jaksan. Tässä siis minun tarjoamat spagetit.

Edit - Täältä saatu vähän vinkkiä... https://www.linux.fi/wiki/DigiTV:n_tallennukset_DVD:lle

Jatkan vähän huomenna, mutta tällä sai jo savut Ylen ohjelmasta.
« Viimeksi muokattu: 19.08.16 - klo:19.40 kirjoittanut kamara »

E_LE

  • Käyttäjä
  • Viestejä: 88
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #1 : 02.09.16 - klo:01.31 »
ProjectX osaa kyllä kaivaa ylen srt tekstit suoraankin textitv:n sivuilta. Kanavanumeroita tarvitaan http://yle.fi/aihe/artikkeli/2014/12/04/tekstitys

kamara

  • Käyttäjä
  • Viestejä: 2109
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #2 : 02.09.16 - klo:11.56 »
ProjectX osaa kyllä kaivaa ylen srt tekstit suoraankin textitv:n sivuilta. Kanavanumeroita tarvitaan http://yle.fi/aihe/artikkeli/2014/12/04/tekstitys

Muuten hyvä, mutta Ubuntun vdr ei oletuksena tue tekstitv:tä, joten projectx:ään ei löydä srt-tekstejä, vaikka olisikin asetettu oikeat tekstitv:n sivut.

jarmala

  • Käyttäjä
  • Viestejä: 396
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #3 : 03.09.16 - klo:02.36 »
Muuten hyvä, mutta Ubuntun vdr ei oletuksena tue tekstitv:tä, joten projectx:ään ei löydä srt-tekstejä, vaikka olisikin asetettu oikeat tekstitv:n sivut.

Ööh, tarkoitin sitä, että Kaffeine osaa ne tekstitv-sivut tallentaa mukaan m2t-tiedostoihin, joista ne txtv-tekstitykset saa kaivettua projectx:llä ulos hyvin helposti. Tämä on selvästi yksinkertaisempi keino kuin yrittää ocr:llä saada tekstejä kuntoon DVB-T:n graafisista tekstityksistä. Sitäkin olen aikoinaan kokeillut, mutta jos tunnistusvirheitä on vaikka vain 2%, tekee se koko ocr-tunnistuksesta käyttökelvottoman.
Ubuntu 18.04 LTS, Gnome Flashback Metacity, Xeon E3-1245 V2, 8 GB

nm

  • Käyttäjä
  • Viestejä: 13027
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #4 : 03.09.16 - klo:03.23 »
Ööh, tarkoitin sitä, että Kaffeine osaa ne tekstitv-sivut tallentaa mukaan m2t-tiedostoihin, joista ne txtv-tekstitykset saa kaivettua projectx:llä ulos hyvin helposti.

Kyllä, mutta monet tykkäävät käyttää VDR:ää, joka vaatii koodiin paikkauksia, jotta tekstitv-tekstit tarttuisivat mukaan. yaVDR:n paketeilla onnistui aiemmin, mutta nykyisissä versioissa paikkaus on jätetty pois ja myös ttxtsubs-liitännäinen on rikki.

Tämä on selvästi yksinkertaisempi keino kuin yrittää ocr:llä saada tekstejä kuntoon DVB-T:n graafisista tekstityksistä. Sitäkin olen aikoinaan kokeillut, mutta jos tunnistusvirheitä on vaikka vain 2%, tekee se koko ocr-tunnistuksesta käyttökelvottoman.

OCR on kuitenkin periaatteessa ihan pätevä menetelmä tähän. Esimerkiksi osalla maksullisista kanavista ei ole tekstimuotoista tekstitystä vaan ainoastaan bittikarttatekstit. Oikein toteutettuna ja opetettuna OCR on täysin virheetön, koska vakiofonteilla esitettävä tekstitys on helposti tunnistettavissa.
« Viimeksi muokattu: 03.09.16 - klo:03.26 kirjoittanut nm »

Postimies

  • Käyttäjä
  • Viestejä: 2255
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #5 : 05.09.16 - klo:19.18 »
Kyllä, mutta monet tykkäävät käyttää VDR:ää, joka vaatii koodiin paikkauksia, jotta tekstitv-tekstit tarttuisivat mukaan. yaVDR:n paketeilla onnistui aiemmin, mutta nykyisissä versioissa paikkaus on jätetty pois ja myös ttxtsubs-liitännäinen on rikki.
Ei VDR ole mahdoton kääntää lähdekoodista. Mutta jos on giga- tai teratolkulla tallenteita joissa tekstitv-tekstejä ei ole  on
 ocr se käyttökelpoinen tapa. Itseäni ainakin kiinnostaa, miten HD-lähetyksiä voisi pakata pienemmäksi järjevillä teksteillä.
Joskus tappelin  projectX:n kanssa ja en saanut YLEn lähetyksistä kunnon tekstejä ulos.

nm

  • Käyttäjä
  • Viestejä: 13027
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #6 : 05.09.16 - klo:19.57 »
Kyllä, mutta monet tykkäävät käyttää VDR:ää, joka vaatii koodiin paikkauksia, jotta tekstitv-tekstit tarttuisivat mukaan. yaVDR:n paketeilla onnistui aiemmin, mutta nykyisissä versioissa paikkaus on jätetty pois ja myös ttxtsubs-liitännäinen on rikki.
Ei VDR ole mahdoton kääntää lähdekoodista.

Ei ole juu. Sunnuntaikäyttäjän kannalta vain hyvin, hyvin rasittavaa, etenkin kun paikkausta ja pluginia pääsee säätämään, jotta suostuvat yhteistyöhön muiden patchien ja VDR:n kanssa.  ;)

kamara

  • Käyttäjä
  • Viestejä: 2109
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #7 : 05.09.16 - klo:21.27 »
Kyllä, mutta monet tykkäävät käyttää VDR:ää, joka vaatii koodiin paikkauksia, jotta tekstitv-tekstit tarttuisivat mukaan. yaVDR:n paketeilla onnistui aiemmin, mutta nykyisissä versioissa paikkaus on jätetty pois ja myös ttxtsubs-liitännäinen on rikki.
Ei VDR ole mahdoton kääntää lähdekoodista.

Ei ole juu. Sunnuntaikäyttäjän kannalta vain hyvin, hyvin rasittavaa, etenkin kun paikkausta ja pluginia pääsee säätämään, jotta suostuvat yhteistyöhön muiden patchien ja VDR:n kanssa.  ;)

Ei jaksa kääntää...
Haluu tehdä omaa purkkaa...

Jos saan jotain aikaiseksi, niin lähettelen niitä tänne päin.

Ainakin binäärejä...

Teen alkeellista kuvananalysointia.

Postimies

  • Käyttäjä
  • Viestejä: 2255
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #8 : 05.09.16 - klo:22.23 »
Kyllä, mutta monet tykkäävät käyttää VDR:ää, joka vaatii koodiin paikkauksia, jotta tekstitv-tekstit tarttuisivat mukaan. yaVDR:n paketeilla onnistui aiemmin, mutta nykyisissä versioissa paikkaus on jätetty pois ja myös ttxtsubs-liitännäinen on rikki.
Ei VDR ole mahdoton kääntää lähdekoodista.

Ei ole juu. Sunnuntaikäyttäjän kannalta vain hyvin, hyvin rasittavaa, etenkin kun paikkausta ja pluginia pääsee säätämään, jotta suostuvat yhteistyöhön muiden patchien ja VDR:n kanssa.  ;)
Sain eilen käännettyä Kodin kehitysversion. Meni suhteellisen helposti Wikin ohjeiden mukaan. VDR vielä asentamatta. Kyllä siihen saa varata aikaa jos noi kaksi aikoo saada toimimaan. Löytyi myös ttxtsubs-stable-vdr repo. 

nm

  • Käyttäjä
  • Viestejä: 13027
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #9 : 05.09.16 - klo:22.29 »
Löytyi myös ttxtsubs-stable-vdr repo.

Hyvä vinkki, en olekaan tuota huomannut. Kas kun eivät ole saaneet yaVDR:ään asti korjattuja paketteja.

Tämä PPA siis kyseessä: https://launchpad.net/~seahawk1986-hotmail/+archive/ubuntu/ttxsubs-stable-vdr
Nuo paketit toimivat luultavasti pääosin myös Ubuntu 16.04:ssä, mutta joidenkin liitännäisten kanssa tulee vastaan yhteensopivuusongelmia. Esim. Live-plugin ei toimi suoraan.

Postimies

  • Käyttäjä
  • Viestejä: 2255
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #10 : 06.09.16 - klo:21.46 »

Tämä PPA siis kyseessä: https://launchpad.net/~seahawk1986-hotmail/+archive/ubuntu/ttxsubs-stable-vdr
Nuo paketit toimivat luultavasti pääosin myös Ubuntu 16.04:ssä, mutta joidenkin liitännäisten kanssa tulee vastaan yhteensopivuusongelmia. Esim. Live-plugin ei toimi suoraan.
Itse en ole kokeillut. Yavdr repoissa unstable-vdr sisältää Ubuntu 16.04 paketit. Ubuntun omastakin valikoimastakin löytyy VDR.  Ei tuo unstable-vdr minulla ongelmia ole aiheuttanut. Tosin olen asentanut sen LUbuntu 14.04.

nm

  • Käyttäjä
  • Viestejä: 13027
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #11 : 06.09.16 - klo:22.08 »
Yavdr repoissa unstable-vdr sisältää Ubuntu 16.04 paketit.

16.04:n paketit ovat vielä work-in-progress-vaiheessa ja suurin osa liitännäisistä puuttuu: https://launchpad.net/~yavdr/+archive/ubuntu/unstable-vdr?field.series_filter=xenial

Postimies

  • Käyttäjä
  • Viestejä: 2255
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #12 : 14.09.16 - klo:17.17 »
Yavdr repoissa unstable-vdr sisältää Ubuntu 16.04 paketit.

16.04:n paketit ovat vielä work-in-progress-vaiheessa ja suurin osa liitännäisistä puuttuu: https://launchpad.net/~yavdr/+archive/ubuntu/unstable-vdr?field.series_filter=xenial
Päivittyminen kestää näköjään edelleen. Itsellä ei projectx nyt asennettuna. Näyttääkö mediainfo tai mplayer onko tallenteissa myös
 tekstitv-tekstit. 

kamara

  • Käyttäjä
  • Viestejä: 2109
    • Profiili
Purkkaa tarjolla (Ylen tekstityksen kuvista srt-tiedosto...)
« Vastaus #13 : 26.09.16 - klo:15.57 »
Tarkoitukseni on jossain vaiheessa myös julkaista sorsat, mutta tässä nyt 64-bittinen käännetty versio.

Asenna tesseract-ocr...
Koodia: [Valitse]
sudo apt-get install tesseract-ocr tesseract-ocr-data tesseract-ocr-eng tesseract-ocr-equ tesseract-ocr-fin tesseract-ocr-osd

Pura liitteenä oleva tiedosto, mene oma.d-hakemistoon  ja aja makesrtsubtitles.sh sieltä hakemistosta.
Koodia: [Valitse]
cd oma.d
./makesrtsubtitles.sh
Sen pitäisi tulostaa seuraavaa...

Koodia: [Valitse]
1
00:00:15,38 --> 00:00:17,37
Mutta mielestäni <i>olet</i> komistunut.
- No todellakin.


Millähän lisenssillä kannattaisi toi YLEsubtextPrepare-ohjelma julkaista ?

Siinä on käytetty mit-lisenssin omaavaa lodepng png-kuvapalikkaa.

Edelleen l:t ja I:t tuppaavat sotkeentumaan, mutta muuten vaikuttaa toimivan riittävän tarkasti. (Ainakin itselleni. Toki joitain onglemia olen havainnut).


Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 10747
    • Profiili
    • Tomin kotisivut
Vs: Purkkaa tarjolla (Ylen tekstityksen kuvista srt-tiedosto...)
« Vastaus #14 : 26.09.16 - klo:16.19 »
Millähän lisenssillä kannattaisi toi YLEsubtextPrepare-ohjelma julkaista ?
Ihan makuasia. Jos sinulle on tärkeää, että se pysyy avoimena lähdekoodina, niin joku käyttäjänoikeuslisenssi (copyleft) kuten GPL, LGPL tai MPL. Itse olen valinnut lähinnä sillä periaatteella, että yksinkertaisemmat ohjelmat (varsinkin tulkattavat) tyypillisesti MIT-lisenssillä (salliva lisenssi, kuten myös BSD ja Apache) ja sitten isommat ja monimutkaisemmat GPL ellei ole jotain muuta syytä valita toisin. Yksinkertaisuutta voi mitata vaikka sillä, minkä verran siihen on mennyt aikaa tai sitten vaikka koodiriveillä. Jos on kyse jostain pienestä skriptinpätkästä tai muuten voi odottaa ettei teoskynnys edes ylittyisi, niin olen laittanut merkinnäksi Public domain (mahdollisesti selventävä teksti myös) ja antanut ihan vapaaseen käyttöön. Vaihtoehto olisi käyttää vaikka CC0:aa. Tarkoitus näissä on lähinnä ettei tule kysymystä siitä saako sitä käyttää ja mihin tarkoituksiin. Toki ohjelmilla on tapana monimutkaistua ajan kanssa, jos niihin tulee lisää toimintoja. Tekijänoikeuksien haltija voi kyllä vaihtaa myöhemmin lisenssiä, mutta ne jotka ovat siitä kopion jo saaneet voivat käyttää vanhaa versiota vanhalla lisenssillä. 8)

Onhan noita lisenssejä: https://opensource.org/licenses/category
Joka tapauksessa suosittelen käyttämään jotain yleistä oli se sitten salliva tai käyttäjänoikeuslisenssi.

Siinä on käytetty mit-lisenssin omaavaa lodepng png-kuvapalikkaa.
Jos se käyttää sitä dynaamisesti linkitettynä, niin sillä ei ole mitään väliä ja muussakaan tapauksessa tuskin vaikuttaa siihen, minkä lisenssin voit valita. Sallivana lisenssinä MIT ei laita kovin paljoa rajoitteita, mikä näkyy lisenssin pituudessakin.

Jos kiinnostaa enemmälti keskustella ohjelmistolisensseistä, niin suosittelen aloittamaan oman aiheen.
« Viimeksi muokattu: 26.09.16 - klo:16.21 kirjoittanut Tomin »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

kamara

  • Käyttäjä
  • Viestejä: 2109
    • Profiili
Vs: Purkkaa tarjolla (Ylen tekstityksen kuvista srt-tiedosto...)
« Vastaus #15 : 26.09.16 - klo:17.17 »
Siinä on käytetty mit-lisenssin omaavaa lodepng png-kuvapalikkaa.
Jos se käyttää sitä dynaamisesti linkitettynä, niin sillä ei ole mitään väliä ja muussakaan tapauksessa tuskin vaikuttaa siihen, minkä lisenssin voit valita. Sallivana lisenssinä MIT ei laita kovin paljoa rajoitteita, mikä näkyy lisenssin pituudessakin.

No, se on kyllä ihan kiinteesti ohjelmassa, kuten sitä kuuluukin käyttää, mutta mitään muutoksia kyseisille koodeille en ole tehnyt. Sen avulla luen ja kirjoitan png-kuvat.

Tässä nyt on sitten 32-bittinen versio.

Eihän toi ajettava tiedosto mikään mammutti ole, vaikka sen tekemiseen kuluikin melkoinen tovi, mutta  tein ohjelman ainakin 3:een kertaan. Ajettavasta tiedostosta suurimman osan vei toi LodePNG-kirjasto. Vieläkin voisi vähän hioa luokkien rakenteita.


kamara

  • Käyttäjä
  • Viestejä: 2109
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #16 : 23.05.18 - klo:06.41 »
Vähän päivitystä...

Nyt vihdoinkin on sorsat jaossa...

Toivottavasti on oikeat sorsat, ja muut tiedostot.

Kuitenkin testasin ohjelmaa, ja ajoin diff:n, ja se näytti uudella käännöksellä ja vanhalla käännöksellä tyhjää, joten todennäköisesti ohjelma on suurinpiirtein sama, kuin oma aikaisemmin käyttämäni.

Ystävällisin terveisin kamara.
Olkaa hyvät...

kamara

  • Käyttäjä
  • Viestejä: 2109
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #17 : 05.01.19 - klo:09.19 »
Tuli tehtyä taas uudempaa versiota YLEpremanipulatesta...

Ensiksi lukekaa README-tiedosto.

Sen jälkeen kysykää, mikäli on jotain kysyttävää...
Tässä historiatietojani kyseisen käytöstä...
... joita voi käyttää vinkkinä ohjelman käyttöön.
Ohjelma on purettuna ~/Lataukset/OCRPremanipulate/OCRPre-kansioon.
... ja pxsup2dast-ohjelma on käännettynä ~/MVideo-kansiossa
Koodia: [Valitse]
~/Lataukset/OCRPremanipulate/OCRPre
./compiletests.sh
./executeTests.sh
cd ~/MVideo/elokuvat
../pxsup2dast Tekstitys.sup Tekstitys.sup.IFO
cd Tekstitys.d
cp ~/Lataukset/OCRPremanipulate/OCRPre/softwares/make* .
cp ~/Lataukset/OCRPremanipulate/OCRPre/softwares/YLEsubtextPrepare .
./makesrtsubtitles.sh >../tekstitys.srt

Tämän jälkeen rupee tulemaan erroreita resoluutiosta, mutta kuitenkin ohjelma tekee tekstityksen tiedostoon ../tekstitys.srt. Epäonnistuneista tekstitysyrityksistä jää kuvat näkyviin, lisäksi kannattaa tutkia errors.txt-tiedosto, johon myös kerätään epäonnistuneet tekstitykset.

Liitteenä siis lähdekoodit.

Edit - VAROITUS OHJELMA TUHOAA NE PNG-TIEDOSTOT, JOTKA SE OSAA MUUTTAA TEKSTIKSI, JOTEN OHJELMISTON KÄYTTÖ ON OMALLA VASTUULLA. SE TOIMII SIKSI NIIN, ETTÄ ON HELPOMPI POIMIA NE KUVAT, JOITA SE EI OSAA MUUTTAA TEKSTIKSI.
« Viimeksi muokattu: 05.01.19 - klo:10.07 kirjoittanut kamara »

SuperOscar

  • Käyttäjä
  • Viestejä: 3454
  • Tänään täällä, huomenna poissa
    • Profiili
    • Legisign.org
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #18 : 07.01.19 - klo:19.41 »
Tästä puuttuu nyt jokin välivaihe välistä. Ilmeisesti oleellinen ohjelma on ”pxsup2dast”, mutta sitä ei yllä ole – vaatimuksissakaan, eli ei mitään tietoa mihin se liittyy ja mistä sen saa.
openSUSE Leap 15.1 (pöytäkone 1, kannettava 1), Debian GNU/Linux 10 (kannettava 2), openSUSE Tumbleweed (pöytäkone 2, kannettava 3), LibreELEC 8.2.5 (RPi 1), Raspbian GNU/Linux 10 (RPi 2)

kamara

  • Käyttäjä
  • Viestejä: 2109
    • Profiili
Vs: Ylen tekstityksen kuvista srt-tiedosto...
« Vastaus #19 : 07.01.19 - klo:20.04 »
Tästä puuttuu nyt jokin välivaihe välistä. Ilmeisesti oleellinen ohjelma on ”pxsup2dast”, mutta sitä ei yllä ole – vaatimuksissakaan, eli ei mitään tietoa mihin se liittyy ja mistä sen saa.

ReadMe - kirjoitti...
Lainaus
Riippuvuudet: Project-X, tesseract suomipaketilla, python, bash ja
pxsup2dast (http://www.guru-group.fi/too/sw/m2vmp2cut/pxsup2dast.c) .

Toivottavasti löytyy sieltä edelleen...

En voinut laittaa sitä sorsiin, kun en ole sitä tehnyt, ja se on itsenäinen ohjelma eikä kirjasto.

Kyseinen ohjelma tekee sup+sup.IFO-tiedostoista kuvat, ja spumux-tiedoston. Se todellakin on oleellinen osa, jotta saa viritelmäni toimimaan.
« Viimeksi muokattu: 07.01.19 - klo:20.07 kirjoittanut kamara »