abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:11 | Nová verze

    Byla vydána nová verze 1.8.0 svobodného multiplatformního softwaru pro konverzi video formátů HandBrake (Wikipedie). Přehled novinek v poznámkách k vydání na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | IT novinky

    Microsoft představil nové označení počítačů Copilot+. Dle oznámení se jedná se o počítače poskytující funkce umělé inteligence. Vedle CPU a GPU mají také NPU (Neural Processing Unit). Uvnitř představených Copilot+ notebooků běží ARM čipy Qualcomm Snapdragon X Elite nebo X Plus.

    Ladislav Hagara | Komentářů: 0
    včera 17:55 | Zajímavý článek

    Příspěvek na blogu Codean Labs rozebírá zranitelnost CVE-2024-4367 v PDF.js, tj. mj. prohlížeči PDF souborů ve Firefoxu. Při otevření útočníkem připraveného pdf souboru může být spuštěn libovolný kód v JavaScriptu. Vyřešeno ve Firefoxu 126.

    Ladislav Hagara | Komentářů: 1
    včera 12:55 | Nová verze

    Lazygit byl vydán ve verzi 0.42.0. Jedná se o TUI (Text User Interface) nadstavbu nad gitem.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    K open source herní konzole Picopad přibyla (𝕏) vylepšená verze Picopad Pro s větším displejem, lepšími tlačítky a větší baterii. Na YouTube lze zhlédnout přednášku Picopad - open source herní konzole z LinuxDays 2023.

    Ladislav Hagara | Komentářů: 2
    17.5. 13:44 | Nová verze

    Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    17.5. 12:22 | Komunita

    Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.

    Ladislav Hagara | Komentářů: 0
    17.5. 01:55 | Komunita

    24. září 2024 budou zveřejněny zdrojové kódy přehrávače Winamp.

    Ladislav Hagara | Komentářů: 12
    16.5. 23:33 | Nová verze

    Google Chrome 125 byl prohlášen za stabilní. Nejnovější stabilní verze 125.0.6422.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 9 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 3
    16.5. 21:11 | Nová verze

    Textový editor Neovim byl vydán ve verzi 0.10 (𝕏). Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (79%)
     (5%)
     (8%)
     (7%)
    Celkem 403 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    OCR filmových titulků

    22.8.2020 03:09 | Přečteno: 2375× | Výběrový blog

    Nedávno jsem tady v poradně řešil, jak přečíst titulky z filmu které jsou natrvdo zapečené v obraze. Ukázalo se že pro linux pořádně nic neexistuje. Nezbývalo nic než zkusit vypotit něco vlastního. Zezačátku to docela drhlo protože nejsu programátor a z shellu umím jenom takové ty uživatelské základy, no nakonec se to dostalo do stavu kdy už to začíná být trochu zajímavé.
    #!/bin/bash
    if not [ -s "$1" ]; then
      printf "%s\n" "video not found!"
      exit 1
    fi
    
    for p in ffmpeg ffprobe bc convert tesseract; do 
      if not which $p > /dev/null 2>&1; then 
      printf "%s\n" "$p not found!"
      exit 1
      fi     
    done
    
    video="$1"
    language=ces
    output_file="$(readlink -f "$video")-$(date +%s).srt"
    
    until [ "$c" = "w" -o "$c" = "y" ]; do
    printf "\n"
    read -n 1 -p "Select subtitle color [w]hite / [y]ellow : " c
    if [ "$c" = "w" ]; then sub_color=white
    elif [ "$c" = "y" ]; then sub_color=yellow
    fi
    done
    
    printf "\n%s\n%s\n%s\n" "sub_color=$sub_color" "output_file=$output_file" "Processing ....."
    
    duration=$(ffprobe -i "$video" -v error -select_streams v:0 \
        -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 | \
        cut -d. -f1)
    
    get_time() {
    hh=$(echo "$t/3600" | bc)
    mm=$(echo "($t-$hh*3600)/60" | bc)
    ss=$(echo "$t-$hh*3600-$mm*60" | bc)
    if [ $hh -lt 10 ]; then hh=0$hh; fi
    if [ $mm -lt 10 ]; then mm=0$mm; fi
    if [ $ss -lt 10 ]; then ss=0$ss; fi
    time="$hh:$mm:$ss"
    }
    
    t=0
    while [ $t -lt $duration ]; do
    get_time
    t=$((t+1))
    sub=$(ffmpeg -ss $time -i "$video" -an -sn -vf "crop=iw:ih/2:0:ih" -c:v png \
           -vframes 1 -f image2pipe - 2> /dev/null |
           convert - -fuzz 25% -fill black +opaque "$sub_color" -threshold 50% -negate - |
           tesseract stdin stdout -l $language 2> /dev/null |
           grep [[:alnum:]])
    
    if [ -n "$sub" -a -z "$sub_start" ]; then sub_start=$time sub_old="$sub"; fi
    if [ -z "$sub" -o "$sub_old" != "$sub" ]; then sub_end=$time; fi
    if [ -n "$sub_start" -a -n "$sub_end" ]; then
      n=$((n+1))
      printf "%s\n%s %s %s\n%s\n\n" "$n" "$sub_start,000" "-->" "$sub_end,999" "$sub_old" |
      tee -a "$output_file"
      sub_start=""
    fi
    sub_end=""
    done
    

    Celý ten proces probíhá tak, že ffmpeg vytáhne z filmu obrázek, ustřihne pryč vrchní půlku, pošle se to přes imagemagick convert filtr a nakonec to tesseract zkusí přečíst. Titulky bývají nejčasteji žluté nebo bílé. To byl docela oříšek protože když už to jakžtakž četlo bílé titulky, tak to zas nečetlo žluté a naopak. Vyřešil jsem to tak, že se skript na začáktu prostě zeptá jakou mají titulky barvu a podle toho potom nastaví convert filtr. Barva titulků se nechá a zbytek se vyplní černou

    Chtělo by ale přesnější časování, občas se stane že titulek co trvá míň jak jednu sekundu to nezachytí. Milisekundy v tom výstupním srt souboru jsem provizorně obešel takovým megahnusným hackem v printf. Asi by se to dalo zpřesnit tak, že by ffmpeg tahal z filmu obrázky né po sekundě ale třeba po 100ms. Ale to by to celé trvalo nesmyslně dlouho. Už tak to trvá skoro hodinu. Další neduh to má ten, že stačí aby tesseract v jedné větě v jenom snímku přečetl třeba tečku místo čárky a i když je věta na první pohled stejná, tak skript z toho udělá dva titulky. Takže je ten srt soubor trochu větší. Klidně 100KB a víc. Záleží jak moc se ve filmu kecá. Největší peklo je, když se ve filmu v dolní polovině obrazu začnou objevovat nějaké nápisy v barvě titulků, ale s tím asi nejde dělat nic.

    Výsledek to vypisuje jak na terminál a zároveň přes tee do souboru. Testovat se to dá hezky tak, že se ten film prostě pustí, ty vygenerované externí titulky se posunou na vrchní půlku obrazu (klávesy r t) a hned je v reálném čase vidět jak moc se to povedlo. U některých filmů je ten výsledek k pláči, no u některých to příjemně překvapilo až jsem čubrněl.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Jendа avatar 22.8.2020 04:04 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Zkusil bych obraz průměrovat po celou dobu trvání daného titulku (což už nepůjde shell skriptem, chtělo by to napsat v nějakém „plnohodnotném“ jazyce) -- myšlenka je, že všechno ostatní se hýbe a rozmaže se to, a titulky z toho hezky vystoupí.
    Jendа avatar 22.8.2020 04:05 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    A zjištění, že je další titulek, ideálně nějakou podobnostní metrikou (přímo toho obrazu?), která nebude reagovat na drobné změny (tečka/čárka).
    22.8.2020 04:34 jejda | skóre: 24 | blog: jejda
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Ono když je ten film puštěný, tak ta změna není vidět protože ty časy jsou natvrdo nastavené 000-999 milisekund, tak se žádné rušivé probliknutí nekoná. Ty titulky akorát vypadají hnusně v textovém editoru třeba.
    23.8.2020 22:08 Bherzet | skóre: 19 | blog: Bherzetův blog
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Myslíš to nějak tak, že bys bral snímek po snímku, porovnával je mezi sebou pixel po pixelu a ty pixely (resp. jejich souřadnice), kde zaznamenáš změnu, bys zahazoval? Je to sice zajímavá myšlenka, ale na statickém pozadí by to nefungovalo vůbec a u scén, kde je třeba spodní část obrazovky hodně tmavá, taky moc ne. Asi by to šlo zkombinovat s tím prostým filtrováním podle barvy, ale stojí to za ty zvýšené výpočetní nároky?
    24.8.2020 00:04 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Příloha:
    Vy jste divní. Já bych šel na to úplně jinak a použil bych nástroje z netpbm

    1, Především bych přes ffmpeg vyjel všechny snímky z filmu do png (pnm zabírá zbytečně moc místa)
    ffmpeg -i video.mp4 -r 1/1 $filename%03d.png
    Když jsem to zkoušel, tak minutovou sekvenci vyblil cca za 6 sekund

    2, Pak bych vybral jeden reprezentativní keyframe, ze kterého bych pomocí výběru podle barev vybral optimální selekci, tak aby zabrala pokud možno všechny barvy titulku. A z té bych pak udělal mapu barev:
    pngtopnm title_yellow.pnm | pnmcolormap all > mapa.pnm
    Redukcí barev se výrazně zjednoduší a zrychlí následné zpracování.

    3, No a pak bych s využitím této mapy bych projel ve smyčce všechny snímky:

    for i in (ls *.png) ; do pngtopnm $i | pnmremap -map=mapa.pnm -missingcolor=white > ${i/png/pnm} ; done

    Ještě víc by se to dalo urychlit tím, že bych před ten pnmremap předřadil pnmcut, aby se zpracovávala jen ta část obrazu, kde se vyskytují titulky. Čímž by ještě víc zredukoval objem dat s nimiž by se pak měl tesseract zabývat.

    A k jejich zpracování bych si napsal jednoduchý skriptík, který by bral jeden po druhém a přes pnmpsnr, porovnál jestli nedošlo ke změně. Pokud jo, tak pokud by šlo o začátek titulku, tak by zavolal tesseract, a když by to byl konec, tak by zapsal výsledek s číslem počátečního a koncového keyframe do souboru s titulky.
    24.8.2020 02:02 jejda | skóre: 24 | blog: jejda
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    U toto exportu všech obrázků na jednu hromadu je trochu problém, jak potom ten obrázek přiřadit k času. Nejsu si jistý jestli ffmpeg vůbec umí vložit timestamp do názvu souboru. Prý se to dá nějak zpětně dopočítat nevypadá to ale moc intuitivně.
    24.8.2020 07:41 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Zmíněno níže. Nepoužívá se jen časování přes časová razítka, ale také přes klíčové snímky. Má to ale jeden háček - musí to být titulky ke konkrétnímu videu. Nicméně pokud ho máš k dispozici, nebo víš jakou měl snímkovovou frekvenci, není problém s konverzí.
    24.8.2020 02:26 Bherzet | skóre: 19 | blog: Bherzetův blog
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Přílohy:
    Zkoušel jsem ten Jendův algoritmus, resp. to, jak jsem ho pochopil, aplikovat na krátký sample, a nefunguje to. Naivní implementace (p1 ≠ p2, tedy nulová tolerance), dle očekávání nefunguje vůbec (test01.png je výsledek po průchodu přes všechny snímky, test02.png pouze přes dva), trochu chytřejší implementace (d(p1, p2) > t) není o nic lepší (test04.png je výsledek po průchodu přes všechny snímky při t=10). Zvyšování thresholdu nepomáhá. Co je zvláštní, tak že i pokud threshold nastavím tak absurdně vysoko (dejme tomu na 300), že téměř všechny pixely ve scéně zůstanou netknuty, titulky to stejně částečně usekne (viz test07.png). Napadá mě jediné logické vysvětlení, že tam dochází k nějakému nepatrnému posunu, což je věc, kterou jsem fakt nepředpokládal. Čekal bych, že titulek bude pozicovaný vždy stejně.

    No ale zkoušel jsem ty framy projet od oka a žádného viditelného posunu jsem si nevšiml, tak fakt nevím. Protože pokud tam k tomu posunu nedochází, tak by to aspoň o trochu lepší výsledky produkovat mělo, ne? Pak by bylo na čase přemýšlet, jak to optimalizovat (zmenšení viewportu na relevantní část, nějaké půlení intervalu, aby to nebralo úplně všechny snímky, …). Pokud je to ale opravdu tím skákáním a neudělal jsem teď v rychlosti někde jen nějakou stupidní chybu, bylo by nutné místo jednotlivých pixelů sledovat nějaké matice sousedních pixelů atd. Natrénovat nějaký model přímo na čtení titulků by v dnešní době asi byla rozumnější cesta.
    24.8.2020 03:30 Bherzet | skóre: 19 | blog: Bherzetův blog
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Záhada vyřešena, je to opravdu způsobené poskakováním titulků – při přecházení mezi snímky v menším okně je to dobře patrné. Aplikace např. na prvních 50 snímků dává podstatně lepší výsledky, kde dochází k postupnému odmazávání scény a nikoliv titulků. Jakmile se ale ke slovu dostane třeba snímek č. 108, cca třetinu titulků pošle do hrobu, protože on je má pozicované trochu jinak.

    Takže řešení by bylo buď neporovnávat jednotlivé snímky přímo pixel po pixelu, ale mít nějakou toleranci i tímto směrem, nebo z nich zkoušet počítat nějaký průměr, o kterém Jenda vlastně mluvil původně, ale to si asi neumím úplně představit, jak by fungovalo (protože pokud titulky skáčou, budou rozmazané, resp. dělat duchy). Další věc je, že perioda, po kterou je titulek zobrazený, potažmo změna ve scenérii, která během ní proběhne, nemusí být ani zdaleka dostatečně velká na to, aby zmizely opravdu všechny ostatní pixely a nakonec to stejně skončí implementací algoritmu „plechovky“, vybíráním souvislých bloků pixelů o cca barvě titulků… a takto složitě vyprodukovaný výsledek bude opět trpět stejnými problémy jako popisuje OP v blogu (bude to chytat i jiné nápisy o stejné/podobné barvě atp). Čili tudy cesta nevede.

    Dobrou noc.
    24.8.2020 06:28 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    No a co to takhle zkusit postupem který jsem popsal?

    Kdybych měl k dispozici vzorek takového videa a nejenom jeden snímek, tak už by byl ten skript dávno na světě. Já totiž ve své sbírce žádný takový film nemám. Vždy jsem se snažil sehnat originální verzi, češtinu mít jako další stopu a titulky mimo soubor, aby je bylo možné editovat a případně překládat.
    24.8.2020 20:30 Bherzet | skóre: 19 | blog: Bherzetův blog
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Tvůj postup očividně funguje, OPův taky. Já to nepotřebuji, tohle jsem zkoušel jen ze zvědavosti, protože mi to přišlo jako zajímavý nápad, ale byl jsem trochu skeptický k tomu, že bude fungovat. Ale nevím, jak to Jenda myslel, a jestli jsem ho pochopil úplně správně (spíš ne, přinejmenším s tím průměrováním vůbec netuším, co myslel).
    24.8.2020 20:58 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Kdybych měl něco, na čem bych to mohl testovat, tak bych ten skript napsal. Ale bohužel nemám.
    24.8.2020 00:09 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    U bílých titulek bych pochopitelně použil pozadí černé a pak to inverzně přemapoval.
    30.8.2020 20:22 panejo
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Uz to tady zaznelo, pokud by tazatel nahral ten klip nekam na ulozto, uz ma titulky i s ocr programem. Filozofovat naprazdno se o tom samozrejme da taky :)

    V pripade zajmu o test s klicovyma snimkama, ja si kdysi napsal toto (vynecha 'hodinu', kdyz tak doplnte // prip misto python asi staci echo "scale=20; x*y+z" | bc -l):
    # all frames::
    
    # mkdir all_frames_orig
    # cd all_frames_orig
    # ffmpeg -i ../Trailer_2020.orig.mp4 -vsync 0 -r 25 -f image2 %04.png
    # cd ..
    
    ## tohle ale muze trvat dooost dlouho (4000 asi 4 hodiny):
    ## vysekne jen vybrane snimky
    for f in $(seq 0 4752); do
    fn=$(printf "%04d.png" $f)
    ffmpeg -i ../Trailer_2020.orig.mp4  -vf "select=eq(n\,$f)" -vframes 1 $fn
    done
    
    
    #######
    mkdir key_frames_orig_hms
    cd key_frames_orig_hms
    # ffprobe -select_streams v -show_frames -show_entries frame=pict_type -of csv ../Trailer_2020.orig.mp4
    ffprobe -select_streams v -show_frames -of csv ../Trailer_2020.orig.mp4 > trailer_ffprobe.out
    
    cat trailer_ffprobe.out | awk -F',' '{print $5,$6,$19}' > trailer_ffprobe_types.out
    
    grep 'I' trailer_ffprobe_types.out > trailer_ffprobe_types_keys.out
    
    ## vyzaduje all_frames nebo vysekavat po jednom (viz vyse)
    cat trailer_ffprobe_types_keys.out | while read a b c; do
    zpframe=$(printf '%04d' $a); secs=$(printf '%.2f' $b);
    ms=$(python -c"print('{}m{:02.2f}s'.format(int($b//60),$b % 60))")
    convert ../all_frames_orig/$zpframe.png -quality 80 ./${zpframe}_${secs}s_${ms}.jpg;
    done
    
    
    
    Josef Kufner avatar 22.8.2020 10:52 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Teoreticky bys mohl jít po klíčových snímcích, neboť titulek by mohl být dost velká změna, aby takový snímek byl vždy na začátku titulku.

    Jinak pokud bys použil rozumný programovací jazyk a nespouštěl ffmpeg + cca 10 dalších procesů pořád dokola, tak by to mohlo být řádově rychlejší. Neměl by být problém projet všechny políčka videa rychleji než je doba přehrávání, při tom nějakým průměrováním nadetekovat změny v titulcích a pak vyexportovat jeden snímek na titulek. Tipnul bych si, že pokud si vyneseš graf podobnosti mezi snímky, tak změny titulků budou vidět jako špičky.
    Hello world ! Segmentation fault (core dumped)
    22.8.2020 14:11 jejda | skóre: 24 | blog: jejda
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Podle toho co se píše v manuálu ffmpeg při tom seekování klíčové snímky používá. Jsem to pochopil tak, že se mu zadá přesný čas, ffmpeg doskáče na nejbližší keyframe a přesnou pozici potom nějak dopočítá. Samotné klíčové snímky mají rozestup klidně několik sekund. Pro seekování jenom podle keyframes to má volbu -noaccurate_seek

    Když to čte jenom každý pětadvacátý snímek tak to zas až tak zoufale pomalé není. Nejvíc na tom zdržuje to OCR které se nakonec zavolat stějně musí. Když by se ffmpeg překompiloval s volbou --enable-libtesseract tak se tím zpřístupní filtr ocr. Ale to moc nechápu jak to funguje.

    Josef Kufner avatar 22.8.2020 23:44 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Ano, používá je. Ono to ani jinak nejde.

    Co jsem však chtěl říct je, že když vemeš ffmpeg knihovnu a naprogramuješ si to s ní, tak nebudeš na každý snímek číst hlavičku souboru, obtížně seekovat do prostřed souboru a radovat se, že zvládneš načíst každý 25. snímek, když bys mohl zpracovat všechny snímky a ještě několikanásobně rychleji.
    Hello world ! Segmentation fault (core dumped)
    JiK avatar 22.8.2020 17:59 JiK | skóre: 13 | blog: Jirkoviny | Virginia
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    co takhle na to natrenovat nejakou neuronovou sit?
    22.8.2020 19:17 nadtržítko
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Dafuq? Pred 20ti lety kdyz jsme ripovali dvd do divx tak na to byl softik co to OCRkovalo a rovnou prehnalo pres slovnik MS Wordu. Jo aha, v linuxu? Tak to muzete jit do <>e i po 20ti letech :o)
    xsubway avatar 22.8.2020 20:16 xsubway | skóre: 13 | blog: litera_scripta_manet
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Chodí taky zbloudilý uživatelé Linuxu na Win fóra a dělají tam dlouhý nos jako malý dečka? :)
    22.8.2020 20:19 nadtržítko
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Samozrejme, to parti k linuxovimu fanatismu ;o)
    23.8.2020 09:20 nadtržítko
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Zadny linuxovy fanatismus neexistuje. Linuxaci jsou proste dusevne nemocni lide zijici v bludu. Kdyz jim to nekdo vytkne tak jenom bekotaji a strkaji hlavu do pisku. Nechapu co je na tom tezkyho normalne se vztycenou hlavou to priznat a zaspivat hymnu linuxaku: Radujme se veselme se, hovno mame, podelme se.
    25.8.2020 10:32 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Pořád lepší než si ji strkat do prdele jako ty.
    =^..^= AmigaPower® avatar 10.9.2020 15:03 =^..^= AmigaPower® | skóre: 30 | blog: BLB | Praha
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    To je nějaký dítě vole, ani Win BFU nemůže bejt takhle blbý...
    23.8.2020 04:20 billgates | skóre: 27
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Ako, uprimne, nevidel som este jedinu diskusiu o nejakom Windows bugu na lubovolnom fore, kde by nevyrukoval niekto s linuxom.
    Gréta avatar 23.8.2020 16:04 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: OCR filmových titulků

    jo :D :D ;D ;D

    a furt jim tam řikám jak je jako ten linux supr jak všecko funguje aže takovej a takovej problémek by v linuxu vubec nebyl možnej i když vim žeto jako neni pravda a každou chvilku se musí v linuxu něco vopravovat :O :D :D ;D

    23.8.2020 15:37 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
    Rozbalit Rozbalit vše Re: OCR filmových titulků

    Az na to ze na DVD jsou titulky ve vlastnich stopach ...

     

    coz tady autor resi uplne jiny  problem o oplne jine komplexite ... HardCoded SUBS :D , ale u uzivatele windows clovek neceka ze pochopi psany text a nebo vi neco o technologii na pozadi

    USE="-gnome -kde";turris
    23.8.2020 18:10 nadtržítko
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    To v jake stope jsou je irelevantni protoze DVD ma titulky jako obrazky a tedy OCR se nevyhnes. Ze se autor musel srat s cernenim obrazu je jen proto, ze je pirat a nema orginalni disk.
    23.8.2020 18:33 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
    Rozbalit Rozbalit vše Re: OCR filmových titulků

    ne, je to celkem relevantni .. chtel bych videt tn X let stary program na widle co to udela na kliknuiti ..

     

    to jestli je autor pirat nebo ne je irelevatni, i ten kdo grabuje orig dvd a OCRkem protahuje titulky je pirat ..

    USE="-gnome -kde";turris
    Josef Kufner avatar 24.8.2020 00:47 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    DVD titulky jsou průhledné video, které přehrávač plácne přes film. Takže OCR to má velmi snadné, neboť dostane velmi čistá data. Pokud je OCR natrénované na konkrétní font, tak by úspěšnost měla být velmi slušná. A ano, ripovací programy mají podporu OCR v sobě už nějakou tu dekádu.
    Hello world ! Segmentation fault (core dumped)
    24.8.2020 07:11 SubRip
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    https://en.wikipedia.org/wiki/SubRip Ten software má přes 17 let a pořád se udržuje. Když vám vadí použití pokrokovějšího operačního systému než je ten váš, tak je možné to pustit přes Wine.
    24.8.2020 07:36 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Ty matelo, než podstupovat ten oser s tím tvým "pokrokovějším systémem", to bych ty titulky raději přeťukal na klávesnici.
    25.8.2020 09:06 Mumin
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Ten SubRip konec konců zřejmě používá neuronku, protože u nejasných znaků se ptá co to je, pár krát mu pomůžeš a pak se to už naučí. Zřejmě je natrénovaný na anglosaské jazyky protože se ptal povětšinou na znaky s diakritikou.
    25.8.2020 10:31 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Ale houbeles. Učení uměly OCR aplikace už před dvaceti lety. Kdyby používal "neuronku", tak se neptá.

    Zaobírám se OCR už docela dlouho a úspěšnost výsledku záleží víc na kvalitě zdroje, než na nějakém učení. Proto je hovadina aplikovat OCR na neupravený filmový snímek, kde titulek tvoří jen malou malou plochu. Nejefektivnější je ten snímek ořezat(titulky se zpravidla vyskytují v dolní třetině snímku, pak mimo barev titulků vše ostatní remapovat na jednu barvu pozadí – je-li plocha pozadí bílá a titulky jakákoliv barevná směs, je výsledek rozpoznání lepší, než pokud je pozadí černé – a teprve pak na to poštvat nějaký OCR engine pochopitelně s doporučením jazyka rozpoznávaného textu. Pak totiž použije i další finty, které zvyšují úspěšnost až na 99%.
    25.8.2020 11:21 Bherzet | skóre: 19 | blog: Bherzetův blog
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Kdyby používal "neuronku", tak se neptá.
    Ptá, protože potřebuje trénovací data.
    Josef Kufner avatar 25.8.2020 11:29 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Pokud by se použila neuronka, tak by se jí dalo předhodit neupravené video a natrénovat ji, ať si ho upraví sama. Mělo by stačit jí udělat trochu hlubší, aby vstupní vrstvy měly dost prostoru na zpracování obrazu a ještě zbylo na zpracování textu.

    Trénovací data nebude nijak obtížné obstarat, neboť videí s titulky se válí všude hromada a stačí titulky zapéct do obrazu. V ten okamžik máš jak vstup, tak 100% správný výstup a může se trénovat.
    Hello world ! Segmentation fault (core dumped)
    25.8.2020 12:28 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Přesně tak. S tím ale ať si hraje někdo jiný. Mně vyhovuje OCR software co není úzce specializovaný a jak už jsem napsal tesseract funguje, pokud se mu dodá slušná předloha dostatečně. A s mizernýma předlohama by měl problém i člověk na trávě.
    Gréta avatar 23.8.2020 15:56 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: OCR filmových titulků

    co tohleto hele :O :O

    23.8.2020 21:31 jejda | skóre: 24 | blog: jejda
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Příloha:

    No to je vlastně původní důvod, proč toto celé vzniklo. Protože se mi ten videocr nepodařilo rozhýbat. :-D Taky autor toho videocr píše, že dvacetisekundové video to čte tři minuty. To se mi zdá hodně pomalé. Teď zrovna překopávám tady ten bash skript tak, že čte za sekundu ne jeden obrázek ale dva a zjišťuju že to stačí. Žádné titulky netrvají míň jak 500ms. V té původní verzi co je navrchu v blogu se mi občas krátký titulek ztratil. Hodně se tím zvýšila přesnost časování. Bohužel s tím ale narostl počet duplikátů (asi v tom mám bug) a taky to celé trvá dvakrát dýl. Přibližně je to stejně rychlé jak přehrávání. Dám to do přílohy. Přijde mi že je to o maličko víc použitelné jak ta původní verze.

    Našel jsem na toto téma pár zajímavých odkazů Pre-processing for OCR (outlined font) a converting fuzzy outlined text for ocr.
    24.8.2020 00:13 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Taky autor toho videocr píše, že dvacetisekundové video to čte tři minuty.
    No to je fakt HODNĚ pomalé. Jak bych na to šel já jsem popsal o kousek výše.
    Josef Kufner avatar 24.8.2020 00:49 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Hele a jak dopadne časování titulků? Pokud máš každý titulek +/- 200 ms, tak to musí být děsně otravné.
    Hello world ! Segmentation fault (core dumped)
    24.8.2020 02:29 jejda | skóre: 24 | blog: jejda
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    To časování je dost bída to uznávám zvlášť když je ten film hodně ukecaný, no ve filmech kde se mluví trochu normálně mi přijde ta vůle 500ms docela snesitelná. Kdyby v tom čtení neměl tesseract tak moc chyb, šlo by číst obrázek třeba každých 100ms. To už by zvýšilo přesnost dostatečně ale zas za cenu pětinásobného zpomalení.
    24.8.2020 16:41 jejda | skóre: 24 | blog: jejda
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Jenom tak na zkoušku jsem to nechal číst snímek každých 0.1s a je to jak jsem předpokládal. Přesnost časování už se blíží k dokonalosti ale jedna minuta videa se počítá zhruba 8 minut. To je neúnosně dlouho. Sice mám 12 roků staré dvoujádro ale nemyslím si že by to na nějakém moderním CPU běželo o moc rychlejš. :-(
    24.8.2020 06:23 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Co furt máte sakra s tím časováním titulků? To fakt nevíte, že jsou formáty, které jsou časované nikoliv přes timestamp, ale přes čísla snímků, což je mnohem jednodušší? A že není problém udělat přes aegisub korekturu rozpoznaného textu a opravené titulky pak libovolně převádět do libovolného formátu?
    24.8.2020 08:45 Nebo
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    V pirátských kruzích vyhrály časové titulky ponevac číslo snímku závisí od snímkové frekvence. U časových jedny titulky dokážou pokrýt vícero video norem.
    24.8.2020 09:34 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Toho, kdo si titulky sám píše nějaké pirátské kruhy nezajímají.
    24.8.2020 13:06 jejda | skóre: 24 | blog: jejda
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    On spíš naráží na to, že ten skript zaokrouhluje začátek titulku dolů a konec nahoru a tím tam vzniká trochu rozptyl. Udělal jsem to tak protože se kvůli rychlosti nečtou všecky obrázky a taky pro případ že když by se tam náhodou objevil duplikát, tak aby to neblikalo. Dělat ocr kompletně na všech snímkoch mi přijde zbytečné. A nemusíš tak vůbec řešit fps.
    24.8.2020 13:20 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: OCR filmových titulků
    Bohužel nemám k dispozici nic, na čem bych to mohl porovnat s řešením přes netpbm.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.