Security Teams



:::
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению ) Ответ в темуСоздание новой темы

> Mencoder - рипаем правильно: Часть 2, (c) drmist
drmist
Дата 9.08.2007 - 22:51
Цитировать сообщение
Offline



Professional
*****

Профиль
Группа: -users-
Сообщений: 1165
Пользователь №: 222
Регистрация: 14.04.2005



Рейтинг:
(0%) -----


Mencoder - рипаем правильно: Часть 2

Эта статья является продолжением первой части одноименной статьи. Из нее читатель узнал, как с помощью mencoder'а определить границы черных полей в фильме, как выбрать конечный размер рипа и аудио-битрейт, как рассчитать видео-битрейт и разрешение картинки. Многое из этого полезно знать независимо от того, какой программой создается dvdrip. Ознакомившись с этой частью, читатель узнает:

* какая разницы между CBR и ABR
* что такое стерео-звук
* каким фильтром убрать шумы в фильме
* что такое двух- и трехпроходное сжатие
* как сделать dvdrip непосредственно с помощью mancoder'а

Как и в прошлый раз, многое из этого пригодится тем, кто использует программу, отличную от mencoder'а.

Современные аудио- и видео-кодеки поддерживают два способа кодирования: CBR (Constant BitRate, постоянный битрейт) и ABR (Average BitRate, усредненный битрейт). В первом случае все данные будут кодироваться с постоянным битрейтом. Во втором битрейт будет постоянно меняться - где данных больше (например, сцена погони c музыкой) будет использоваться больший битрейт, где меньше (диалог без музыки) - меньший, но в среднем битрейт будет равняться указанному. Использование ABR позволяет сжимать звук на ~5% эффективнее, а в некоторых случаях и больше. В случае с видио рекомендуется использовать исключительно ABR.

Звук бывает двух типов - stereo и mono. Фильм с моно-звуком воспроизводит одну и туже дорожку на все колонки. Рип со стерео-звуком хранит информацию о двух и более звуковых дорожках отдельно, благодаря чему достигается эффект объемного звучания.

Итак, наконец можно приступить непосредственно к рипанью. В самом простом случае команда для создания рипа будет выглядеть так:
Код
mencoder dvd://1 -oac mp3lame -alang ru -lameopts vbr=3:br=128:mode=0 -ovc xvid -xvidencopts vhq=1:bitrate=933 \
-vf crop=688:540:18:16,scale=448:352,hqdn3d=2:1:2 -o rip.avi

dvd://1 - указываем источник

-oac mp3lame - указываем аудио кодек, в данном случае MP3-кодек Lame
-alang ru - на всякий случай уточняем, что нас интересует русскоязычная звуковая дорожка
-lameopts vbr=3:br=128:mode=0 - параметры для кодека Lame
vbr=3 - используем ABR. vbr=0 соответствует CBR
br=128 - указываем битрейт, в данном случае 128 Kbps
mode=0 - на выходе получаем стерео звук. mode=3 соответствует mono-звуку

-ovc xvid - используем видео-кодек xvid
-xvidencopts vhq=1:bitrate=933 - параметры для кодека xvid
vhq=1 - пытаемся получить картинку с наибольшим качеством
bitrate=933 - указываем битрейт равный 933 Kbps

-vf crop=688:540:18:16,scale=448:352,hqdn3d=2:1:2 - указываем видео-фильтры
crop=688:540:18:16 - обрезаем черные поля
scale=448:352 - масштабируем картинку до указанного разрешения
hqdn3d=2:1:2 - убираем шумы
-o rip.avi - имя рипа

В прошлой статье была сказана пара слов об аудио кодеке Lame. Напоминаю, что кодеком называется программа для кодирования видео или аудио. Кодеки различаются используемыми алгоритмами сжатия, а следовательно скоростью работы, процентом сжатия и качеством видео или звука после кодирования. На сегодняшний день наиболее распространенным среди видео-кодеков считается xvid. Он позволяет добиться наилучшего процента сжатия и качества видео после кодирования. В интернете Вы можете найти информацию о том, что кодек xvid якобы работает значительно медленнее своих конкурентов (якобы по 15 часов под атлоном 1,7 Ггц) и глючит под Злом (ака Маздайчиком), но люди, которые это пишут, либо не умеют им пользоваться, либо использую устаревшие версии кодека. Уверю, xvid работает не медленнее других кодеков и никаких глюков в MS Windows, уж не знаю как в старых версиях, но в новых точно нет. Если Вы идете в ногу со временем и хотите за кратчайшие сроки получить рип наименьшего размера и наилучшего качества, настоятельно рекомендую сделать выбор в пользу xvid (на правах рекламы!).

Может оказаться, что на Вашем компьютере не установлен кодек xvid, или установлен, но mencoder его не видит. Во FreeBSD в этом случае нужно переустановить mplayer, при этом при сборке сказать "использовать xvid". Делается это так:
Код
cd /usr/ports/multimedia/mplayer
make config
make reinstall clean && rehash

