Ripování DVD a hudebních CD
Poznámka: Kopírovat je možné pouze CD/DVD pro vlastní potřebu, jestliže jste právoplatným majitelem tohoto CD/DVD. V opačném případě porušujete zákon!
Ripování DVD
- Přečtěte si kapitolu Obecné poznámky.
- Přečtěte si kapitolu Přidání repozitáře.
- Přečtěte si kapitolu Instalace multimediálních kodeků.
- Přečtěte si kapitolu Přehrávání DVD.
Ripování DVD pomocí příkazové řádky
Tato kapitola vznikla na základě návodu uveřejněného na stránkách mandrivausers.org a wiki.tuxbox.org.
Poznámka: Pro zkopírování DVD budete potřebovat na pevném disku nejméně dva a půlkrát kolik místa než je velikost samotného DVD - to u jednostranného DVD představuje cca 12 GB.
Instalace nezbytných aplikací
Pro ripování DVD budete potřebovat balíčky transcode
, dvdauthor
a program ifo_dump
z balíčku ogle
.
yum -y install transcode
yum -y install dvdauthor wget http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/8/ogle/ogle-0.9.2-8.fc7.i386.rpm rpm -Uhv ogle-0.9.2-8.fc7.i386.rpm rm -f ogle-0.9.2-8.fc7.i386.rpm
Informace o struktuře DVD
Poznámka: Následující příkazy můžete spouštět z účtu běžného uživatele.
Předpokládejme, že DVD je vloženo do zařízení /dev/dvd
. Pomocí příkazu1)
tcprobe -i /dev/dvd -T 1 [tcprobe] DVD image/device (dvd_reader.c) mpeg2 pal 4:3 U0 720x576 film (dvd_reader.c) ac3 ja drc 48kHz 2Ch (dvd_reader.c) ac3 ja drc 48kHz 6Ch (dvd_reader.c) subtitle 00=<cs> (dvd_reader.c) DVD title 1/4: 24 chapter(s), 1 angle(s), title set 1 (dvd_reader.c) title playback time: 03:26:44.21 12405 sec (dvd_reader.c) [Chapter 01] 00:00:00.000 , block from 0 to 52659 (dvd_reader.c) [Chapter 02] 00:02:50.040 , block from 52660 to 190186 (dvd_reader.c) [Chapter 03] 00:10:07.920 , block from 190187 to 435321 (dvd_reader.c) [Chapter 04] 00:22:52.440 , block from 435322 to 621771 (dvd_reader.c) [Chapter 05] 00:32:39.840 , block from 621772 to 764368 (dvd_reader.c) [Chapter 06] 00:40:13.800 , block from 764369 to 939370 (dvd_reader.c) [Chapter 07] 00:49:35.760 , block from 939371 to 1163306 (dvd_reader.c) [Chapter 08] 01:01:21.360 , block from 1163307 to 1318094 (dvd_reader.c) [Chapter 09] 01:09:30.960 , block from 1318095 to 1403687 (dvd_reader.c) [Chapter 10] 01:14:00.480 , block from 1403688 to 1561758 (dvd_reader.c) [Chapter 11] 01:22:26.280 , block from 1561759 to 1758232 (dvd_reader.c) [Chapter 12] 01:32:53.280 , block from 1758233 to 1894212 (dvd_reader.c) [Chapter 13] 01:40:13.320 , block from 1894213 to 1988589 (dvd_reader.c) [Chapter 14] 01:51:44.080 , block from 1988590 to 2113453 (dvd_reader.c) [Chapter 15] 01:58:49.840 , block from 2113454 to 2249776 (dvd_reader.c) [Chapter 16] 02:04:41.320 , block from 2249777 to 2360246 (dvd_reader.c) [Chapter 17] 02:11:58.960 , block from 2360247 to 2499357 (dvd_reader.c) [Chapter 18] 02:22:10.720 , block from 2499358 to 2696321 (dvd_reader.c) [Chapter 19] 02:33:15.640 , block from 2696322 to 2909936 (dvd_reader.c) [Chapter 20] 02:40:56.680 , block from 2909937 to 3060205 (dvd_reader.c) [Chapter 21] 02:48:44.680 , block from 3060206 to 3210229 (dvd_reader.c) [Chapter 22] 03:00:13.840 , block from 3210230 to 3432735 (dvd_reader.c) [Chapter 23] 03:13:27.760 , block from 3432736 to 3683133 (dvd_reader.c) [Chapter 24] 03:22:28.480 , block from 3683134 to 3860426 [tcprobe] summary for /dev/hdc, (*) = not default, 0 = not detected import frame size: -g 720x576 [720x576] aspect ratio: 4:3 (*) frame rate: -f 25.000 [25.000] frc=3 audio track: -a 0 [0] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000] audio track: -a 1 [0] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000] [tcprobe] V: 310125 frames, 12405 sec @ 25.000 fps [tcprobe] A: 193.83 MB @ 128 kbps [tcprobe] CD: 650 MB | V: 456.2 MB @ 308.5 kbps [tcprobe] CD: 700 MB | V: 506.2 MB @ 342.3 kbps [tcprobe] CD: 1300 MB | V: 1106.2 MB @ 748.0 kbps [tcprobe] CD: 1400 MB | V: 1206.2 MB @ 815.6 kbps
získáte informace o struktuře prvního titulu DVD. Z výše uvedeného popisu je možné mimojiné zjistit označení požadovaných zvukových stop a titulků. V našem konkrétním případě se na DVD nachází dvě zvukové stopy v japonštině (2Ch a 6Ch).
... (dvd_reader.c) ac3 ja drc 48kHz 2Ch (dvd_reader.c) ac3 ja drc 48kHz 6Ch ... audio track: -a 0 [0] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000] audio track: -a 1 [0] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000] ...
Titulky jsou k dispozici pouze v českém jazyce.
... (dvd_reader.c) subtitle 00=<cs> ...
Extrahování video a audio stop
Vytvořte pracovní adresář, ve kterém bude zpracovávat DVD.
mkdir /opt/nazev_filmu cd /opt/nazev_filmu
Všechny kapitoly prvního titulu daného DVD lze vyextrahovat do souboru video.vob
pomocí
tccat -i /dev/dvd -T 1 -L -P > video.vob
Příslušný audio stream ze souboru video.vob
získáte příkazem
tcextract -i video.vob -t vob -x ac3 -a cislo_audio_stopy > nazev_filmu.ac3
video stopy pak pomocí
tcextract -i video.vob -t vob -x mpeg2 > nazev_filmu.m2v
Extrahování titulků
Pomocí příkazu ifo_dump
získáte barevnou paletu titulků.
ifo_dump /dev/dvd 1 | grep Color | sed 's/Color ..: 00\\' > palette.yuv
Samotné titulky je možné získat s využitím barevné palety palette.yuv
pomocí příkazu
spuunmux -s cislo_titulku -p palette.yuv video.vob
Koeficient přepočtu
Standardní velikost DVD je 4.7 GB. Aby se výsledný soubor vešel na DVD, je třeba vypočítat tzv. koeficient přepočtu. Ten následně použijete pro „přepočet“ velikosti souboru nazev_filmu.m2v
.
Koeficient vypočtěte podle následujícího vzorce
k = velikost_souboru_nazev_filmu.m2v/((4.7E9 - velikost_souboru_nazev_filmu.ac3 - velikost_titulku)*1.04)
Poznámka: Velikost souboru nazev_filmu.m2v
a nazev_filmu.ac3
zjistíte pomocí příkazu du -h nazev_souboru
, velikost titulků pak pomocí du -h -c *.png
.
Jestliže je koeficient přepočtu větší než 1, je třeba upravit velikost souboru nazev_filmu.m2v
2).
tcrequant -i nazev_filmu.m2v -o k_nazev_filmu.m2v -f hodnota_koeficientu_k rm -f nazev_filmu.m2v mv k_nazev_filmu.m2v nazev_filmu.m2v
Spojení titulků, video a audio stop
Dalším krokem je „smíchat“ dohromady video a audio stream.
mplex -f 8 -o nazev_filmu.mpg nazev_filmu.m2v nazev_filmu.ac3
Jestliže jste si připravili titulky, je třeba tyto titulky přidat.
spumux sub.xml < nazev_filmu.mpg > nazev_filmu.vob
Odstranění nepotřebných souborů
V případě, že jste extrahovali pouze video a audio stopy, bude výsledným souborem nazev_filmu.mpg
. Nepotřebné soubory odstraníte pomocí
rm -f video.vob rm -f nazev_filmu.ac3 rm -f nazev_filmu.m2v rm -f sub.xml rm -f *.png
V případě, že je Vaším výsledným souborem nazev_filmu.vob
, který kromě video a audio streamu obsahuje také titulky, odstraňte také soubor nazev_filmu.mpg
.
rm -f nazev_filmu.mpg
Závěrem
Výsledný soubor nazev_filmu.mpg
popř. nazev_filmu.vob
můžete vypálit na DVD nebo přímo přehrát pomocí aplikace Xine.
Ripování DVD pomocí grafických aplikací
DVD::rip
DVD:rip je grafickou nadstavbou pro rodinu výše zmiňovaných příkazů. Tato aplikace slouží k ripování DVD.
Nejjednodušším způsobem, jak nainstalovat DVD::rip je použít repozitář freshrpms. Repozitář přidáte do systému následujícím způsobem
wget -c http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/8/freshrpms-release/freshrpms-release-1.1-1.fc.noarch.rpm rpm -Uhv freshrpms-release-1.1-1.fc.noarch.rpm rm -f freshrpms-release-1.1-1.fc.noarch.rpm
Pro samotnou instalaci DVD::rip stačí pouze zadat
yum -y install dvdrip
Aplikaci je pak možné spustit přes nabídku Aplikace → Zvuk a video → DVD Ripper and Encoder.
Kompletní návod v anglickém jazyce na ovládání aplikace naleznete např. na stránkách http://www.exit1.org/dvdrip/doc/index.cipp.
Poznámka: Vzhledem k tomu, že repozitář freshrpms není zcela kompatibilní s depozitářem livna, je vhodné po provední instalace aplikace DVD::rip zamezit, aby byl Váš systém z tohoto repozitáře pravidelně aktualizován. Tím předejdete případným konfliktů mezi balíčky z obou repozitářů. Otevřete konfigurační soubor repozitáře freshrpms
gedit /etc/yum.repos.d/freshrpms.repo
a nahraďte řádek
enabled=1
řádkem
enabled=0
Prohledávání repozitáře freshrpms při instalaci je pak možné „ručně“ povolit pomocí příkazu
yum -y install --enablerepo=freshrpms jmeno_balicku
Kopírování a ripování hudebních CD
Nejznámějším formátem pro komprimaci zvuku je MP3, který se stal průmyslovým standardem pro nejrůznější multimediální zařízení. Ve světě Linuxu je nicméně také velice populárním formátem Ogg Vorbis. Tento formát se vyznačuje tím, že se narozdíl od MP3 jedná o otevřený formát3) a jeho soubory jsou při srovnatelné kvalitě o cca 40% menší.
Kopírování a ripování hudebních CD pomocí příkazové řádky
Kopírování hudebních CD
Předpokládejme, že CD/DVD-ROM mechanika je /dev/cdrom
. Nejprve vytvořte adresář, vekterém budete pracovat.
mkdir CopyCD cd CopyCD
Dále stáhněte balíček cdparanoia
.
yum -y install cdparanoia
V dalším kroku stáhněte informace o CD buď přímo ze samotného CD (jedná-li se o tzv. Text-CD) nebo ze serveru freedb.org a extrahujte všechny zvukové stopy do formátu .wav
. Přepínač cddb=0
Vám umožňuje ručně vybrat nejvhodnější názvy alba, skladeb apod. V případě, že chcete, aby výběr nejvhodnějšího jména proběhl automaticky, použijte přepínač cddb=1
. Jestliže se potřebné informace nacházejí přímo na CD (tj. jedná se textové CD), zadejte
cdda2wav dev=/dev/cdrom -vall -cddb=0 -B -Owav
popř. chcete-li informace o CD stáhnout z freedb.org4)
cdda2wav dev=/dev/cdrom -vall -cddb=0 -cddbp-server=freedb.org -B -Owav
Jestliže chcete extrahovat například pouze 1 až 3 zvukovou stopu, modifikoval by se první z výše uvedených příkazů do následujícího tvaru
cdda2wav dev=/dev/cdrom -vall -cddb=0 -B -t 1+3 -Owav
Výsledkem budou soubory v pracovním adresáři pojmenované audio_xx.wav
, kde xx
představuje pořadové číslo zvukové stopy, soubory typu .inf
obsahující informace o jednotlivých zvukových stopách a soubory audio.cddb
a audio.cdindex
.
Samotné hudební CD pak vypálíte pomocí příkazu
cdrecord -eject -v dev=/dev/cdrom speed=16 -dao -useinfo -text *.wav
Ripování hudebních CD
- Přečtěte si kapitolu Instalace multimediálních kodeků.
- Přečtěte si kapitolu Kopírování hudebních CD.
Postupujte podle návodu uvedeného v kapitole Kopírování hudebních CD až do okamžiku před vypálením hudebního CD. Výsledkem by měly být soubory .wav
v pracovním adresáři CopyCD.
Pro převod souborů .wav
na formát MP3 použijeme enkodér lame
. Jestliže chcete převést soubor audio_xx.mp3
na MP3 a chcete, aby se výsledný soubor jmenoval jmeno_skladby.mp3
a měl konstantní datový tok 192 kbps, zadejte do příkazové řádky
lame -b 192 audio_xx.wav jmeno_skladby.mp3
Převod souboru .wav
do formátu Ogg Vorbis je analogický.
oggenc -b 192 audio_xx.wav jmeno_skladby.ogg
Poznámka: Kvalitu komprese je možné ovlivnit pomocí parametru -q
. V případě lame
jsou povolené hodnoty od 0 do 9, v případě oggenc
hodnoty od -1 do 10. Platí, že čím vyšší hodnota, tím vyšší kvalita výsledného souboru a delší doba komprese.
lame -b 192 -q 9 audio_xx.wav jmeno_skladby.mp3 oggenc -b 192 -q 9 audio_xx.wav jmeno_skladby.ogg
Skript pro převod CD do formátu MP3 a Ogg Vorbis
Následující skript slouží k převodu CD na soubory formátu MP3 popř. Ogg Vorbis.
# Skript pro prevod hudebniho CD do formatu MP3 a Ogg Vorbis # Michal Mackanic # 9.5.2007, v 1.0 # # Priklad pouziti: # --------------- # convertCD mp3 freedb m # - vystupnim formatem je MP3 # - informace o CD stahne ze serveru freedb.org # - nazev alba, umelce a skladby urcen automaticky # # convertCD ogg text a # - vystupnim formatem je Ogg Vorbis # - informace jsou stazeny primo z CD (musi se jednat o Text-CD) # - uzivatel voli jmeno alba, umelce a skladby z nabidky # # convertCD mp3 freedb m /dev/scd0 # - vystupnim formatem je MP3 # - informace o CD stahne ze serveru freedb.org # - nazev alba, umelce a skladby urcen automaticky # - pro extrahovani zvukovych stop pouzij mechaniku /dev/hdc (standardne se pouziva hodnota promenne $defaultCDDevice) # Nastaveni pomocnych promennych copyCD="CopyCD" defaultCDDevice="/dev/cdrom" bitrate=192 qualityrate=9 ########################################################################################### # Vymazani obrazovky clear # Kontrola zadanych parametru invalidparameter=0 case $1 in 'mp3' ) codec='lame';; 'ogg' ) codec='oggenc';; *) echo $1" - invalid audio codec. Use values 'mp3' or 'ogg' instead.";invalidparameter=1;; esac case $2 in 'freedb' ) infosource='-cddbp-server=freedb.org';; 'text' ) infosource='';; *) echo $2" - invalid information source. Use values 'freedb' or 'text' instead.";invalidparameter=1;; esac case $3 in 'm' ) editinfo='-cddb=0';; 'a' ) editinfo='-cddb=1';; *) echo $3" - invalid value. Use 'm' for manual editing or 'a' for automatic album, artist and song name recognition.";invalidparameter=1;; esac if test $invalidparameter = "1" then echo "Exiting..." exit fi # Nastaveni CD/DVD-ROM mechaniky if test "$4" = "$empty" then CDdevice=$defaultCDDevice else CDdevice=$4 fi # Vytvoreni a nastaveni pracovniho adresare echo "Creating folder "$copyCD"..." if test -d "$copyCD" then echo "Folder "$copyCD" already exists!" echo "Do you want to delete the content of the folder? (y/n)" read deletefolder if test "$deletefolder" = "y" then cd $copyCD echo "Deleting all files in folder "$copyCD"..." rm -f * cd .. else echo "Exiting..." exit fi else mkdir $copyCD fi echo "Setting "$copyCD" as a working folder..." cd $copyCD # Vyextrahovani hudebnich stop z CD do pracovniho adrease echo cdda2wav dev="$CDdevice" -B -Owav # Konverze do MP3 nebo Ogg Vorbis for x in `ls *.wav` do filename=`echo $x | cut -f1 -d"."` albumperformer=`cat "$filename.inf" | grep "Albumperformer=" | cut -f2 -d"'"` albumperformer=`echo $albumperformer` performer=`cat "$filename.inf" | grep "Performer=" | cut -f2 -d"'"` performer=`echo $performer` albumtitle=`cat "$filename.inf" | grep "Albumtitle=" | cut -f2 -d"'"` albumtitle=`echo $albumtitle` tracktitle=`cat "$filename.inf" | grep "Tracktitle=" | cut -f2 -d"'"` tracktitle=`echo $tracktitle` tracknumber=`cat "$filename.inf" | grep "Tracknumber=" | cut -f2` tracknumber=`echo $tracknumber` albumgender=`cat audio.cddb | grep "DGENRE" | cut -f2 -d"="` albumgender=`echo $albumgender` albumyear=`cat audio.cddb | grep "DYEAR" | cut -f2 -d"="` albumyear=`echo $albumyear` # Uprava tagu if test "$albumperformer" != "$empty" then performer=$albumperformer fi if test "$performer" = "$empty" then echo "No data on CD available. MP3/Ogg Vorbis files will not be tagged!" willbetagged=0 else willbetagged=1 fi if test "$albumgender" = "Unknown" then albumgender="Other" fi if test "$albumgender" = "$empty" then albumgender="Other" fi if test "$albumyear" = "$empty" then albumyear=`date +d%Y` fi # Samotna konverze if test "$codec" = "lame" then if test "$willbetagged" = "1" then lame -b $bitrate -q $qualityrate --ta "$performer" --tl "$albumtitle" --tt "$tracktitle" --tn $tracknumber --tg "$albumgender" --ty $albumyear "$filename".wav "$tracktitle".mp3 else lame -b $bitrate -q $qualityrate "$filename".wav "$filename".mp3 fi else if test "$willbetagged" = "1" then oggenc -b $bitrate -q $qualityrate -a "$performer" -l "$albumtitle" -t "$tracktitle" -N $tracknumber -G "$albumgender" -d $albumyear "$filename".wav "$tracktitle".ogg else oggenc -b $bitrate -q $qualityrate "$filename".wav "$filename".ogg fi fi done # Vymazani pomocnych souboru echo echo "Do you want to delete auxiliary files? (y/n)" read deleteauxiliaryfiles if test "$deleteauxiliaryfiles" = "y" then echo "Deleting all auxiliary files in folder "$copyCD"..." rm -f *.wav rm -f *.inf rm -f audio.* fi exit
Vytvořte soubor convertCD
pomocí
gedit convertCD
do kterého nakopírujete výše uvedený skript. Pro soubor convertCD
nastavte práva spouštění.
chmod u+x convertCD
Jestliže budete chtít převést audio CD, které se nachází v zařízení /dev/cdrom
, do formátu MP3 stačí zadat
./convertCD mp3 freedb a /dev/cdrom
Skript vytvoří v pracovním adresáři adresář CopyCD
, kam extrahuje audio stopy, které následně převede do formátu MP3. Výsledné MP3 soubory jsou pojmenovány stejně jako příslušná skladba a navíc jsou opatřeny tagy, jsou-li k dispozici.
Převod audio CD na Ogg Vorbis lze provést podobně pomocí přikazu
./convertCD ogg freedb a /dev/cdrom
Ripování hudebních CD pomocí grafických aplikací
Juicer
- Přečtěte si kapitolu Obecné poznámky.
- Přečtěte si kapitolu Přidání repozitáře.
- Přečtěte si kapitolu Instalace multimediálních kodeků.
Juicer je grafická aplikace, která se používá pro převod hudebních CD na soubory typu Ogg Vorbis nebo MP3. Aplikaci Juicer lze nainstalovat pomocí
yum -y install sound-juicer
Juicer spustíte přes nabídku Aplikace → Zvuk a video → Extraktor zvukových CD Sound Juicer.
Standardním formátem pro enkódování je Ogg Vorbis. Podporu MP3 je nutné ručně přidat.
Vyberte nabídku Upravit → Nastavení. V okně Nastavení klikněte na Upravit profily…. Dále pokračujte tlačítkem Nový a zadejte název nového profilu Kvalita CD, ztrátová. V okně, které se objeví, vyplňte políčko Popis profilu jako MP3 multimédia. Do políčka Pipeline GStreameru doplňte
lame -h -vbr 128 name=enc
a do políčka Přípona souboru zadejte mp3. Dále zaškrtněte políčko Aktivní a potvrďte tlačítkem Budiž. Restartujte Juicer a opět vyberte nabídku Upravit → Nastavení. V roletkovém menu Formát výstupu: vyberte nově vytvořený profil. Tento profil nyní bude výchozím profilem pro extrahování hudebních CD.
V případě, že bude chtít namísto MP3 používat jako výchozí formát Ogg Vorbis, nastavte menu na položku Kvalita CD, zrátová (Ogg multimédia).
Audio Tag Tool
- Přečtěte si kapitolu Obecné poznámky.
- Přečtěte si kapitolu Přidání repozitáře.
- Přečtěte si kapitolu Instalace multimediálních kodeků.
Audio Tag Tool slouží k přidání tagů k audio souborům formátu mp3 a ogg. Tagy jsou součástí audio souboru a obsahují informace o dané skladbě (např. jméno interpreta, skupiny, rok vydaní nebo hudební žánr) a umožňují přehrávání hudby podle vybraného kritéria. Tagy jsou běžně podporovány všemi novějšími mp3 přehrávači. Z dostupných audio přehrávačů umí s tagy pracovat např. Amarok ; XMMS naopak s tagy pracovat neumí.
Aplikaci nainstalujete pomocí
yum -y install tagtool
Audio Tag Tool spustíte přes nabídku Aplikace → Zvuk a video → Audio Tag Tool.
-T 1
přepínač -T cisto_titulu
, kde cislo_titulu
představuje číslo titulu, který obsahuje film.