Прежде чем приступить к практике, давайте зададим себе несколько очень интересных вопросов: зачем консоль, зачем использовать видеокодек Ogg Theora, как и с какими параметрами лучше конвертировать видео.
Начнем с аппаратного обеспечения:
Видеокодек — это программа/алгоритм сжатия (то есть уменьшения размера) видеоданных (видеофайла, видеопотока).Сегодня наиболее популярными видеокодеками являются всем знакомые DivX, XviD, H.264, WMV, Apple QuickTime и многие другие.Кодек — это формула файла, определяющая, как можно «упаковать» видеоконтент и, соответственно, воспроизвести видео.
Также есть возможность кодирования помимо видео и аудио информации, добавления субтитров, векторных эффектов и т. д.
Ogg Theora всегда находилась в тени своих коллег и, видимо, на то были какие-то причины.
Может быть потому, что это относительно новый кодек (он появился только в 2004 году), может быть потому, что он изначально был ориентирован на использование в Интернете, а не на кодирование видеофильмов.
Это уже не имеет значения.
- Theora — открытый и бесплатный видеокодек для коммерческого и некоммерческого использования.
- Theora использует высококачественные алгоритмы сжатия, что делает этот кодек хорошим выбором для кодирования любого типа видео.
- Theora идеально подходит для потоковой передачи видео в Интернете; результирующий размер/качество оставляет далеко позади всех конкурентов.
- Theora является кроссплатформенной.
Это означает, что вы можете использовать формат в любой современной операционной системе, как Linux, так и Windows.
- Каждый современный дистрибутив Linux поддерживает Theora по умолчанию.
Для просмотра видео в этом формате не обязательно использовать сторонние фирменные кодеки.
Кто виноват и что делать? Все эти кодеки закрытые, запатентованные и платные.
Что-то мне подсказывает, что их владельцы получают хорошие гонорары с каждого проданного домашнего игрока.
Есть много причин, почему Theora — лучший выбор.
А начать улучшать мир можно с малого — конвертируйте свою видеотеку в бесплатный формат OGV — Ogg Vorbis Video. Используя Linux, у нас есть доступ к очень мощному инструменту — консоли bash. С его помощью можно творить чудеса и выполнять самые сложные операции за считанные минуты.
То же самое относится и к конвертации видео.
Для начала нам понадобится всего одна консольная утилита — ffmpeg2теора .
Не буду описывать как его установить.
Если вы используете Linux, то вы уже знаете, как устанавливать любые программы с помощью обычного менеджера пакетов.
Итак, давайте перейдем непосредственно к делу.
Пример 1. Конвертация «авишки».
Например, давайте конвертируем одну серию моего любимого сериала «Теория большого взрыва».
Итак, откройте консоль.
Перейдите в папку с файлом: $ cd ~/Downloads/
Подбираем оптимальные варианты для нединамичного видео и нормального звука: $ ffmpeg2theora -v 8 --optimize -a 4 -o test.ogv The.Big.Bang.Theory.S03E17.rus.HDTVrip.\[Kuraj-Bambey.Ru\].
avi
Давайте разберемся, что здесь написано.
ffmpeg2theora — это, конечно же, сама программа.
Далее приведены его ключевые параметры: -v указывает желаемое качество видео по шкале от одного до десяти.
Уровень 8 вполне достаточен для перекодирования уже сжатого видео.
Если фильм насыщен динамичными сценами, то лучше указать максимум, то есть 10. --оптимизировать , как нетрудно догадаться, оптимизирует качество картинки, хотя и в ущерб скорости конвертации.
Но нам некуда спешить, качество важнее.
-а указывает на желаемое качество звука, также по десятибалльной шкале.
Число 4 на самом деле означает 128 кбит, чего вполне достаточно для серии.
Вы также можете указать ключ -A с помощью параметра 128. Результат тот же.
После -о в выводе указываем имя файла, например test.ogv( ОГВ — стандартное расширение для видео в формате ogg).
И в самом конце указываем файл, который собственно хотим конвертировать.
Нажмите Enter и наблюдайте за результатом.
Либо не следим, так как процесс занимает довольно много времени, зависит от мощности компьютера.
Пример 2. Конвертация DVD.
Здесь все немного сложнее, но ненамного.Сжатие уже сжатого видео иногда все же чревато заметными потерями в качестве картинки.
Но DVDRip в формате Theora по качеству лучше привычного DivX. Например, давайте скопируем фильм «Матрица».
Перейдите в папку с файлом: $ cd ~/Downloads/Matrix/VIDEO_TS/
Подбираем оптимальные варианты исходя из исходного файла размером 1,4 гигабайта: $ cat VTS_01_1.VOB VTS_01_2.VOB VTS_01_3.VOB VTS_01_4.VOB VTS_01_5.VOB | ffmpeg2theora --videobitrate 1434 --optimize --first-pass tech.ogv --audiobitrate 256 - && cat VTS_01_1.VOB VTS_01_2.VOB VTS_01_3.VOB VTS_01_4.VOB VTS_01_5.VOB | ffmpeg2theora --videobitrate 1434 --optimize --second-pass tech.ogv --audiobitrate 256 -o matrix.ogv -
Давайте раскроем магию этого заклинания.
Здесь мы сталкиваемся с мощной консольной штукой под названием «перенаправление потока».
Это выходит за рамки данной статьи, но вы можете видеть, что перед командой ffmpeg2theora мы формируем список файлов для конвертации.
DVD всегда разбит на части вида VTS_порядковый номер_порядковый номер, поэтому нам нужно соединить их вместе.
кот добавляет файлы.
| — это символ перенаправления, в нашем случае он дает очередь файлов на обработку программой ffmpeg2theora. --видеобитрейт указывает желаемое качество видео, как и клавиша -v , но не по шкале от одного до десяти, а именно в килобитах.
Синоним слова ключ -В .
--первый-проход-проход означает первый, технический прогон видеоролика и сохранение аналитической информации в файл tech.ogv для дальнейшей основы второго, заключительного прогона видеоролика.
--аудио битрейт указывает качество звука в килобитах.
Синоним слова ключ -А .
&& - это как команда сложения.
Сразу после первой программы выполняйте вторую.
Просто для автоматизации производства :) --второй проход - второй заход. В это время применяются алгоритмы и непосредственно кодируется видеопоследовательность.
Для этого используется технический файл tech.ogv, подготовленный в ходе первого «аналитического» прохода.
В конце команды поставьте - , это указывает конвертеру на входящий поток файлов для обработки.
Нажмите Enter и подождите, подождите, подождите.
Вам придется долго ждать.
Пока ждем, выясним, откуда взялись числа 1434 и 256. С 256 все просто.
Это 256 кбит на звук, что прилично даже для мюзикла :) Битрейт видео рассчитывается по формуле: БВ=(Sx8x1024)/L-BA , Где БВ – битрейт видео; S — желаемый размер файла в мегабайтах; L – продолжительность фильма в секундах; БА – битрейт аудио.
Важно уточнить, что это чистый битрейт, без так называемой избыточной технической информации, которая составляет около одного процента битрейта видео.
То есть реальный битрейт, который нужно указать кодировщику, составляет 99% от BV. Вот и получаем те самые 1434 килобита.
Мне хотелось, чтобы исходный файл занимал ровно 1,4 гигабайта.
Результат несложных вычислений дал желаемый результат. Если точный размер файла не имеет значения, можно просто указать ключ -v с параметром 8, 9 или 10. Это без лишних проблем даст изображения высокого качества.
В любом случае поиграйтесь с настройками, так как для каждого видео параметры подбираются индивидуально, это зависит от динамики картинки, полутонов и т.д. Процесс, как видите, прост и гибок.
Конечно, перевод всей вашей домашней видеотеки займет немало времени, но понемногу, понемногу можно начинать.
Я нашел в формате Ogg Theora только один недостаток, который многим покажется существенным – отсутствие поддержки со стороны производителей бытовой техники.
Да, ваш DVD-плеер, скорее всего, не сможет воспроизводить Ogg. Но спрос рождает предложение, верно? Если формат станет популярным, производители, вероятно, обратят на него внимание.
Качество картинки будет радовать глаз и во всем мире будет мир :) Все в наших руках.
P.S. Буду крайне признателен за любые конструктивные комментарии и разъяснения по данной статье.
Теги: #linux #Работа с видео #конвертация #ogg theora
-
Обзор Блога №18
19 Oct, 24 -
Гугл Ридер. Подробности Подписки
19 Oct, 24 -
Службы Windows В C#
19 Oct, 24 -
Однажды Ux-Дизайнер Заходит В Бар Tesla...
19 Oct, 24 -
Нетбук Из Пластилина.
19 Oct, 24