abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 10:55 | Pozvánky

    Organizátoři konference LinuxDays ukončili veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata, která na letošní konferenci zaznějí. Hlasovat můžete do neděle 7. září. Poté podle výsledků hlasování organizátoři sestaví program pro letošní ročník. Konference proběhne 4. a 5. října v Praze.

    Petr Krčmář | Komentářů: 8
    dnes 02:22 | Nová verze

    Byla vydána verze 11.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 06:00 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. Vypíchnout lze, že v Plasmě byl implementován 22letý požadavek. Historie schránky nově umožňuje ohvězdičkovat vybrané položky a mít k ním trvalý a snadný přístup.

    Ladislav Hagara | Komentářů: 0
    30.8. 20:00 | Nová verze

    Wayfire, kompozitní správce oken běžící nad Waylandem a využívající wlroots, byl vydán ve verzi 0.10.0. Zdrojové kódy jsou k dispozici na GitHubu. Videoukázky na YouTube.

    Ladislav Hagara | Komentářů: 0
    30.8. 04:00 | Komunita

    Před necelými čtyřmi měsíci byl Steven Deobald jmenován novým výkonným ředitelem GNOME Foundation. Včera skončil, protože "nebyl pro tuto roli v tento čas ten pravý".

    Ladislav Hagara | Komentářů: 7
    29.8. 18:33 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).

    Ladislav Hagara | Komentářů: 1
    29.8. 15:11 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    29.8. 12:11 | IT novinky

    Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.

    Ladislav Hagara | Komentářů: 0
    28.8. 23:33 | Nová verze

    Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    28.8. 21:55 | Nová verze Ladislav Hagara | Komentářů: 4
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (8%)
     (2%)
     (3%)
     (4%)
     (1%)
    Celkem 124 hlasů
     Komentářů: 9, poslední 28.8. 11:53
    Rozcestník

    Skript pro vytvoření DVD-VIDEO obrazu

    12.8.2007 23:27 | Přečteno: 2354× | 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.