Страница 1 из 12

Грамотный кодинг видео в Linux

Добавлено: 04.09.2006 20:23
Arceny
Как грамотно кодить видео в Линуксе? Допустим DVD с помошью DVD:::RIP нормально получается перегнать в mpeg4 , но кодеков там ограниченное число - xvid && ffmpeg . Последний может mpeg4 и h264 (только в однопроходном режиме)...

Соответственно. Как правильно сжимать допустим mpeg2 исходники (DVD) в mkv (как самый прогрессивный контейнер) 2проходным кодированием с помощью x264 например?

Какие аналоги ВиртуалДаба есть? Какой вообще софт (помимо dvdrip/acidrip) желательно с ГУЯми... Хотя можно и инструкции на русском по работе с консольными программами... :wacko:

Re: Грамотный кодинг видео в Linux

Добавлено: 04.09.2006 21:04
Den001
Попробуй поискать тут или на подобных.
http://www.linuxrsp.ru/win-lin-soft/table-rus.html

Re: Грамотный кодинг видео в Linux

Добавлено: 04.09.2006 22:28
minder
Собственно, хотел добавить к теме автора. Как кодировать звук с DVD в mp4(aac-he) с 6 каналами.

А на счет видео h264, ИМХО, на Linux mplayer(mencoder) лучше всех поддерживает этот формат.

Re: Грамотный кодинг видео в Linux

Добавлено: 04.09.2006 23:59
kreator
(Arceny @ Sep 4 2006, в 19:23) писал(а):Какие аналоги ВиртуалДаба есть?

Avidemux

(Arceny @ Sep 4 2006, в 19:23) писал(а):Какой вообще софт (помимо dvdrip/acidrip) желательно с ГУЯми... Хотя можно и инструкции на русском по работе с консольными программами...

mencoder + какой-нибудь фронтенд.


(Arceny @ Sep 4 2006, в 19:23) писал(а):Как правильно сжимать допустим mpeg2 исходники (DVD) в mkv (как самый прогрессивный контейнер) 2проходным кодированием с помощью x264 например?

С mkv пока напряг. Я жму в ogm, затем перегоняю mkvmerge.

(minder @ Sep 4 2006, в 21:28) писал(а):Как кодировать звук с DVD в mp4(aac-he) с 6 каналами.

avidemux-2.3-svn умеет (хотя я бы рекомендовал vorbis). svn достаточно стабилен, скоро должен появится пререлиз.

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 00:53
Xentrix
Arceny писал(а):
04.09.2006 20:23
Как грамотно кодить видео в Линуксе? Допустим DVD с помошью DVD:::RIP нормально получается перегнать в mpeg4 , но кодеков там ограниченное число - xvid && ffmpeg . Последний может mpeg4 и h264 (только в однопроходном режиме)...

Это зависит от сборки dvdrip. У мя, например, умеет, xvid (2,3,4), divx (4,5), fame, ffmpeg, VCD/SVCD/CVD/XFVCD, af6 - ну и там уже еще варианты. Вроде хватает :)

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 01:19
Vorb
Я всегда кодирую mencoder кодеком xvid, только не тем, который включен в ffmeg, а стянутым по цвс с сайта... С тем почемуто не дружит мой двд-проигрыватель :(
получается довольно неплохо. Если кому надо - напишу как все делаю...

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 06:18
gtlinuxman
Вот сейчас передо мной
/usr/share/doc/mplayer-1.0_pre8/DOCS/HTML/ru/encoding-guide.html (только всё-равно по-аглицки)

Там же есть ссылка на фронтэнды http://www.mplayerhq.hu/design7/projects.h...coder_frontends

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 08:47
Xentrix
Вы не очень-то внимание обращайте на тамошний список. 90% там - дохлятина, которая так и не превратилась во что-то стоящее. Отметить можно разве что DVDrip и gbDVDenc.

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 09:48
gtlinuxman
То-то и оно.
с первого раза только Konvertor собрался (но сегфолтится при закрытии). (из портеджей)
kmenc15 отказался собиратся во всех (доступных в портеджах) версиях.
В принципе, учитывая, что всякое обобщение не верно, лучше конвертить в консоли, по мануалу.

С редакторами тоже не всё в ажуре:
avidemux собрался со второй попытки, но не находит аудио-кодеки.
Kino & MainActor не переваривают пожатые авишки,
щаз качаю cinelerra-cvs -- посмотрим, что за фрукт :)

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 10:02
Xentrix
gtlinuxman писал(а):
05.09.2006 09:48
То-то и оно.
с первого раза только Konvertor собрался (но сегфолтится при закрытии). (из портеджей)
kmenc15 отказался собиратся во всех (доступных в портеджах) версиях.

