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 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 3
    dnes 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    dnes 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

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

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

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

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 759 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Bilinguálne titulky v MPlayeri (skript)

    30.7.2007 00:09 | Přečteno: 14328× | Výběrový blog | poslední úprava: 2.2.2013 10:05

    Bash skript pre zlúčenie dvoch textových titulkov do jednoho. Výsledkom je súčasné zobrazenie 2 titulkov na spodku/vrchu okna prehrávača (podobnú funkciu má napr. PowerDVD, ale len pri dvd titulkoch). Opravy a vylepšenia sú vítané.

    #!/bin/bash
    # merge2ass.sh - script for merging two text-subtitles into an ass subtitle file
    # version 0.9b, 02-feb-2013
    # comments/criticism/praise to jose1711-gmail-com
    
    # dependencies: mplayer (if your subtitle files need to be converted to srt), gnu utils
    
    # thanks to:
    #  - d.watzke for comments
    #  - belisarivs for testing
    #  - boris dušek <boris (dot) dusek - gmail - com> for testing/ideas
    #  - swans100 - patch for milliseconds precision srt subs
    #
    # $1 is a movie file
    # $2 is a subtitle1
    # $3 is a subtitle2
    # $4 is optional and could be "-pm" or "--play-movie" for instant watching of the movie
    
    # example:
    # merge2ass.sh movie.avi english.srt slovak.sub
    # mplayer -noautosub -ass movie.avi -sub movie-bilingual.ass -subcp utf8
    #
    # or just
    # merge2ass.sh movie.avi english.srt slovak.sub -pm
    #
    # or even only
    # merge2ass.sh --detect movie.avi -pm
    #
    # ;-)
    #
    # release history:
    # 0.8a (29. 7. 2007)
    #  - initial public release
    # 0.8.1a (30. 7. 2007)
    #  - check_syntax fixed (d.watzke)
    #  - multiline echo -> cat (d.watzke)
    #  - removes temp files after conversion
    # 0.8.2 (1. 8. 2007)
    #  - check whether the input files exist prior to running MPlayer
    #  - check for MPlayer binary
    #  - help page added
    #  - new optional CLI parameters: -pm (plays movie after conversion), --help
    # 0.8.2.1 (2. 8. 2007)
    #  - timestamp in output more compatible (reported by belisarivs)
    # 0.9 (8. 8. 2007)
    #  - performs a check for writable output
    #  - check for MPlayer's support of ass/ssa if -pm is used
    #  - pointers to subtitle files stored as arraysF
    #  - autorecognition of subtitles based on MPlayer's -sub-fuzziness feature (--detect)
    #  - output filename based on movie filename (+bilingual.ass)
    #  - bash now mandatory (non-POSIX syntax used)
    #  - flag -pm has a long alias (--play-movie)
    # 0.9a (27. 4. 2012)
    #  - added compatibility with SRT subtitles using milliseconds precision (thanks juan!)
    # 0.9b (2. 2. 2013)
    #  - define encoding in ssa header (thanks mathieuu!)
    #
    # some future thoughts:
    #   - more optional flags (do_not_remove_temp_files, play_but_dont_delete_output_afterwards,dont_do
    #     the_conversion_just_merging,output_file..)
    #   - cleaner sed/awk code
    #   - support for other players (xine, totem, kmplayer, vlc..)
    #   - subtitle encoding detection based on enca (if present) - boris?
    #
    # docs:
    #   - http://en.wikipedia.org/wiki/SubStation_Alpha
    #   - http://www.perlfu.co.uk/projects/asa/ass-specs.doc
    #
    # THE STORY ENDS HERE
    # set -x
    
    # normally you do not want to see mplayer's error output
    #mplayer_err=/dev/stderr
    mplayer_err=/dev/null
    
    arg_count="$#"
    movie="$1"
    sub[1]="$2"
    sub[2]="$3"
    
    
    show_help(){
    cat << EOF
     ----------------------------------------------------------------------------------
    |                                                                                  |
    |  Merge2ass - a script for merging two text subtitles into ass/ssa subtitle file  |
    |                                         author: jose1711 - gmail - com, 2007/08  |
     ----------------------------------------------------------------------------------
    
      Usage: merge2ass.sh [--help] [movie subtitle1 subtitle2] [-pm|--play-movie]
    
             or
    
    	 merge2ass.sh --detect movie [-pm|--play-movie]
    
    --help        show this help page and exit
    
    --detect      try to detect subtitles using MPlayer's sub-fuzziness=1 flag
    
    movie         movie file (anything that MPlayer recognizes)
    subtitle[12]  file(s) containing text subtitles that MPlayer recognizes 
    
    -pm           play movie immediately and remove the output after finishing
    --play-movie
    
    EOF
    }
    
    detect_subtitles(){
    	while read -r line; do
    		sub[++i]="$line"
    	done < <(mplayer -sub-fuzziness 1 -frames 0 "$movie" 2>/dev/null | sed -n "s/^SUB: Added subtitle file ([0-9]*): \(.*\)$/\1/p")
    	echo "$i subtitles were detected in total."
    	echo "These two will be used:"
    	echo "${sub[1]}"
    	echo "${sub[2]}"
    }
    
    convert_subs(){
    type mplayer || { echo "MPlayer not installed or binary not in path, please investigate. Exiting.."; exit 1; } 
    
    echo "Converting the 1st subtitle file (${sub[1]}) to a time-based format..."
    # slower but does not require the video file for conversion
    # mplayer /dev/zero -rawvideo pal:fps=25 -demuxer rawvideo -vc null -vo null -noframedrop -benchmark -sub "$movie" -dumpsrtsub
    mplayer -dumpsrtsub -noautosub -really-quiet -frames 0 -sub "${sub[1]}" "$movie" 2>>"$mplayer_err" && echo "Done"
    mv dumpsub.srt "${sub[1]}-temp"
    echo "Converting the 2nd subtitle file (${sub[2]}) to a time-based format..."
    mplayer -dumpsrtsub -noautosub -really-quiet -frames 0 -sub "${sub[2]}" "$movie" 2>>"$mplayer_err" && echo "Done"
    mv dumpsub.srt "${sub[2]}-temp"
    }
    
    generate_ssa_header(){
    cat > "$output" << EOF
    [Script Info]
    Title:
    Original Script: 
    Original Translation:
    Original Editing: 
    Original Timing: 
    Original Script Checking:
    ScriptType: v4.00
    Collisions: Normal
    PlayResY: 1024
    PlayDepth: 0
    Timer: 100,0000
    
    [V4 Styles]
    Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
    Style: lang1style,Arial,64,65535,65535,65535,-2147483640,-1,0,1,3,0,6,30,30,30,0,0
    Style: lang2style,Arial,64,15724527,15724527,15724527,4144959,0,0,1,1,2,2,5,5,30,0,0
    Encoding:0
    
    [Events]
    Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text 
    EOF
    }
    
    generate_ssa_dialogs(){
    sed -e "/ --> /s/,/./g" "${sub[1]}-temp" | tr -d "\r" | awk 'BEGIN{ORS="";print " "} / --> /,/^$/ {ORS=" ";print} /^$/{print "\n"}' | sed -e "s/ --> /,/g" -e "s/^ \([^ ]*\) \(.*\)/Dialogue: Marked=0,\1,lang1style,Cher,0000,0000,0000,,\2/" -e "s/,00:/,0:/g" -e "s/\([:,]\)0\([0-9]\)/\1\2/g" -e "s/\([0-9]\)\(\.\)\([0-9]\)\([0-9]\)0\(,\)/\1\2\3\4\5/g" >>"$output"
    sed -e "/ --> /s/,/./g" "${sub[2]}-temp" | tr -d "\r" | awk 'BEGIN{ORS="";print " "} / --> /,/^$/ {ORS=" ";print} /^$/{print "\n"}' | sed -e "s/ --> /,/g" -e "s/^ \([^ ]*\) \(.*\)/Dialogue: Marked=0,\1,lang2style,Cher,0000,0000,0000,,\2/" -e "s/,00:/,0:/g" -e "s/^ *//g" -e "s/\([:,]\)0\([0-9]\)/\1\2/g" -e "s/\([0-9]\)\(\.\)\([0-9]\)\([0-9]\)0\(,\)/\1\2\3\4\5/g" >>"$output"
    }
    
    remove_temp_files(){
    rm "${sub[1]}-temp" "${sub[2]}-temp"
    }
    
    play_movie(){
    	mplayer -ass 2>/dev/null >/dev/null || { echo "Too old MPlayer version, can't understand ASS/SSA subs. Install a newer version."; exit 1; }
    	mplayer -really-quiet -fs "$movie" -sub "$output" -ass -subcp utf8 -noautosub
    }
    
    delete_output(){
    	rm "$output"
    }
    
    eval last_arg='$'${arg_count}
    
    if [ $arg_count -eq 0 ]; then
    	show_help
    	exit 0
    fi
    
    for param in $*
    do
    	if [ $param = "--help" ]; then show_help; exit 0; fi
    done
    
    if [ "$movie" = "--detect" ]; then
    	movie="${sub[1]}"
    	output="${movie%.*}-bilingual.ass"
    	> "$output" #|| { echo "Can't write here! Exiting.." && echo 1; }
    	detect_subtitles
    fi
    
    if [ ! -f "$movie" ]; then echo "Movie file ($movie) does not exist. Going back to shell.."; exit 1; fi
    if [ ! -f "${sub[1]}" ]; then echo "Subtitle1 file (${sub[1]}) does not exist. Going back to shell.."; exit 1; fi
    if [ ! -f "${sub[2]}" ]; then echo "Subtitle2 file (${sub[2]}) does not exist. Going back to shell.."; exit 1; fi
    
    echo "Processing.."
    # reset output
    output="${movie%.*}-bilingual.ass"
    > "$output" #|| { echo "Can't write here! Exiting.." && echo 1; }
    
    convert_subs
    generate_ssa_header
    generate_ssa_dialogs
    remove_temp_files
    
    if [ "$last_arg" = "-pm" -o "$last_arg" = "--play-movie" ]; then
    	play_movie
    	delete_output
    fi
    
    exit 0
    
    # set +x
    
           

    Hodnocení: 100 %

            špatnédobré        

    Obrázky

    Bilinguálne titulky v MPlayeri (skript), obrázek 1

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

    Komentáře

    Vložit další komentář

    30.7.2007 04:55 Boris Dušek | skóre: 22 | blog: everything
    Rozbalit Rozbalit vše Re: Bilinguálne titulky v MPlayeri (skript)
    Díky, přesně po tomto jsem toužil!
    vim ~/.emacs
    David Watzke avatar 30.7.2007 07:52 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Bilinguálne titulky v MPlayeri (skript)
    • check_syntax() se nikdy neukončí, díky nesmyslnému použití subshellu. Použij if.
    • [[ $# -ne 3 ]] je rychlejší.
    • Místo toho velkýho echa raději použij cat.
      cat > soubor << EOF
      obsah souboru
      EOF
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    30.7.2007 10:41 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Bilinguálne titulky v MPlayeri (skript)
    cat abuse!

    tak, tu to mas, odbornik
    31.7.2007 11:23 ...
    Rozbalit Rozbalit vše Re: Bilinguálne titulky v MPlayeri (skript)
    jenom takova poznamka k tomu obrazku: betrayer je 'zradce', nikoli 'velky neznamy'...
    jose17 avatar 1.8.2007 21:31 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
    Rozbalit Rozbalit vše Re: Bilinguálne titulky v MPlayeri (skript)
    jj, tejto anomálie v preklade som si tiež všimol. inak dobrý postreh ;-) jose
    Ja vim, on vi, ty nano!
    30.6.2008 11:32 milos
    Rozbalit Rozbalit vše Re: Bilinguálne titulky v MPlayeri (skript)
    existuje nieco podobne ako tento script pod windowsom? pouzivam smplayer a chcel by som tam dvoje titulky...
    3.8.2010 23:33 Pavel
    Rozbalit Rozbalit vše Re: Bilinguálne titulky v MPlayeri (skript)
    Tenhle script již nefunguje (mplayer SVN-r1.0~rc3+svn20090426-4.4.3). Nemáš aktuálnější verzi?

    Případně neumí tohle nativně libovolný linux přehrávač?
    24.2.2011 02:31 Huy
    Rozbalit Rozbalit vše Re: Bilinguálne titulky v MPlayeri (skript)
    Thanks a lot for your script! This is exactly what I've been looking for to display 2 simultaneous subtitles inside MPlayer.

    I had to modify your script to work on Mac OS X 10.6 (Snow Leopard). I had to change tr -d "\r" to LC_CTYPE=C tr -d "\r" Otherwise, I get the error "tr: Illegal byte sequence".

    Also, the mplayer subtitle conversion doesn't seem to work completely with UTF-8 .srt input files. All the UTF-8 characters are changed into "¿" characters. If I convert manually using iconv to ISO-8859-1, then your script does work. I guess this has to do with the mplayer subtitle conversion, which for some reason doesn't like UTF-8.
    7.1.2013 22:12 xkomczax | skóre: 51 | blog: proste_blog
    Rozbalit Rozbalit vše Re: Bilinguálne titulky v MPlayeri (skript)
    Taky jsem sháněl možnost, jak dostat do přehrávače videa dvoje titulky (u mne VLC), zkusil jsem dva pluginy (Subtitler (lite) a Dual Subtitling), bohužel, ani jeden mi se současným VLC 2 nefungoval :-( Nakonec jsem objevil službu (zdrojové kódy si může každý stáhnout), která spojí dva srt soubory do jednoho ass souboru, který ve VLC přehrává jeden titulek nahoře a druhý dole. Adresa je http://pas-bien.net/2srt2ass/
    7.1.2013 22:15 xkomczax | skóre: 51 | blog: proste_blog
    Rozbalit Rozbalit vše Re: Bilinguálne titulky v MPlayeri (skript)
    Ještě doplním, že se jedná o (dva) php skripty a jsou vydány pod GNU GPL 2. Ke stažení zde

    Založit nové vláknoNahoru

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