Сергей Яремчук - 200 лучших программ для Linux
Рис. 3.51. Основное окно аудиоредактора mhWaveEdit
Практически аналогичными возможностями обладает аудиоредактор Sweep, который также доступен в репозитарии Ubuntu.
Редакторы субтитров
Тем, кто занимается обработкой видео, или просто пользователям, которые любят комфортный просмотр фильмов, приходится сталкиваться с субтитрами. Субтитры – это текстовая строка внизу экрана, с помощью которой дублируются диалоги и поясняется происходящее на экране. Субтитры полезны не только людям со слабым слухом, но и, например, при изучении иностранного языка. Пригодятся они и в случае, когда нельзя найти переведенный фильм. Субтитры предпочитают те, кто хочет просмотреть фильм на языке оригинала без испорченной звуковой дорожки. Команда sudo apt-cache search subtitle в Kubuntu выдает небольшой список приложений:
• ksubtile (ksubtile.sourceforge.net) – редактор субтитров для KDE;
• subtitleripper (subtitleripper.sourceforge.net/) – простой риппер DVD-субтитров, в работе которого необходим transcode;
• submux-dvd (www.boutell.com/lsm/lsmbyid.cgi/002188) – мультиплексор субтитров, с помощью которого можно добавить их в файлы .vob.
К сожалению, после ввода команды sudo apt-get install ksubtile subtitleripper submux-dvd из всех указанных программ у автора установился только Ksubtile. Это простой и удобный редактор субтитров, который хорошо интегрируется в среду KDE и позволяет переносить, растягивать и редактировать файлы субтитров SRT и некоторых других форматов, которые понимает MPlayer. Он обеспечивает простой в использовании интерфейс к MPlayer, что позволяет упростить синхронизацию субтитров с фильмом. Единственным его недостатком является отсутствие поддержки кодировок, отличных от английской. Следует напомнить, что DVD:rip, о котором говорилось ранее, также умеет захватывать субтитры с DVD-фильмов; субтитры в формате VobSub можно снять и с помощью mencoder, который входит в состав MPlayer.
По умолчанию включены не все репозитарии Ubuntu, поэтому добавьте в файл /etc/apt/sources.list новый репозитарий:
deb http://archive.ubuntu.com/ubuntu/ dapper universe multiverse
Обновите список пакетов и получите еще несколько программ.
Пакет SubtitleRipper
Этот пакет включает пять консольных утилит – srttool, subtitle2pgm, pgm2txt, vobsub2pgm, subtitle2vobsub, выполняющих каждая свою задачу. Используя их, можно конвертировать DVD-субтитры в subrip-текстовый или VobSub форматы. Поток превращается в файл формата PGM или PPM, а затем распознается и становится обычным текстом при помощи утилиты gocr (http://jocr.sourceforge.net/), который будет установлен в качестве зависимостей (для ksubtitleripper обязательной). Для полноценной работы первой понадобится и transcode (http://www.transcoding.org/), которую нужно установить, набрав sudo apt-get install transcode.
Для извлечения субтитров в ASCII из vob-файлов, принадлежащих первому фильму, находящемуся в текущем каталоге, выполните следующие команды:
$ сat vts_01_?.vob | tcextract -x ps1 -t vob -a 0x20 | subtitle2pgm -o movie_1
$ pgm2txt movie_1
$ srttool -s -i movie_1.srtx -o my_movie_1.srt
Это долгий процесс, и на маломощном компьютере на эту операцию уйдет немало времени. В итоге получится файл my_movie_1.srt, содержащий субтитры. Параметров у команд немного, остановимся только на –a 0x20. Фильмы могут содержать несколько субтитров, значение 0x20 соответствует первому, 0x21 – второму и так далее. Субтитры в формате VobSub получаются на порядок быстрее, но они несколько больше по размеру. Сначала извлеките поток субтитров командой
$ cat vts_01_?.vob | tcextract -x ps1 -t vob -a 0x20 > my_sub.ps1
Затем перекодируйте в формат VobSub:
$ subtitle2vobsub -i vts_01_0.ifo -p mysub.ps1 -o movie_name
В документации описаны все возможные варианты и комбинации использования этих утилит.
Есть также фронтэнд к subtitleripper для библиотек KDE – ksubtitleripper (http://ksubtitleripper.berlios.de/), который позволяет получить файл субтитров в формате SRT из исходных файлов VOB и SUB. Запускаете, набрав в терминале ksubtitleripper, затем в поле Vob or Sub Files (Файлы формата Vob или Sub) указываете источник, в поле Directory (Директория) – каталог для сохранения файлов и нажимаете кнопку OK (рис. 3.52). Вот и все. В случае если gocr не может распознать некоторые буквы, пользователю задается вопрос, параллельно производится проверка правописания. Поддерживаются три кодировки – UTF8, DOS и стандартная английская.
Рис. 3.52. Запуск KSubtitleRipper
Редактирование субтитров в subtitle editor
Эта программа с удобным интерфейсом GTK+ позволяет создавать и редактировать готовые субтитры, в том числе и на русском языке (http://kitone.free.fr/subtitleeditor/). Используя subtitle editor, можно легко добавлять, редактировать или удалять субтитры с удобной системой поиска и замены, конвертировать частоту кадров, контролировать время и отслеживать ошибки. Поддерживает несколько форматов субтитров (SSA, ASS, SubRip (srt) и MicroDvd (sub)). Распространяется под лицензией GNU GPL.
В репозитарии Ubuntu этой программы нет, но это не значит, что придется разбираться с компиляцией. Добавляете в /etc/apt/sources.list новый репозитарий:
deb http://repository.debuntu.org/ dapper multiverse
deb-src http://repository.debuntu.org/ dapper multiverse
После этого обновляете базу и устанавливаете:
$ sudo apt-get install subtitleeditor
Запускаете программу, набрав в окне терминала subtitleeditor или выбрав соответствующий пункт меню после выполнения команды K → Мультимедиа.
Редактирование субтитров – это частный случай создания новых субтитров, поэтому кратко рассмотрим этот процесс. Перед началом работы выполните команду Options → Preferences (Параметры → Установки) и затем на вкладке Encoding (Кодировка), нажав кнопку Add (Добавить), добавьте кодировку (большинство использует CP1251, но можно и остальные, начинающиеся на Cyrillic (Кириллица)). Затем, воспользовавшись стрелками, переместите основную кодировку в начало списка. При создании субтитров это роли не играет, но при сохранении можно будет указать любую из выбранных кодировок. Для создания нового файла субтитров выполните команду File → New (Файл → Новый). Вставить новую запись можно, выполнив команду Edit → Insert After (Редактировать → Вставить после), – появится новая строка (рис. 3.53).
Рис. 3.53. Окно subtitle editor
Название и количество колонок могут быть разными, для добавления/удаления новых выберите нужные, выполнив команду View → Columns (Вид → Колонки), хотя все колонки тоже не нужны. Возможен предварительный просмотр видео. Записи нумеруются по порядку, при необходимости можно добавить запись в любое место, сдвинув их вниз. Двойным щелчком кнопки мыши на колонках start (начало) и end (конец) добавляете соответственно время начала и окончания показа текущего субтитра, в duration (продолжительность) будет подсчитано время показа. В поле text (текст) вводите текст, который будет отображаться на экране, не забыв нажать Enter по окончании ввода. В списке Style (Стиль), воспользовавшись раскрывающимся списком, выбираете стиль выводимого текста. По умолчанию присутствует только один стиль – Default (По умолчанию). Для добавления своего стиля выполните команду Tools → Style Editor (Инструменты → Редактор стиля). Пользоваться Style Editor (Редактор стиля) просто. Прописываете в поле Name (Имя) название стиля, затем в поле Fonts (Шрифты) выбираете шрифт и эффекты (жирный, подчеркивание и другие), в Appearence Color (Цвет появления) – цвет, в Border (Граница) – толщину рамки, в Transformations (Трансформации) можно настроить некоторые эффекты, а в Aligment (Выравнивание) – выравнивание текста. Затем нажимаете Insert и создаете новую строку, повторяя все операции сначала.
При вводе времени легко ошибиться, и время начала показа одного субтитра может перекрываться предыдущим; для проверки правильности выполните команду Tools → Check Time (Инструменты → Проверка времени).
После создания нового субтитра его, скорее всего, понадобится синхронизировать с фильмом. Рассинхронизация возможна при различной частоте кадра (framerate) в фильме и созданном файле субтитров или в простом запаздывании или опережении субтитров. Можно использовать возможности видеопроигрывателя. В MPLayer нажатие Y сдвигает субтитры на одну фразу вперед, подгоняя ее к настоящему моменту, G – листает на одну фразу назад, а клавиши Z и X подгоняют субтитры, ориентируясь не по порядку фраз, а по времени. Эту проблему легко решить в subtitle editor. Для изменения выполните команду Tools → Change FPS (Инструменты → Изменить FPS) и установите новое значение в поле New (Новый). Узнать значение частоты кадра видеофильма просто, так как практически каждый видеопроигрыватель позволяет просмотреть информацию об открытом файле. Например, при запуске mplayer выдается такая информация:
$ mplayer movie.avi
VIDEO: [DIVX] 352x216 24bpp 25.000 fps 94.1 kbps (97.5 kbyte/s)
Аналогичную информацию во всплывающем окне отображает Konqueror при наведении на видеофайл указателя мыши. В случае если субтитры запаздывают или спешат, отмечаете время, когда нужно показать субтитр, с которого произошел сдвиг. Затем щелкаете на нужном субтитре и выполняете команду Edit → Move (Редактировать → Сдвинуть). В появившемся окне вводите время сдвига, после нажатия ОК время показа субтитров, идущих следом за редактируемым, будет автоматически пересчитано. Для первичной синхронизации субтитров можно воспользоваться также командой Tools → Scale (Инструменты → Масштаб).