Запис CD та DVD
Головне меню
Останні статті
Запис CD та DVD.
Не відкрию Америку, заявивши, що більшість Linux-програм для запису CD та DVD є просто графічними оболонками для низки консольних утиліт. Виняток становить, мабуть, лише версія Nero для Linux.
Довгий час утиліти запису на CD/DVD випускалися в пакеті cdrtools, розроблюваному Йоргом Шиллінгом (Joerg Schilling). У 2006 році Шиллінг вирішив змінити ліцензію з GPL на CDDL (Common Development and Distribution License), несумісну з GPL. Точніше, спочатку було змінено ліцензію кількох make-файлів. І цим відразу подбали люди з Debian, які не могли створювати пакети, де GPL-код залежить від не-GPL-коду. І люди з Debian після довгих дебатів із Шиллінгом (наскільки я знаю, під час яких код cdrtools став уже на 80 відсотків під CDDL), зробили відгалуження від оригінального проекту та назвали його cdrkit. Утиліти, що входять до його складу, отримали інші назви, однак параметри командних рядків збереглися колишніми. Так, програма cdrecord стала іменуватися wodim (скорочення від "write optical disk media"), cdda2wav перетворилася на icedax ("incredible digital audio extractor"), а mkisofs перейменували на genisoimage ("generate ISO image").
Створення образу
Щоб записати інформацію на болванку, потрібно спочатку створити образ диска, що записується. Є кілька способів зробити це. Перший застосовується, коли ви хочете скопіювати існуючий диск. Помістіть диск у привод, змонтуйте диск, перейдіть у каталог, де маєте намір створити образ, і дайте там приблизно таку команду:
$dd if=/dev/cdrom of=mycd.iso
Dd, що використовується тут, - це назва стандартної програми, яка знайдеться в будь-якому дистрибутиві.Linux. Вона копіює вміст одного файлу в інший, а оскільки в UNIX будь-який пристрій є файл, то dd можна використовувати для створення образів будь-яких дисків: від доісторичних дискет до DVD (і більше того, dd здатна записати образ на той же флоппі).
В результаті на виході виходить точна копія диска. Але таким чином не вийде скопіювати ні аудіодиск, ні якийсь захищений диск з грою (останній перепишеться, але розпізнаватись як «правильний», ліцензійний, не буде). Крім того, dd не показує дані про процес виконуваного копіювання - для цього можна лише спостерігати за світлодіодом приводу і слухати гудіння диска, що обертається (Прим. ред.: Або перевіряти зміни в розмірі записуваного файлу-образу.).
Є й інший спосіб створення образу диска. Він особливо актуальний для випадків, коли потрібно записати на диск каталог із файлами або безліч таких каталогів. Допоможе чудова програма genisoimage. Вона вміє робити образ диска з директорії так:
$genisoimage -f -v -J -o mycd.iso /mnt/somedisk/temp
Отже, щоб зробити «віртуальний проект» диска, треба створити якийсь тимчасовий каталог і помістити символічні посилання на директорії або файли, які ви бажаєте бачити у своєму проекті. У чистій консолі це робити дуже нудно, тому скористаємося створення цих посилань консольним файловим менеджером Midnight Commander. Запустимо mc, на одній панелі перейдемо в каталог, де "проектуємо" диск, а на іншій панелі - туди, де знаходиться файл або каталог, символічне посилання, на який ви хочете додати в проект. Поміщаємо курсор цей файл чи каталог, натискаємо Ctrl-X, відпускаємо. Тепер натискаємо клавішу S. З'являється діалогове вікно з вже заповненими полями (на що робити посилання та куди його поміщати).Підтверджуємо натисканням Enter. Все готово. Таким чином наповнюємо проект файлами та каталогами. Анітрохи не повільніше, ніж у k3b.
Інше розширення до ISO-9660 – це Rock Ridge. За замовчуванням воно включене в k3b і дає можливість використовувати більш довгі, ніж у Joliet, імена файлів, а також більшу глибину вкладеності каталогів та атрибути файлів UNIX (зверніть на це особливу увагу). Rock Ridge включається параметром -r, а назва цього розширення взята з фільму Мела Брукса «Блискучі сідла» (там було містечко Рок Рідж). Особливої потреби у включенні Rock Ridge я не бачу. До речі, записані мною в k3b (з увімкненим Rock Ridge) диски з DVD Video читаються лише з правами користувача root.
Запис образу
Коли образ підготовлено, треба його записати на болванку. Тут допоможе програма Wodim. У найпростішому випадку її запуск має такий вигляд:
# wodim dev=/dev/hdc -eject -v mycd.iso
Очевидно, що замість /dev/hdc ви можете підставити інший пристрій, а mycd.iso це назва файлу з образом. Параметр -eject висуває каретку приводу після закінчення запису. У wodim є низка інших цікавих параметрів:
* -dummy - симуляція пропалення з вимкненим лазером. Корисно, щоб визначити скільки часу може зайняти запис. * -multi - багатосесійний диск. * -fix – фіксація диска (без запису). * speed=значення – задає швидкість запису. * blank=режим – очищення вмісту CD-RW. Доступні режими: all (повне очищення, довго), fast (швидко), session (очистити останню сесію). * -format — форматувати болванку CD/DVD-RW. * -overburn — увімкнути можливість запису більше, ніж стандартний об'єм диска. В цьому випадку, як правило, необхідно також використовувати режим записування SAO (-sao).
На цьому можна було б ізакінчити статтю, але я не торкнувся ще однієї важливої теми – запису звичайних звукових CD.
Запис музичних дисків
Перед записом аудіодиска необхідно підготувати звукові записи. Це звичайні WAV-файли з певними параметрами: два канали (стерео), знаковий integer – 16 біт, частота оцифрування – 44100 герц, PCM (Pulse-code modulation). Грубо кажучи, це найстандартніший WAV-файл, який можна собі уявити. Оскільки найчастіше такі файли і з'являються в результаті їх копіювання з аудіодисків, спочатку розгляну цей, «зворотний» запис, операцію. Якщо ви хочете скопіювати audioCD, отримавши музичні файли з оригінальною якістю, вам допоможе утиліта cdparanoia. Взагалі вона знаменита своїм умінням зчитувати музику навіть із вкрай подряпаних дисків. Це вміння займає дуже багато часу, тому його можна відключати ключем Z. Тоді запуск програми виглядає приблизно так:
$ cdparanoia -BZ
Другий параметр — B — вказує, що кожну доріжку треба зберігати в окремий файл. Всі ці файли зберігаються у поточному каталозі. Якщо ви бажаєте скопіювати лише деякі доріжки, їх діапазон можна задати так:
$ cdparanoia 2-6 -BZ
(У прикладі копіюються звукові доріжки з другої по шосту включно.)
Тепер знову до запису аудіодисків. Звуковий CD можна записати у двох режимах: TAO (track at once) та DAO (disk at once). TAO додає між доріжками паузи завдовжки 2 секунди, а крім того, після запису кожної доріжки вимикає лазер. DAO - новий і гнучкий режим. У ньому між доріжками можна записувати будь-що (не тільки паузи, а й, наприклад, звукові нотатки), завдяки чому стає можливим навіть запис доріжки, яка буде доступна до відтворення, проте непронумерована — слухач знайде її лише перемотуванням (Прим. ред.: Це і є так звані «hidden tracks», що часто розміщуються музичними виконавцями в кінець альбому.). У такі диски можна впроваджувати текст (CD-Text). Крім того, DAO-режим – єдиний спосіб записати диск без пауз між піснями. Ще один режим, SAO (session at once), нагадує DAO, але підтримує багатосесійність. Для вибору режиму запису в wodim існують перемикачі:
Щоб записати WAV-файли на болванку, потрібно виконати приблизно таку команду (з каталогу, де вони знаходяться):
# wodim dev=/dev/hdc -tao -eject speed=4 -pad -audio *.wav
Розглянемо параметри. Нових для нас всього два:
* -Pad. Розмір доріжки (а значить і вихідного звукового файлу) повинен бути кратний 2352 байтам. Інакше wodim відмовиться його записувати. Цей параметр (-pad) змушує wodim автоматично доповнювати нулями розмір/довжину доріжки до кратності 2352. * -audio — вказує на те, що диск записується у форматі CD-DA (Red Book).
Висновок (про growisofs)
Багато завдань, описаних у цій статті, вирішуються іншими способами. Наприклад, для копіювання музичного диска у WAV-файли є утиліта icedax, а копіювати диск з даними можна командою readom. Цілком за бортом залишився консольна утиліта growisofs, що служить для запису даних на DVD, тому кінцівку я вирішив присвятити саме їй. growisofs - це подібність надбудови над wodim і genisoimage. Програма розуміє параметри від genisoimage. Ось як з її допомогою можна записати диск:
# growisofs -Z /dev/dvd -J -f -udf /foo/bar
Відформатувати DVD-RW диск можна командою:
dvd+rw-format -f /dev/dvd
"Рідний" параметр тут один - -Z, який вказує, що записується першасесія. Для наступного треба вказувати ключ -M. Інших власних параметрів у growisofs небагато. З основних назва лише -overburn, -speed=швидкість і -dvd-compat (закриває диск DVD+R і DVD-R: його не можна буде доповнити, зате він добре читається на «залізних» плеєрах).
Фіналізація багатосесійного диска з growisofs:
# growisofs -M /dev/dvd=/dev/zero
Запис раніше підготовленого образу диска:
# growisofs -dvd-compat -Z /dev/dvd=mycd.iso
Під час роботи growisofs образ диска створюється на льоту і через канал (pipe) відправляється на програму запису.
На завершення дам рада, значення якої важко недооцінити: Працюючи з genisoimage і growisofs, не забувайте про параметр -f!