mencoder, dvd, качество.

Здесь обсуждаются все вопросы, не попадающие под другие категории
Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

mencoder, dvd, качество.

Сообщение Llama »

Пытаюсь добиться хоть какого-то качества...
Пока делаю так:

mencoder dvd://3 -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi
mencoder dvd://3 -vf pp=fd\tn -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vmax_b_frames=2:vme=1:mbd=2:vrc_eq=tex:trell
mencoder dvd://3 -vf pp=hb:6\vb:6 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vmax_b_frames=2:vme=1:mbd=2:vrc_eq=tex:trell

млин, все равно квадратики бегают (тестил на фрагменте с огнем).
Создается ощущение, что я чего-то не понимаю.
Опыт растет прямо пропорционально выведенному из строя оборудованию

Lynxer
Неотъемлемая часть форума
Сообщения: 285
Зарегистрирован: 10 мар 2002, 14:44
Откуда: Minsk

Сообщение Lynxer »

Откуда ты такие опции взял вообще? Тем более не совпадающие между 1-м и 2-м проходами.

Тебе как минимум надо указать битрейт или квантизатор. По умолчанию берется битрейт 800 kbps. Этого вообще-то маловато, особенно если ты изображение не crop-ишь, получается 720х576, да еще приходится кодировать черные полосы сверху и снизу. Тебе, возможно, придется еще проресайзить изображение, если ты хочешь уместиться на 1 CD. Но мой тебе совет - лучше увеличить битрейт в 2 раза сделать рип на 2 CD без ресайзинга. Если ресайзить - оставлять не меньше 576 точек по горизонтали, а лучше 640, потому как 512 и меньше уже начинают смотреться просто убого!

Очень советую почитать encoding_tips.txt, только уже везде вместо "vhq" следует читать "mbd=2". Этот файлик есть в составе MPlayer. Там есть отступление, что первый проход лучше делать с постоянным квантизатором, но мне в это не очень верится и я бы лучше не рисковал, все таки двухпроходной режим основан именно на постоянстве опций. Если в какой-то версии MPlayer-а для какого-то конкретного фильма это и так - нельзя на это полагаться для любой версии и фильма. А с одинаковыми опциями ты уж точно не прогадаешь.

Еще советую почитать руководство от Морица Бункуса:
http://www.bunkus.org/dvdripping4linux/ ... index.html.
И собственно в документации по MPlayer-у уже есть руководство по двд-рипу, но оно так себе.