С редакторами тоже не всё в ажуре:
avidemux собрался со второй попытки, но не находит аудио-кодеки.
Kino & MainActor не переваривают пожатые авишки,
щаз качаю cinelerra-cvs -- посмотрим, что за фрукт :)

В первых двух случаях вините портежи. У меня под SuSE собриралось и собирается без проблем. И работает, ессно.

Криво собранный avidemux (о-дно-зна-чно! :) ) - вот уж на что пряморукая программа - уж она-то без проблем всегда собиралась и работала.
Kino переваривает пожатые avi-шки если он версии 0.9.0 и собран "в присутствующих" на системе ffmpeg и xvid.
MainActor - да. Но он и закрытый и его просто так не пересобрать - с чем дают, с тем едим.

Учитывая, как у вас все косо с гораздо более простыми программами, боюсь с cinelerra вам тоже не повезет ;)

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 12:14
StraNNicK
Как насчёт [url=http://handbrake.m0k.org/}хэндбрейка[url]?
Жмёт он правда в ogm или в mp4, но какая фиг разница - что за контейнер? Если есть горячее непреодолимое желание - можно потом ручками в mkv перепаковать...

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 12:44
Snupt
Прочитал кучу документации по mencoder. Потом один раз взял и написал сприпты для XviD и x264. Всё, больше ничего не надо. Если кто хочет, то скриптами поделюсь.
Если кому надо - напишу как все делаю...

Да, интересно.

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 14:03
Arceny
Скрипты конечно очень хочется !

Если кому надо - напишу как все делаю...

Конечно!

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 14:32
Xentrix
Да, скрипты были бы очень кстати для любого - ведь и во фронтендах используется система скриптов, которые можно ручками прописать. И было бы вообще отлично, если бы они были с комментариями - маны - манами, но толковое пояснение на родном языке - вещь более удобная и внятная.

Vorb писал(а):
05.09.2006 01:19
Я всегда кодирую mencoder кодеком xvid, только не тем, который включен в ffmeg, а стянутым по цвс с сайта... С тем почемуто не дружит мой двд-проигрыватель :(

Ясное дело, что не дружит :) - он не умеет H264, а xvid, который в ffmpeg как раз и использует этот стандарт энкодинга :) (ну и заворот - да? - энкодер, использующий энкодер, который в свою очередь использует другой энкодер :lol: ) А cvs-ный xvid - это обычный, стандартный.

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 14:49
Arceny
С mkv пока напряг. Я жму в ogm, затем перегоняю mkvmerge.


А как в данном случае быть с размером файла? Он ведь в любом случае изменится. В какую сторону?

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 16:04
Snupt
Ну раз хотите, то выкладываю свои скрипты и постараюсь их прокомментировать. Итак, 2 скрипта:
  • Копирование DVD диска на HDD, вычисление битрейта и кодирование с помощью XviD в два прохода.
  • Копирование DVD диска на HDD, вычисление битрейта и кодирование с помощью x264 в четыре прохоа.
П.С. В скриптах есть неопределённые значение, которые Вам надо будет вычислять самим. Это конечно же "bitrate" и "crop" (обрезание чёрных полос по диагонали и вертикали), в случае с XviD. Как вычислять "bitrate" я написал в скрипте, а вот с "crop" как поступить более разумно и правильно я не знаю, а точнее забыл. Я использую для его вычисления AcidRIP. Там легко это сделать.

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 18:43
Arceny
Чем можно рипнуть русские сабы с ДВД? Сдаётся мне, что ничем, так как их надо ОСРить?

Как выбрать язык звуковой дорожке при сжатии менкодером? Эх, навернео стоит ман почитать :)

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 19:22
kreator
CnupT
ИМХО делать scale нет смысла, если не ставить задачей поместить фильм на одну болванку.
-lameopts vol=5 даст дикий клиппинг, нужно использовать -af volnorm.

Очень сильно помогает экономить битрейт фильтр hqdn3d. При желании можно добавить шум во время просмотра - noise=8a:4a.

Почему max_bframes=1?

Использовать gmc:vhq=4 есть смысл, если время кодирования абсолютно не волнует, так как эффект от их использования небольшой, относительно увеличения времени кодирования.

Для хорошего рипа нужно делать deinterlace где нужно (kerndeint хорошо себя зарекомендовал).

Arceny писал(а):
05.09.2006 14:49
С mkv пока напряг. Я жму в ogm, затем перегоняю mkvmerge.


А как в данном случае быть с размером файла? Он ведь в любом случае изменится. В какую сторону?

В меньшею, иначе какой смысл.

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 19:41
Arceny
В меньшею, иначе какой смысл.


Вот только как эту разницу предусматривать заранее :)

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 21:08
NIK1910
Для DVD Обычно делаю так:
Копирую VIDEO_TS на жесткий.

Crop обычно определяю так:

