navody:f21:ripovani

Hlavní stránka

:!: 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 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.

Jednoduché ripování

Pro co nejjednodužší ripování z příkazové řádky je možné použít mplayer

mplayer dvd://<stopa> -dumpstream -dumpfile <cesta_k_souboru>/filename.avi

V příkazu je potřeba upravit stopu DVD, kterou chceme ripovat a cestu k výslednému souboru. Změnou přípony cílového souboru dosáhnete jeho encodování do jiného formátu.

Instalace nezbytných aplikací

FIXME pro F10 již není ogle.

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.m2v2).

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í

FIXME

DVDRipOMatic

DVDRipOMatic 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 DVDRipOMatic

yum -y install DVDRipOMatic

Aplikaci je pak možné spustit přes nabídku Aplikace → Zvuk a video → DVD Ripper and Encoder.

dvd::rip

dvd::rip je na funkce bohatý program pro ripování a kompresy DVD, využívající rozhraní GTK+.

yum -y install dvdrip

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

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

 Juicer

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

 Tag Tool

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.


Hlavní stránka


1)
Je možné, že samotný film nebude obsažen hned v prvním titulu DVD. V tomto případě použijte namísto -T 1 přepínač -T cisto_titulu, kde cislo_titulu představuje číslo titulu, který obsahuje film.
2)
V případě, že bude koeficient vyšší než 2, utrpí tím značně kvalita videa.
3)
Patenty, které zatěžují formát MP3, jsou důvodem, proč není podpora MP3 součástí standardní distribuce Fedora.
4)
Tímto způsobem lze s normálního CD vyrobit Text-CD.
  • Poslední úprava: 2022/11/14 12:26
  • autor: 127.0.0.1