DVD-Audio

1)

najpierw sciagamy i kompilujemy podstawowy program do authoringu:

[yaro][~]$ cd /tmp

[yaro][/tmp]$ wget http://dvd-audio.sourceforge.net/alpha/dvda-author-20050703.zip

--18:43:54-- http://dvd-audio.sourceforge.net/alpha/dvda-author-20050703.zip

=> `dvda-author-20050703.zip'

Translacja dvd-audio.sourceforge.net... 66.35.250.209

100%[============================================>] 317,756 24.80K/s ETA 00:00

18:44:04 (35.88 KB/s) - `dvda-author-20050703.zip' saved [317756/317756]

[yaro][/tmp]$ unzip dvda-author-20050703.zip

Archive: dvda-author-20050703.zip

creating: dvda-author-20050703/

inflating: dvda-author-20050703/sort.txt

inflating: dvda-author-20050703/CHANGES

inflating: dvda-author-20050703/COPYING

[...]

inflating: dvda-author-20050703/src/samg.c

inflating: dvda-author-20050703/src/samg.h

extracting: dvda-author-20050703/src/version.h

inflating: dvda-author-20050703/dvda-author.exe

[yaro][/tmp]$ cd dvda-author-20050703/src

[yaro][/tmp/dvda-author-20050703/src]$ make

gcc -Wall -c -o dvda-author.o dvda-author.c

gcc -Wall -c -o audio.o audio.c

gcc -Wall -c -o ats.o ats.c

gcc -Wall -c -o atsi.o atsi.c

[...]

gcc -Wall -lm -o dvda-author dvda-author.o audio.o ats.o atsi.o amg.o samg.o libFLAC/bitbuffer.o libFLAC/bitmath.o libFLAC/cpu.o libFLAC/crc.o libFLAC/file_decoder.o libFLAC/file_encoder.o libFLAC/fixed.o libFLAC/float.o libFLAC/format.o libFLAC/lpc.o libFLAC/md5.o libFLAC/memory.o libFLAC/metadata_iterators.o libFLAC/metadata_object.o libFLAC/seekable_stream_decoder.o libFLAC/seekable_stream_encoder.o libFLAC/stream_decoder.o libFLAC/stream_encoder.o libFLAC/stream_encoder_framing.o

[yaro][/tmp/dvda-author-20050703/src]$ ls dvda-author

-rwxr-xr-x 1 yaro yaro 226966 2006-08-14 18:45 dvda-author

[yaro][/tmp/dvda-author-20050703/src]$ sudo cp ./dvda-author /usr/bin

2)

teraz aby nagrac plyte musimy stworzyc sobie obraz iso. niestety standardowy mkisofs niewlasciwie sortuje pliki i w tym miejscu mamy 2 rozwiazania. albo przekompilowac mkisofs nakladajac na nie ten patch:

patch

albo uzyc zalaczonej wersji mkisofs ktora ma juz ten patch przezemnie nalozony. (szukaj ponizej).

Jest jeszcze trzecia metoda podania sortowania poprzez dodatkowy plik ale uznalem ta metoda za tak nie wygodna i czasochlonna, ze nie opisuje jej tutaj.

3a) KOMPILACJA

[yaro][/tmp]$ wget ftp://ftp.berlios.de/pub/cdrecord/cdrtools.tar.gz

--19:52:19-- ftp://ftp.berlios.de/pub/cdrecord/cdrtools.tar.gz

=> `cdrtools.tar.gz'

Translacja ftp.berlios.de... 195.37.77.141

==> SYST ... zrobiono. ==> PWD ... zrobiono.

==> TYPE I ... zrobiono. ==> CWD /pub/cdrecord ... zrobiono.

==> PASV ... zrobiono. ==> RETR cdrtools.tar.gz ... zrobiono.

100%[==========================================>] 1,736,017 39.80K/s ETA 00:00

19:52:55 (51.82 KB/s) - `cdrtools.tar.gz.1' saved [1736017]