mplayer -vf cropdetect VTS_XX_X.VOB
Записываем результат crop=XXX:XXX:XX:XX

А потом проверка правильности:

mplayer -vf crop=704:544:8:8 -aspect 16:9 VTS_XX_X.VOB
Если есть расческа то при кодировании применяю pp=lb
Можно сразу посмотреть работу фильтров:
mplayer -vf pp=lb,crop=XXX:XXX:XX:XX -aspect 16:9 VTS_XX_X.VOB
Если определил не правильно то подгоняю вручную (кратно 16). Лучше подрезать немного видео, чем оставить черные полосы.

Далее кодирую кодером xvid в два прохода.

cat VTS_XX_X.VOB VTS_XX_X.VOB | mencoder -nosound -ovc xvid -xvidencopts vhq=4:pass=1:max_bframes=1 -vf pp=lb,crop=XXX:XXX:XX:XX, -aspect 16:9 -o /dev/null - ; cat VTS_XX_X.VOB VTS_XX_X.VOB | mencoder -oac copy -ovc xvid -xvidencopts vhq=4:pass=2:max_bframes=1:bitrate=1200 -vf pp=lb,crop=XXX:XXX:XX:XX, -aspect 16:9 -o file.avi -

Звук не сжимаю (не вижу смысла).

to CnupT
gmc лучше не использовать, trellis по умолчанию on, а что за фильтр pp=dl?
to Arceny
Выбор дорожки -aid 0x80 или -aid 128

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 21:57
minder
Arceny писал(а):
05.09.2006 18:43
Чем можно рипнуть русские сабы с ДВД? Сдаётся мне, что ничем, так как их надо ОСРить?

http://subtitleripper.sourceforge.net/

Video Tools for Linux
http://forum.doom9.org/showthread.php?t=114966

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 22:07
minder
kreator писал(а):
04.09.2006 23:59
(minder @ Sep 4 2006, в 21:28) писал(а):
Как кодировать звук с DVD в mp4(aac-he) с 6 каналами.

avidemux-2.3-svn умеет (хотя я бы рекомендовал vorbis). svn достаточно стабилен, скоро должен появится пререлиз.

Это вряд ли, т.к. он использует FAAC. FAAC является открытым проектом и не умеет работать с HE профилем, который в свою очередь является комерческим. Мне не известны open-source программы, которые кодировали бы звук с использованием HE профиля. Разве что, NeroAacEncoder - для Windows, бесплатная, закрытый код.

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 22:10
Arceny
За опции командной строки менкодера спасибо.

По поводу транскодера: он может юзать мультипроцессорность. То есть на моём двуядернике прирост скорости очень существенный. Менкодер такое умеет? Я чтото не нашёл.

По поводу субтитров: с первым так и не разобрался инструментом.
А по поводу gocr , что тот использует - так ведь он кажется только английские буковки понимает, а кирилицу - нет?

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 22:33
kreator
Arceny писал(а):
05.09.2006 19:41
В меньшею, иначе какой смысл.


Вот только как эту разницу предусматривать заранее :)


Я жму xvid'ом в один проход (q=4), мне важнее качество, чем размер. Фильмы получаются размером 600-1000mb (разрешение исходное, только чёрные поля убираю). Звук vorbis q3 (стерео). Я не вижу смысла втискивать фильм ровно на 1-2cd, так как всё пишу на dvd-r.

Re: Грамотный кодинг видео в Linux

Добавлено: 05.09.2006 23:04
kreator
minder писал(а):
05.09.2006 22:07
kreator писал(а):
04.09.2006 23:59

(minder @ Sep 4 2006, в 21:28) писал(а):
Как кодировать звук с DVD в mp4(aac-he) с 6 каналами.

avidemux-2.3-svn умеет (хотя я бы рекомендовал vorbis). svn достаточно стабилен, скоро должен появится пререлиз.

Это вряд ли, т.к. он использует FAAC. FAAC является открытым проектом и не умеет работать с HE профилем, который в свою очередь является комерческим. Мне не известны open-source программы, которые кодировали бы звук с использованием HE профиля. Разве что, NeroAacEncoder - для Windows, бесплатная, закрытый код.

Да, верно - в faac нет HE.

Re: Грамотный кодинг видео в Linux

Добавлено: 06.09.2006 12:01
Snupt
(kreator @ Sep 5 2006, в 19:22) писал(а):ИМХО делать scale нет смысла, если не ставить задачей поместить фильм на одну болванку.