Если у Вас возникла аналогичная проблема в ОС, отличной от FreeBSD, не постесняйтесь задать соответствующий вопрос на нашей конференции.

Современные кодеки поддерживают многопроходное сжатие. То есть когда мы кодируем файл на n-ом проходе, то кодек создает лог-файл (обычно divx2pass.log), в котором записана информация о ходе кодирования. На (n+1)-ом проходе информация из этого файла используется в рассчетах для того, чтобы добиться лучшего качества и сжатия видео. Не имеет смысл делать более 4-х проходов, ибо при этом перестает наблюдаться улучшение качества или процента сжатия. На практике используется только двухпроходное сжатие.

Иногда говоря "трехпроходное зжатие", люди понимают следующее. В первом проходе сжимается только звук. Таким образом становится известным точный объем данных, которые придется отдать под звук (актуально при использовании ABR сжатии звука). Затем рассчитывается битрейт для видео, происходит двухпроходное сжатие видео, а потом к получиному рипу присоединяется звук (либо во время второго прохода). Но на практике это пустая трата времени, поскольку качество видео или звука не улучшается, а при расчетах все равно придется манипулировать усредненными величинами. Я не советую использовать этот метод.

Давайте попробуем написать bash скирпт для создания dvdrip'а c обрезаными титрами и первыми 6.5 секундами:
Код
#!/bin/sh

#  --- [ dvdriper.sh ] ---
#   coded by drmist/STNC 2007
# web: www.security-teams.net

date +'Begin: %c' > date.txt
mencoder dvd://1 -ss 6.5 -endpos 6854 -nosound -ovc xvid -xvidencopts vhq=1:bitrate=1400:pass=1 \
-vf crop=668:540:28:16,scale=480:388,hqdn3d=2:1:2 -o /dev/null
mencoder dvd://1 -ss 6.5 -endpos 6854 -oac mp3lame -alang ru -lameopts vbr=0:br=256:mode=0 -ovc xvid -xvidencopts vhq=1:bitrate=1400:pass=2 \
-vf crop=668:540:28:16,scale=480:388,hqdn3d=2:1:2 -o rip.avi
cat date.txt
date +'End:   %c'
rm date.txt
rm divx2pass.log

Тут мы создаем 1.4 гиговый рип, потому используем бОльшие значения аудио/видео-битрейтов и разрешения картинки. Из новых флагов:
-ss 6.5 - начать рипать с шестой с половиной секунды
-endpos 6854 - обрезаем титры, сколько секунд рипать. Обратите внимание - не до какой секунды, а сколько всего
-nosound - делать рип без звука. на первом проходе обрабатывать звук бессмысленно
pass=N - сообщаем кодеку, что это N-ый проход
-o /dev/null - мы делаем рип в два прохода, потому на первом отправляем рип в /dev/null

На самом деле при создании 1.4 гиговых рипов никото не режит титры (места и так дофига). Я использовал тут этот параметр исключительно для примера - как им пользоваться. Перед созданием рипа рекомендуется сделать тестовый рип, продолжительностью несколько секунд:
Код
mencoder dvd://1 -ss 120 -endpos 30 -nosound -ovc xvid -xvidencopts vhq=1:bitrate=1400:pass=1 \
-vf crop=668:540:28:16,scale=480:388,hqdn3d=2:1:2 -o /dev/null
mencoder dvd://1 -ss 120 -endpos 30 -oac mp3lame -alang ru -lameopts vbr=0:br=256:mode=0 -ovc xvid -xvidencopts vhq=1:bitrate=1400:pass=2 \
-vf crop=668:540:28:16,scale=480:388,hqdn3d=2:1:2 -o rip.avi

Если качество полученного рипа Вас устраивает - можно рипать фильм целиком.

На что еще следует обратить внимание? В этом примере я масштабирую изображения до разрешения 480 x 388, потому что на моем лаптопе с 15-и дюймовом мониторе качество видео при просмотре в полноэкранном режиме кажется приемлемым. Если Вы планируете выкладывать свои рипы в каких-либо файло-обменных сетях, ни в коем случае нельзя делать разрешение картинки менее, чем 640 на [сколько требуется для соблюдения пропорций]. В противном случае люди, которые попытаются смотреть Ваш рип на своих навороченных мониторах, проклянут Вас самым страшным образом за потраченые впустую трафик и время. Как правило, картинка не сильно портится, несмотря на понижение bpp.

Это пожалуй все, что я хотел сказать. Если у Вас возникнут какие-то вопросы - пишите мне в ПМ или задавайте вопрос на форуме. Возможно, если тема окажется актуальной, выйдет третья часть статьи в виде ЧаВо по сабжу. А пока прощайте!

Все права защищены. © drmist/STNC 2007, web: https://www.security-teams.net/.
PMСайт пользователя
Top
chainick
Дата 30.01.2009 - 23:36
Цитировать сообщение




Unregistered












Ребята, может вопрос и дурацкий, но все же.... какой нужно использовать кодек для кодирования фильма, что бы его можно было просмотреть на стационарном двдплеере?
Пробовал такие кодеки:
- xvid
- mpeg4
- msmpeg4
- msmpeg4v2