[yaro][/tmp]$

[yaro][/tmp]$ wget http://dvd-audio.sourceforge.net/mkisofs-dvdaudio.diff

--19:54:01-- http://dvd-audio.sourceforge.net/mkisofs-dvdaudio.diff

=> `mkisofs-dvdaudio.diff.1'

Translacja dvd-audio.sourceforge.net... 66.35.250.209

100%[===========================================>] 5,972 26.11K/s

19:54:03 (26.02 KB/s) - `mkisofs-dvdaudio.diff' saved [5972/5972]

[yaro][/tmp]$

[yaro][/tmp]$ tar -xzvf cdrtools.tar.gz

cdrtools-2.01/

cdrtools-2.01/RULES/

cdrtools-2.01/RULES/9000-725-hp-ux-cc.rul

cdrtools-2.01/RULES/9000-725-hp-ux-gcc.rul

cdrtools-2.01/RULES/MKLINKS

cdrtools-2.01/RULES/README

cdrtools-2.01/RULES/alpha-linux-cc.rul

cdrtools-2.01/RULES/alpha-linux-gcc.rul

cdrtools-2.01/RULES/aviion-dgux3-cc.rul

[...]

cdrtools-2.01/build_all.com

cdrtools-2.01/scgskeleton/

cdrtools-2.01/scgskeleton/skel.c

cdrtools-2.01/scgskeleton/Makefile

cdrtools-2.01/scgskeleton/scsi_scan.h

cdrtools-2.01/scgskeleton/scsi_scan.c

cdrtools-2.01/scgskeleton/cdrecord.h

cdrtools-2.01/scgskeleton/defaults.h

cdrtools-2.01/scgskeleton/io.c

cdrtools-2.01/scgskeleton/cd_misc.c

cdrtools-2.01/scgskeleton/scsi_cdr.c

cdrtools-2.01/scgskeleton/scsimmc.h

cdrtools-2.01/scgskeleton/modes.c

cdrtools-2.01/scgskeleton/misc.c

cdrtools-2.01/scgskeleton/getnum.c

cdrtools-2.01/scgskeleton/defaults.c

cdrtools-2.01/README.mingw32

cdrtools-2.01/AN-2.01

[yaro][/tmp]$ mv cdrtools-2.01 cdrtools-2.01.01

[yaro][/tmp]$ patch -p0 < mkisofs-dvdaudio.diff

patching file cdrtools-2.01.01/mkisofs/mkisofs.c

Hunk #4 succeeded at 1814 (offset -4 lines).

Hunk #5 succeeded at 2300 (offset -5 lines).

patching file cdrtools-2.01.01/mkisofs/mkisofs.h

patching file cdrtools-2.01.01/mkisofs/tree.c

patching file cdrtools-2.01.01/mkisofs/udf.c

patching file cdrtools-2.01.01/mkisofs/write.c

[yaro][/tmp]$ cd cdrtools-2.01.01/

[yaro][/tmp/cdrtools-2.01.01/]$ make

[...]

==> LINKING "OBJ/i686-linux-cc/isoinfo"

make[2]: Opuszczenie katalogu `/tmp/cdrtools-2.01.01/mkisofs/diag'

==> MAKING "all" ON SUBCOMPONENT "SRCROOT/mkisofs/diag/isovfy.mk"

../../RULES/r-gmake.dep:76: OBJ/i686-linux-cc/isovfy.d: Nie ma takiego pliku ani katalogu

==> MAKING DEPENDENCIES "OBJ/i686-linux-cc/isovfy.d"

make[2]: Opuszczenie katalogu `/tmp/cdrtools-2.01.01/mkisofs/diag'

==> COMPILING "OBJ/i686-linux-cc/isovfy.o"

==> LINKING "OBJ/i686-linux-cc/isovfy"

[...]

