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 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 6
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    26.4. 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 45
    25.4. 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ářů: 14
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 879 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Skript pro vytvoření DVD-VIDEO obrazu

    12.8.2007 23:27 | Přečteno: 2340× | Linux | Výběrový blog | poslední úprava: 13.8.2007 13:28

    Dnes jsem si pro svou vlastní potřebu vytvořil skriptík, který mi vytvoří DVD-VIDEO ISO obraz ze složky obsahující strukturu DVD. Používá to zenity a mkisofs a je to určené převážně pro nautilus (plugin nautilus-actions). A protože nejsem hajzl, tak vám ho tu pěkně vystavím. Je to pod licencí MIT, takže si s tím dělejte, co uznáte za vhodné.

    #!/bin/bash
    
    if [ -z "$1" ]; then
    	zenity --error --text="Zadejte název adresáře"
    	exit 1
    fi
    
    DIR="`sed -e \"s/'//g\" <<<\"$1\"`"
    
    if [ ! -d "${DIR}" ]; then
    	zenity --error --text="Adresář neexistuje"
    	exit 1
    fi
    
    if [ ! -d "${DIR}/AUDIO_TS" -o ! -d "${DIR}/VIDEO_TS" ]; then
    	zenity --error --text="Adresář neobsahuje platnou strukturu DVD"
    	exit 1
    fi
    
    DVD_NAME_HINT="`basename \"${DIR}\"`"
    DVD_NAME="`zenity --entry --text=\"Zadejte název DVD\" --entry-text=\"${DVD_NAME_HINT}\"`"
    
    if [ $? != 0 -o "${DVD_NAME}" = "" ]; then
    	exit 1
    fi
    
    OUTPUT_DIR="`dirname \"${DIR}\"`"
    OUTPUT_FILE="${OUTPUT_DIR}/${DVD_NAME}.iso"
    LOG="${OUTPUT_DIR}/.${DVD_NAME}-mkdvdvideoiso.log"
    
    mkisofs -dvd-video -V "$DVD_NAME" -o "${OUTPUT_FILE}" "${DIR}" >"${LOG}" 2>&1 &
    
    MK_PID=$!
    
    while true
    do
    
    	step="`tail -n1 \"${LOG}\" | grep % | cut -d '.' -f1`"
    	echo $step
    
    	if [ -n "`cat \"${LOG}\" | grep extents`" ]; then
    		echo "100"
    	fi
    	sleep 0.5
    
    done | zenity --progress --auto-close --title "Vytvářím obraz DVD ..." --text "Vytvářím obraz DVD ..."
    
    if [ $? -eq 0 ]; then
    	zenity --info --title "Vytváření obrazu dokončeno." --text "Vytváření obrazu dokončeno."
    	wait ${MK_PID}
    else
    	kill ${MK_PID} >/dev/null 2>&1
    fi
    
    rm -f "${LOG}"
    

    Skript uložte třeba jako /usr/bin/mkdvdvideoiso a přidejte mu právo pro spuštění (chmod +x /usr/bin/mkdvdvideoiso). Dále je potřeba nastavit nautilus-actions.

    V gnome vlezte do "Systém-Volby-Konfigurace akcí nautilus" a klikněte na "Přidat". Jmenovku dejte třeba "Vytvořit obraz DVD", ikonu "gtk-cdrom", cesta "/usr/bin/mkdvdvideoiso", parametry "%d/%f" (parametry včetně uvozovek). Na kartě podmínky přepněte na "Pouze složky". Potvrďte, zavřete. A jak to funguje?

    Máme třeba adresář "/Users/Jarda/Filmy/Tarzan 2" a v něm strukturu DVD (AUDIO_TS a VIDEO_TS/*). Pravým myšítkem klikněte na adresář "/Users/Jarda/Filmy/Tarzan 2" a zvolte "Vytvořit obraz DVD". Zeptá se to na jmenovku disku (např "Tarzan 2" a v adresáři /Users/Jarda/Filmy to vytvoří soubor "Tarzan 2.iso". Proces vytváření indikuje progressbar zenity. Po skončení je zobrazena zpráva.

    Má to určitě pár chybek a neměli byste spouštět více procesů v jednom adresáři, jinak se budou mlátit dočasné soubory :-) Když to někdo vylepší, muže mi to poslat do diskuse, rád si to u sebe vylepším také.

    Update

    Trošičku jsem upravil ten skript, takže by teď mělo být možné výcenásobné spuštění v jednom adresáři.

           

    Hodnocení: 60 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    Jardík avatar 12.8.2007 23:39 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Skript pro vytvoření DVD-VIDEO obrazu
    A aby nikdo nenadával na ten první sed, tak je tam kvůli tomu, že mi nautilus předá třeba '/Users/Jarda/Filmy'/'Tarzan 2'.
    Věřím v jednoho Boha.
    Jiří Němec avatar 12.8.2007 23:54 Jiří Němec | skóre: 22 | blog: BluPix | Horní Smrčné
    Rozbalit Rozbalit vše Re: Skript pro vytvoření DVD-VIDEO obrazu
    My uživatelé KDE a k3b jsme opravdu rádi, že nic takového nemusíme řešit.
    Spock: "Logic, logic, logic. Logic is the beginning of wisdom, not the end.
    Jardík avatar 13.8.2007 00:04 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Skript pro vytvoření DVD-VIDEO obrazu
    Kdybych nebyl línej si nainstalovat nejakej jinej pálící program než nautilus-burn, tak to také řešit nemusím :-)
    Věřím v jednoho Boha.
    msk avatar 13.8.2007 08:58 msk | skóre: 27 | blog: msk
    Rozbalit Rozbalit vše Re: Skript pro vytvoření DVD-VIDEO obrazu
    A bez gnome:
    #!/bin/bash
    
    # definitions
    
    CHAPTER_SEC_SIZE=300
    MAX_VIDEO_SEC_SIZE=36000
    
    # usage:
    # anyToDvd [ -p ] video.avi [subtitles.srt]
    
    TMP_MPEG=".dvd_mpeg_file.$$.mpg"
    TMP_DVD=".dvd.$$"
    
    
    # check existence of utilities
            FAIL=0
            if ! which mplayer; then
                    echo "Missing mplayer"
                    let FAIL+=1
            fi
            if ! which mencoder; then
                    echo "Missing mencoder"
                    let FAIL+=1
            fi
            if ! which dvdauthor; then
                    echo "Missing dvdauthor"
                    let FAIL+=1
            fi
            if ! which mkisofs; then
                    echo "Missing mkisofs"
                    let FAIL+=1
            fi
            if [ "$FAIL" != "0" ]; then
                    exit 1
            fi
    
    
    # parse args
            if [ "$1" == "-p" ]; then
                    SRC=$2
                    SUB=$3
            else
                    SRC=$1
                    SUB=$2
            fi
    
    
    # if asked for play, do it, else encode video to dvd
    if [ "$1" == "-p" ]; then
    
            mplayer $SRC $SUB
    
    # else encode
    else
    
            # copy cp1250 subtitles
            # using subtitles?
                    if [ "$SUB" != "" ] && [ -e $SUB ]; then
                            mkdir -p ~/.mplayer/font/
                            cp /usr/share/mplayer/font/cp1250/arial-18/* /home/msk/.mplayer/font/
                            if [ "$?" != "0" ]; then
                                    echo "Edit script and specify correct font to copy"
                                    exit 1
                            fi
                    fi
    
            # encode video
                    # base switches
                    MENCODER="mencoder -oac lavc -ovc lavc -of mpeg "
                    MENCODER="$MENCODER -mpegopts format=dvd -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:abitrate=192:aspect=16/9 "
                    # using subtitles?
                    if [ "$SUB" != "" ] && [ -e $SUB ]; then
                            MENCODER="$MENCODER -sub $SUB "
                    fi
                    # closing options
                    MENCODER="$MENCODER -ofps 25 -o $TMP_MPEG $SRC"
    
                    # do it
                    $MENCODER
    
            # create long chapter time list for dvdauthor
                    LTL="0"
                    for i in $(seq $CHAPTER_SEC_SIZE $CHAPTER_SEC_SIZE $MAX_VIDEO_SEC_SIZE); do
                            LTL="$LTL,$i"
                    done
    
            # author dvd
                    dvdauthor -o $TMP_DVD -c $LTL $TMP_MPEG
                    dvdauthor -T -o $TMP_DVD
    
            # make image
                    mkisofs -dvd-video -o $SRC.iso $TMP_DVD
    
            # remove temp files
                   rm -rf $TMP_DVD $TMP_MPEG
    
            # done
                    echo "Output created as $SRC.iso"
    
    
    fi
    
    
    Bez kontrol, titulkov a balastu okolo su to 4 commandy: mencoder, dvdauthor, dvdauthor -T, mkisofs.
    13.8.2007 14:09 Fëannatar | skóre: 19 | blog: Annals of Taurelador
    Rozbalit Rozbalit vše Re: Skript pro vytvoření DVD-VIDEO obrazu
    My uživatelé Gnome a Brasera také ne. Dokonce i chráněná DVD už umí od verze 0.6 zkopírovat (při použití libdvdcss)...
    Your freedom ends where others' begins. It's the same with software => promote LGPL.
    Dalibor Smolík avatar 13.8.2007 18:38 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
    Rozbalit Rozbalit vše Re: Skript pro vytvoření DVD-VIDEO obrazu
    No, já mám na to jednoduché skripty:
    1) převod DVD do iso obrazu
    #! /bin/sh
    # toto vytvori iso obraz, nutno upravit nazev filmu
    ISOFILE="navrat_krale_1.iso"
    cd /home/uzivatel/filmyiso;
    mkisofs -dvd-video -udf -o $ISOFILE /home/dalibor/isoobrazy;
    2) vypálení na DVD
    # toto vypali iso obraz, nutno upravit nazev filmu
    ISOFILE="navrat_krale_1.iso"
    cd /home/uzivatel/filmyiso;
    growisofs -speed=1 -Z /dev/cdrom=$ISOFILE;
    Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
    Jardík avatar 13.8.2007 18:59 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Skript pro vytvoření DVD-VIDEO obrazu
    speed=1? To jako hodinu vypaluješ jeden film? To bych se z toho asi pos*al :-)
    Věřím v jednoho Boha.
    Dalibor Smolík avatar 13.8.2007 19:03 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
    Rozbalit Rozbalit vše Re: Skript pro vytvoření DVD-VIDEO obrazu
    Ale kdepak, tak dlouho to netrvá. Za to na některém DVD stolním přehrávači mám problémy, když tam tu hodnotu 1 neuvedu. Raději počkám deset minut, než mít nekvalitní DVD. A pokud jde o převod mpg nebo avi souboru na DVD, používám mandvd, podporuje i české titulky a různá menu.
    Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
    Jardík avatar 14.8.2007 00:33 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Skript pro vytvoření DVD-VIDEO obrazu
    Rychlost 1x je 1350 kB/s. U plného DVD (4589843,75 kB) to tedy dělá 3399 s, tedy Přes 56,5 minuty = skoro hodina.
    Věřím v jednoho Boha.
    Dalibor Smolík avatar 14.8.2007 00:56 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
    Rozbalit Rozbalit vše Re: Skript pro vytvoření DVD-VIDEO obrazu
    dobrá, změřím si čas :-). Spíš mi to v logu ukazuje jako zápis 2,5x (nikoliv 1), což odpovídá těm odhadnutým 20 - 25 minutám. Ale tato rychlost mi vyhovuje, takže proč to nepálí zadanou rychlostí 1 nijak neřeším.
    Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
    Jardík avatar 14.8.2007 00:35 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Skript pro vytvoření DVD-VIDEO obrazu
    A pokud jde o převod mpg nebo avi souboru na DVD, používám mandvd, podporuje i české titulky a různá menu.

    Ale o tom můj zápis není ...

    Věřím v jednoho Boha.
    Dalibor Smolík avatar 14.8.2007 00:57 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
    Rozbalit Rozbalit vše Re: Skript pro vytvoření DVD-VIDEO obrazu
    Vím to. Tuto informaci jsem předal jen pro úplnost.
    Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
    14.8.2007 00:51 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Skript pro vytvoření DVD-VIDEO obrazu
    Proč mu raději jméno toho souboru nepředáváš jako argument? :-) To by se mi teda nechtělo to pokaždé editovat..

    Založit nové vláknoNahoru

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