Еще советую почитать руководства по использованию XVID. Многие опции совпадают у XVID и lavc MPEG4.
Вот линки на руководства:
http://www.ogsth.com/snowbeach/MPEG-4_X ... 030702.pdf
http://nic.dnsalias.com/XviD_Options_Explained.pdf
http://nic.dnsalias.com/XviD/XVID-TWOPASS.pdf
http://www.vslcatena.nl/~ronald/docs/xvidfaq.html
Также очень неплохое описание опций XVID есть в файлике xvid4.cfg из пакета transcode ( http://www.transcoding.org , есть deb-пакеты на http://marillat.free.fr ).

Ты еще должен подумать, может тебе вообще использовать XVID? По моему мнению - для фильмов лучше FFMPEG, для мультиков - XVID. Можешь еще почитать последний обзор видеокодеков на авторитетном сайте Doom9:
http://www.doom9.org/index.html?/codecs-203-1.htm
Победителем там признан XVID. По большей части, из-за его меньшей блочности. Они использовали FFVFW для тестирования FFMPEG. Он там падал у них. В общем - FFVFW еще сырая штука. И еще они смотрели результат FFVFW без пост-процессинга.

Вот еще что думает девелопер и (особенно) флеймер от MPlayer Team, D Richard Felker III:

D Richard Felker III писал(а): The subjective comparisons are well known. If the bitrate is low enough to have artefacts, lavc tends to have blocking or ringing while xvid and divx (both are largely the same since they're forks of the same codebase) have an artefact I've called "mudding", where areas of near-solid color bleed and slide around in ways that look unnatural. This is the result of omitting dct entirely (or maybe strong single-coefficient elimination) and just using motion vectors, rather than increasing the quantizer when too many bits are being used.

My experience is that postprocessing can largely fix minor blocking or ringing artefacts, but that "mudding" is impossible to repair with simple filtering. On the other hand, "mudding" will not look bad at all in still pics (because you don't see the texture sliding around ridiculously), while blocking or ringing looks very bad in still pics. So it's very possible that divx chose mudding because it would look better in reviews which typically publish comparisons of still
pictures (which are of course useless for subjective quality
comparisons).
Я с ним согласен. Особенно этот эффект "загрязнения" (mudding) заметен в фильмах, сжатых Divx3. По моему мнению - это все-таки хуже, чем блочность. Хотя, это зависит от видео-материала. Огонь, конечно, больше пострадает от блочности. Но сцены без столь явных переливов цвета, каких большинство - от "загрязнения".

И еще один момент. Звук. Если ты продвинутый чел и сам рипы делаешь - у тебя есть все основания перекодировать звук не в mp3, а в крутейший свободный формат Ogg Vorbis. Тут есть маленькая проблемка - формат AVI несовершенен и имеет разные технические ограничения, поэтому туда нельзя засунуть аудиодорожку в Vorbis. Поэтому надо использовать другой контейнер, нежели AVI - OGM, Matroska или NUT.

OGM - надстройка над OGG и больше не поддерживается его автором, Морицем Бункусом, который сейчас c другими людьми работает над проектом Matroska.

Matroska - активно поддерживаемый формат, как под юниксы, так и под винду. К тому же, у него самый меньший overhead (метаданные самого формата) и больше всего фич. В Матрешку (да, от этого слова формат назвали) можно вообще сколько угодно каких угодно (видео, аудио, субтиров и т.д.) потоков засунуть, и для всех генерить индексы, таймстэмпы, контрольные суммы и прочую ботву, стриминг поддерживается естественно. Сам формат расширяемый, на основе бинарного варианта XML. Так что старый декодер всегда сможет декодировать даже новые файлы и достать оттуда только то, что он поддерживает. Если другие форматы изменяются - обычно старый декодер можно только выкинуть. Пакет виндовой поддержки формата можно взять на http://packs.matroska.org/ .

NUT - формат контейнера от проекта FFMPEG. Обещают, что он будет еще круче и проще, чем OGM и Matroska. Особенно D Richard Felker III обещает. Только сейчас у этого формата есть очень серьезная проблема. Отсутствие работающей реализации.

Исходя из этого - лучший выбор на данном этапе - Matroska.

Так как mencoder не поддерживает кодирование напрямую в матрешку - кодирование аудио и видео придется разделить. Хотя, при 3-проходном кодировании в avi, эти процессы тоже разделены. Сначала надо закодировать аудио в отдельный ogg-файл, высчитать видео-битрейт, потом закодировать чисто видео в avi, а потом уже с помощью mkvmerge преобразовать avi и ogg в готовый Матрешечный mkv-файл.

Чтобы преобразовать звук с dvd в ogg-файл - можно воспользоваться transcode или сначала получить wav-ку с помощью "mplayer -ao pcm", а потом на нее натравить oggenc.

Если будешь делать рип на 2 CD - потребуется потом разрезать большой файл на 2. Тут для Matroska поможет опять таки mkvmerge, для AVI - avisplit из пакета transcode или mencoder c опциями -ss и -endpos. Avisplit и mencoder режут немного по разному. Avisplit режет по ключевому фрейму и лучше работает с кривыми Divx5 фильмами, хотя бывают настолько кривые, что и он не помогает. Если резать по секундам, mencoder режет точнее, за счет того, что помечает лишние кадры "не для показа". Если резать по размеру, а не по секундам, mencoder гораздо чаще превышает (на 1-2 Мб) желаемый размер куска при разрезке, чем avisplit, то есть в этом режиме точнее avisplit.

Еще одна хитрость про разрезание. Я люблю, когда второй кусок в начале содержит несколько (например 5) последних секунд первого куска. При просмотре фильма это позволяет напомнить после смены диска, на чем оборвался первый кусок, а также исключает обрывы фраз на полуслове.

В общем - успешного рипа!

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

да, с указанием битрейта я сильно ступил, впрочем сам и поправил...
Опыт растет прямо пропорционально выведенному из строя оборудованию

Alexys
Заглянувший
Сообщения: 19
Зарегистрирован: 20 фев 2005, 23:32

Сообщение Alexys »

Подскажите, пытаюсь сконвертить dvd в divx, делаю
mencoder VIDEO_TS.VOB -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi
mencoder VIDEO_TS.VOB -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi
При просмотре movie.avi bsplayer и остальные ругаются на неизвестный формат FPM4. Что это за формат и как сконвертить в divx?
Использую MPlayer-1.0pre7try2

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

Alexys, -ovc divx4 и далее по дкументации
Опыт растет прямо пропорционально выведенному из строя оборудованию

Alexys
Заглянувший
Сообщения: 19
Зарегистрирован: 20 фев 2005, 23:32

Сообщение Alexys »

Разобрался, оказалось, что начиная с 1.0pre7 lavc по умолчанию указывает FOURCC FMP4, поэтому надо добавлять опцию -ffourcc DIVX

Еще возникла проблемка - при перегоне dvd в divx, часть звука в фильме пропадает. Решил разобраться, стал конвертировать только звук:
cat *.VOB | mencoder -aid 128 oac mp3lame -lameopts cbr:br=192:vol=1 -ovc frameno -ffourcc DIVX -
с какого-то момента mencoder начал ругаться

Слишком много (4096 в 8265641 байтах) видео пакетов в буфере!
Возможно Вы проигрываете 'неслоёный' поток/файл или неудачный кодек?
Для AVI файлов попробуйте форсировать 'неслоёный' режим опцией -ni.

Использование опции -ni ничего не дало. В чем может быть дело?

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

-novideo попробуй... тут разбирался недавно вопрос отдельного кодирования звука с mencoder
Опыт растет прямо пропорционально выведенному из строя оборудованию

Alexys
Заглянувший
Сообщения: 19
Зарегистрирован: 20 фев 2005, 23:32

Сообщение Alexys »

Llama писал(а):-novideo попробуй... тут разбирался недавно вопрос отдельного кодирования звука с mencoder
не помогло
а как наложить звук из другого файла на фильм?

Ответить