и ни один фильм не воспроизводиться на плеере Samsung DVD P365KD и LG (модель не знаю)
Пробовал принудительно задать FourCC - все равно, стационарные двд-плееры не воспроизводят файл.
В отчаяном порыве сохранил видео через СониВегас кодеком XviD с параметрами по дефолту. И он в плеере LG воспроизвелся, а в Samsung - нет.
Решил проверить в GSpot тех.данные видеофайлов полученных из Сонивегаса и менкодера. К моему огромному удивлению оказалось, что менкодер сохраняет файлы avi v1.0, СониВегас - v2.0
Странно как-то это. Может проблема в том, что менкодер выдает файлы в avi v1.0? Возможно ли это изменить версию?
Top
vanessa
Дата 15.02.2009 - 17:58
Цитировать сообщение




Unregistered












Добрый день.

Очень хорошая статься,спасибо. Но вот у меня вопрос: иногда при рипаньи DVD получається странный ефект - картинка как-бы размыта, динамичные сюжеты странно "двоятся", такоє впечатление что они через строку немного смещены. вот пример дети идут вокруг елки. это рипалось в два прохода с видео битрейтом 1300. Если делать в один проход ефект проявляется намного в большем количестве.

Как с этим боротся ?

И еще по ходу вопрос: иногда я записываю фильмы с цифрового TV-тюнера (DBV) а потом хочу немного обрезать титры, вырезать рекламу. Просматриваю файл предварительно в mplayer’е и определяю время начала и конца фрагмента. Но когда перекодирю файл менкодером то оказивается что в результирующий файл попадает немного другой временной интервал нежели я задавал с помощью параметров -ss и -endpos. Разница бывает в несколько сотен секунд. Видеокодек входного файла - MPEG.
Как правильно определить/задать время начала и конца ?
Спасибо.
Top
0.0.7
Дата 3.03.2009 - 16:21
Цитировать сообщение
Offline



Activist
**

Профиль
Группа: -users-
Сообщений: 63
Пользователь №: 3957
Регистрация: 9.07.2006



Рейтинг:
(0%) -----


По поводу 1) - Вам однозначно следует использовать другой кодек
PMПисьмо на e-mail пользователю
Top
vanessa
Дата 9.03.2009 - 12:17
Цитировать сообщение




Unregistered












нет, я тут еще нашел информацию по теме, проблема не в кодеке (или в кодеке ?) но решается она с помощью видеофильтра -vf field или -vf pp=lb
Top
qzin
Дата 22.03.2009 - 12:05
Цитировать сообщение




Unregistered












Здравствуйте. Был бы вам очень благодарен, расскажите о параметрах сборки mplayer и mencoder. Я только начинаю освоение, столкнулся с парой проблем по этому поводу. Собирать все подряд, если использовать буду только малую часть, тоже смысла нет. Спасибо.

:unsure:

Это сообщение отредактировал qzin - 22.03.2009 - 13:24
Top
0.0.7
Дата 3.04.2009 - 11:20
Цитировать сообщение
Offline



Activist
**

Профиль
Группа: -users-
Сообщений: 63
Пользователь №: 3957
Регистрация: 9.07.2006



Рейтинг:
(0%) -----


Если Вы только начинаете, я бы советовал для начала ознакомится с менеджером пакетов, используемом в вашей операционной системе и с чтения документации, идущей с исходниками.
PMПисьмо на e-mail пользователю
Top
Ustas
Дата 3.05.2009 - 21:35
Цитировать сообщение




Unregistered












Здравствуйте. У меня вопрос на который не могу нигде найти ответ, как будто специально его обходят. Короче: кодирую mencoder из MKV (V_MPEG4/ISO/AVC, A_AAC) в AVI (XVID, a52). С видео все получается замечательно, а вот звук - не получается нормально звука 5.1 и все. Т.е., смотрю информацию о получившемся файле (AVI), разницы с другими (рабочими) AVI`шками не вижу, но плееры звук не воспроизводят. А вот когда делаю звук, к примеру, MPGA 2 канала - все нормально.

В чем фишка со звуком 5.1?
Top
vanessa
Дата 3.05.2009 - 22:00
Цитировать сообщение




Unregistered












Недавно как сегодня с утра кодировал такой-же звук.точнее со звуком я не делал ничего (-oac copy), только видео перегнал из х264 в xvid. Плеер нармально воспроизводит файл причем видит что звук 5.1. правда плеер у меня тоже со звуком 5.1. Может роблема не в менкодере а в плеере ?
Top
Ustas
Дата 4.05.2009 - 10:22
Цитировать сообщение




Unregistered












Пробовал я (-oac copy), ошибку выдает. что то "невозможно выполнить -oac copy, попробуйте -oac pcm или ... А плееры я имел ввиду не домашние, например VLC media player, т.е. на компьютере.
Top

Опции темы Страницы: (2) [1] 2  Ответ в темуСоздание новой темы

 





Как бронировать туры в Финляндию на сайте grant-tour.info.