Я ставлю задачу перекодировать фильм в определённый мною размер. Не обязательно он будет 600 или 700 Mb, но он должен быть таким, каким я хочу. Если ситуация позволяет, то я убираю "scale" из скрипта, но чаще всего не делаю этого.
(kreator @ Sep 5 2006, в 19:22) писал(а):...
-lameopts vol=5 даст дикий клиппинг, нужно использовать -af volnorm
...
Очень сильно помогает экономить битрейт фильтр hqdn3d. При желании можно добавить шум во время просмотра - noise=8a:4a
...
Для хорошего рипа нужно делать deinterlace где нужно (kerndeint хорошо себя зарекомендовал)
...

Спасибо за советы, попробуем, поэкспериментируем.
(kreator @ Sep 5 2006, в 19:22) писал(а):Почему max_bframes=1?

max_bframes является аналогом параметра vmax_b_frames lavc. По умолчанию XviD создаёт не больше 2–х B–кадров. Я бы порекомендовал устанавливать его в 1, т.е. создавать не больше 1 B-кадра между P-кадрами

(с) http://aquatique.rusunix.org/mencoding.html
(kreator @ Sep 5 2006, в 19:22) писал(а):Использовать gmc:vhq=4 есть смысл, если время кодирования абсолютно не волнует, так как эффект от их использования небольшой, относительно увеличения времени кодирования.

Не скажи. На некоторых фильмах эффект это даёт хоть и не большой, но и не маленький, уж точно. Поэтому предпочитаю пожертвовать временем ради качества.
kreator, Выложите свои скрипты, посмотрю.
(NIK1910 @ Sep 5 2006, в 21:08) писал(а):gmc лучше не использовать

Почему это?
(NIK1910 @ Sep 5 2006, в 21:08) писал(а):а что за фильтр pp=dl

Не помню уже точно. Но качество картинки он даёт хорошее, в большинстве случаях. Использую ещё pp=de, но гораздо реже.

Re: Грамотный кодинг видео в Linux

Добавлено: 06.09.2006 14:38
romuil
Заметил одну неприятную особенность -ovc xvid дает мне масмимум 10 fps на ядре smp (процессор с HT ). ffmpeg дает до 35 , но вендовые плейеры его не понимают , вернее редко у кого этот кодек установлен.Получается mencoder не умеет кодировать на мультипроцессорных ядрах ? Загрузка только на одном виртуальном ядре 99 % второе не нагружется вообще.

Re: Грамотный кодинг видео в Linux

Добавлено: 06.09.2006 15:00
Arceny
Виртуальный СМП преимущества особого не даёт. Вот реальный - да. transcode это может, один процесс грузит 160% проца :) так по крайней мере top информирует. 1й проход шпарит кадров 70 в секунду. Второй - поменьше...

Re: Грамотный кодинг видео в Linux

Добавлено: 06.09.2006 21:15
kreator
(CnupT @ Sep 6 2006, в 11:01) писал(а):Не скажи. На некоторых фильмах эффект это даёт хоть и не большой, но и не маленький, уж точно. Поэтому предпочитаю пожертвовать временем ради качества.

Я и сам долгое время использовал gmc+vhq=4, но решил поэкспериментировать: взял фрагмент пару минут, где был плавный переход от статичной картинки к быстрому движению, выставил настройки (q=4) и начал сравнивать. При включении gmc+vhq4 размер уменьшается на 4.2%, скорость меньше на 40%. Возможно на другом материале эффективность будет выше (а может и ниже). Включение qpel - размер меньше на 5-8%, скорость на 30%. Хотя был у меня какой-то ролик, где qpel только на 2% сжатие увеличивал.
(CnupT @ Sep 6 2006, в 11:01) писал(а):kreator, Выложите свои скрипты, посмотрю.

Я жму в avidemux, так как мне в нём удобнее фильтры подгонять (crop/kerneldeint/hqdn3d) и отрезать надоевшие заставки. Ещё я в нём home video чищу/нарезаю и в силу некоторых обстоятельств (точнее багов :)) являюсь одним из разработчиков.

xvid:
q=4, chroma optimizer, I-frame interval = 500, trellis quant, quant type = mpeg, остальное не меняю.
Звук: ogg q3 стерео + нормализация.
Контейнер ogm, потом mkvmerge.

C x264 пробовал несколько фильмов, но результат меня не впечатлил. При равном качестве с xvid'ом, скорость на 40-60% меньше, размер меньше на 5-10%. Хотя опять же зависит от фильма.

Re: Грамотный кодинг видео в Linux

Добавлено: 07.09.2006 07:58
NIK1910
На счет pp=de согласен, это комбинация pp=hb/vb/dr. А pp=dl, сейчас специально в man глянул (mencoder -pphelp), там нет такого. Недавно пробовал еще pp=al:f для повышения контраста на тусклом мультфильме.

gmc - глобальная компенсация движения, предназначена для экономии битов на вращающихся и приблищающе-удаляющихся изображениях. Раньше тоже использовал не задумываясь, а в результате не живой (менее подвижный) фон.