==> LOCALIZING "OBJ/i686-linux-cc/man/makerules.5"

make[3]: Opuszczenie katalogu `/tmp/cdrtools-2.01.01/man/man4'

make[2]: Opuszczenie katalogu `/tmp/cdrtools-2.01.01/man/man4'

make[1]: Opuszczenie katalogu `/tmp/cdrtools-2.01.01/man'

[yaro][/tmp/cdrtools-2.01.01]$

[yaro][/tmp/cdrtools-2.01.01]$ cp /tmp/cdrtools-2.01.01/mkisofs/OBJ/i686-linux-cc/mkisofs ~/bin/mkisofs-dvd-audio

[yaro][/tmp/cdrtools-2.01.01]$

3b) GOTOWA WERSJA

sciagniety zalacznik rozpkowujemy i umieszczamy we wlasnym katalogu bin

[yaro][/tmp]$ unzip mkisofs-dvd-audio.zip

Archive: mkisofs-dvd-audio.zip

inflating: mkisofs-dvd-audio

[yaro][/tmp]$ chmod +x mkisofs-dvd-audio

[yaro][/tmp]$ cp mkisofs-dvd-audio ~/bin

4) Tworzenie struktury DVD

przechodzimy do katalogu z plikami wav i wykonujemy:

[yaro][/tmp]$ cd /tmp/dvd-audio-test/

[yaro][/tmp/dvd-audio-test]$ ls

razem 436704

-rw-r--r-- 1 yaro yaro 49497064 2006-08-14 18:55 0.wav

-rw-r--r-- 1 yaro yaro 54464488 2006-08-14 18:55 1.wav

-rw-r--r-- 1 yaro yaro 43082728 2006-08-14 18:55 2.wav

-rw-r--r-- 1 yaro yaro 52847080 2006-08-14 18:54 3.wav

-rw-r--r-- 1 yaro yaro 38649832 2006-08-14 18:55 4.wav

-rw-r--r-- 1 yaro yaro 42456040 2006-08-14 18:55 5.wav

-rw-r--r-- 1 yaro yaro 63417832 2006-08-14 18:55 6.wav

-rw-r--r-- 1 yaro yaro 53773288 2006-08-14 18:55 7.wav

-rw-r--r-- 1 yaro yaro 48543208 2006-08-14 18:55 8.wav

[yaro][/tmp/dvd-audio-test]$ dvda-author -o DVD -g *.wav

Uzyskamy w ten sposob katalog DVD zawierajacy poprawny katalog AUDIO_TS oraz pusty katalog VIDEO_TS.

5) tworzymy obraz ISO

[yaro][/tmp/dvd-audio-test]$ mkisofs-dvd-audio -o image.iso -dvd-audio DVD

2.24% done, estimate finish Mon Aug 14 19:13:35 2006

4.47% done, estimate finish Mon Aug 14 19:13:35 2006

6.70% done, estimate finish Mon Aug 14 19:13:35 2006

8.94% done, estimate finish Mon Aug 14 19:13:46 2006

[...]

93.81% done, estimate finish Mon Aug 14 19:13:50 2006

96.04% done, estimate finish Mon Aug 14 19:13:50 2006

98.28% done, estimate finish Mon Aug 14 19:13:50 2006

Total translation table size: 0

Total rockridge attributes bytes: 0

Total directory bytes: 4096

Path table size(bytes): 42

Max brk space used 42000

223871 extents written (437 MB)

[yaro][/tmp/dvd-audio-test]$ ls *iso

-rw-r--r-- 1 yaro yaro 458487808 2006-08-14 19:13 image.iso

[yaro][/tmp/dvd-audio-test]$

I tak oto mamy gotowy do wypalenia obraz plyty dvd-audio. Oczywiscie aby mialo to jakikolwiek sens nalezy uzyc znacznie wiecej sciezek audio, tak aby zajac cala plyte...