Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Видео и аудио: обработка и кодирование (http://forum.oszone.net/forumdisplay.php?f=45)
-   -   [решено] Конвертация фильмов для бытовых DVD плееров при помощи Mencoder (http://forum.oszone.net/showthread.php?t=179551)

registeruser1 01-07-2010 09:20 1445018

Конвертация фильмов для бытовых DVD плееров при помощи Mencoder
 
...Доброго дня всем.
Вообщем есть проблема связанная с конвертацией видео в Mencoder.
Для компа все хорошо - ему все равно какие фильмы крутить, а вот для бытового плеера - нет!
Думаю что тут надутся специалисты которые помогут разобраться с этим...
Итак суть проблемы -

Есть плеер, поддерживает DivX Xvid, т е читает любые авишки.

Пытаюсь сделать универсальный код для Mencoder с максимальным качеством видео и аудио конвертации FLV в avi c использованием кодека именно Xvid. Потому как DivX в плеере не все версии есть и потому последние версии оного плеер не будет воспроизводить.
Проблема в том что я сделал код - а плеер пишет "Ошибка Xvid" - не могу понять в чем проблема.

А сама идея в том что бы качать из сети фильмы в FLV их там море и весят в разы меньше и конвертить их в avi Xvid-кодеком и на плеере смотреть. На телевизоре как ни крути удобнее смотреть, тем более всей семьей... И качество по максимуму выжимать из него...

Думаю что не только мне это пригодится...

Вот весь код -

Код:

mencoder 1.flv -vf scale=720:460,crop=720:400,hqdn3d=2:1:2,denoise3d,pullup,softskip,scale=-10 -sws 1 -ovc xvid -forceidx -oac mp3lame -lameopts cbr:br=320 -srate 44100 aq=0:q=0:vol=5 -xvidencopts vhq=4:bitrate=10000:gmc:bvhq=1:quant_type=mpeg:chroma_me:chroma_opt:me_quality=6:autoaspect -endpos 100 -o output-avi.avi
Получается вот такое видео на выходе -



Требования к выходному видео-

- Максимально возможное качество видео после конвертации (не хуже скачанного оригинала)
- Максимально возможное качество аудио после конвертации (не хуже скачанного оригинала)
- Универсальность видео потока (для проигрывания на ЛЮБЫХ бытовых DVD-плеерах которые поддерживают avi формат).

Что я не так делаю? Почему плеер пишет "Ошибка Xvid"?

Надеюсь на вашу помощь...
Спасибо...

DJ Mogarych 02-07-2010 18:18 1446142

Уберите из командной строки опцию GMC.

Если после этого плеер всё равно играть не будет, убирайте по очереди все тонкие настройки -- всякие там bvhq, chroma и т. д. "Железные" плееры тонких настроек кодека не любят.

И можно снизить битрейт аудио. 160 килобит хватит с головой для конвертации роликов FLV.

А можно взять, например, Any video converter free, SUPER 2010, PocketDivXEncoder или разработки посетителей этого форума (см. прикреплённые темы с пометкой "авторский проект").
Все они так или иначе основаны на Менкодере.

registeruser1 02-07-2010 20:18 1446206

Цитата:

Уберите из командной строки опцию GMC.
А где у меня это? Не вижу. Или я не правильно вас понял?

mencoder 1.flv -vf scale=720:460,crop=720:400,hqdn3d=2:1:2,denoise3d,pullup,softskip,scale=-10 -sws 1 -ovc xvid -forceidx -oac mp3lame -lameopts cbr:br=320 -srate 44100 aq=0:q=0:vol=5 -xvidencopts vhq=4:bitrate=10000:gmc:bvhq=1:quant_type=mpeg:chroma_me:chroma_opt:me_quality=6:autoaspect -endpos 100 -o output-avi.avi

DJ Mogarych 03-07-2010 00:31 1446331

Ну поищите у себя в строчке: gmc.
Я так понимаю, что строчку не вы составляли?

registeruser1 03-07-2010 00:36 1446334

Цитата:

Ну поищите у себя в строчке: gmc.
Я так понимаю, что строчку не вы составляли?
ааа, понял, составлял я. Попробую так.
Больше нет вариантов?

registeruser1 03-07-2010 09:32 1446403

...Нашел вариант с двумя проходами кодирования, сделал как вы сказали, убрал лишнее, вроде на железке пошло.
Спасибо вам за подсказку...
Получилась вот такая портянка на выходе -



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

-xvidencopts bitrate=???

И еще, не пойму почему Format/Family - RIFF ???

DJ Mogarych 03-07-2010 12:05 1446460

Цитата:

Цитата registeruser1
какое ставить разрешение на выходе видео, что бы было максимальное качество и без квадратиков? »

Зависит от исходника. Но больше 720 (или в крайнем случае 768) по горизонтали делать нет смысла.

Квадратики появляются из-за недостаточного битрейта. Увеличьте битрейт раза в полтора против прежнего, посмотрите на результат. Может быть, вместо битрейта вам понравится использовать значение квантайзера (для кодека это что-то вроде планки качества, ниже которой он не должен опускаться, и битрейт он подбирает автоматически). Минус квантайзера — плохо предсказуемый размер файла на выходе.

Если вы увеличиваете разрешение, то, соответственно, повышайте битрейт.

Конкретные значения командной строки посмотрите, пожалуйста, самостоятельно. Я так сразу так сказать не могу.

Цитата:

Цитата registeruser1
почему Format/Family - RIFF »

Это стандарт контейнера. Можно на этом внимание не заострять.

registeruser1 03-07-2010 12:33 1446468

...Спасибо за совет DJ Mogarych, некоторые пишут что если ставить битрейт в районе 1700-2000, то квадратиков наблюдаться не будет.
Если больше, то они могут быть. Но я боюсь что это низкое разрешение, может я не прав?
А с квантайзером попробую, спасибо. Правда боюсь что железка может не принять такое навороченное видео...

DJ Mogarych 03-07-2010 13:14 1446485

Цитата:

Цитата registeruser1
Если больше, то они могут быть »

Не могут. Чем больше битрейт, тем меньше потерь качества, и квадратики возникают только при недостатке битрейта, но уж никак ни при избытке.
Другой вопрос, что запредельных значений тоже ставить не нужно. Нужно подбирать необходимые.
Цитата:

Цитата registeruser1
Но я боюсь что это низкое разрешение »

Кажется, вы объединяете понятия "разрешение" и "битрейт".
Разрешение — это количество точек в кадре, например, 720x480. Говоря упрощённо, размер.
Битрейт — это поток данных, выделяющийся под описание этого кадра. Чем больше битрейта выделяется, тем полнее можно описать содержимое кадра, соответственно, тем выше качество.
Цитата:

Цитата registeruser1
боюсь что железка может не принять такое навороченное видео »

Железки понимают довольно большие значения битрейта, насколько я помню, примерно до 8000–10000 кбит/сек, чего хватит с лихвой для самого сложного видео стандартного (не HD) разрешения.

registeruser1 03-07-2010 13:18 1446489

Цитата:

Цитата DJ Mogarych
Железки понимают довольно большие значения битрейта, насколько я помню, примерно до 8000–10000 кбит/сек, чего хватит с лихвой для самого сложного видео стандартного (не HD) разрешения. »

То есть я так понимаю что -xvidencopts bitrate=10000 будет нормально?

Taran2L 03-07-2010 13:31 1446497

Цитата:

Цитата registeruser1
10000 будет нормально? »

Для обычных сцен вам хватит и 5 мбит. Для динамических же можно поднят и до 8 (предел – 9,8). Больше не советую. Чревато некоторыми последствиями (напр. та же совместимость или переполнение буфера в нек. случ.). Да, впрочем, сомневаюсь, что вы увидите разницу на расстоянии между 8 и 10 мбит в мпег2.
Лучше выставить VBR и предоставить енкодеру самому, сколько и каким сценам дать битрейта. Железные плееры в 99% поддерживают такую опцию задания битрейта.

registeruser1 03-07-2010 14:06 1446520

Цитата:

Цитата Taran2L
Для обычных сцен вам хватит и 5 мбит. Для динамических же можно поднят и до 8 (предел – 9,8). Больше не советую. Чревато некоторыми последствиями (напр. та же совместимость или переполнение буфера в нек. случ.). Да, впрочем, сомневаюсь, что вы увидите разницу на расстоянии между 8 и 10 мбит в мпег2.
Лучше выставить VBR и предоставить енкодеру самому, сколько и каким сценам дать битрейта. Железные плееры в 99% поддерживают такую опцию задания битрейта. »

Пытаюсь сделать универсальный код в mencoder, что бы один раз прописать для максимально возможного качества которое будет воспроизводить железный плеер и больше код не изменять. Размер файла на выходе не имеет значения для меня...
Тогда я выставляю -xvidencopts bitrate=9000 и я так понимаю что это максимально возможное качество и все должно пахать на железном плеере?

А по поводу квантователя -

quant_type=<h263|mpeg>
Устанавливает используемый тип квантователя. можете заметить, что при высоких значениям битпотока MPEG квантование сохраняет больше деталей. Для маленьких значений сглаживание H.263 даст меньший блочный шум. При использовании нестандартных матриц должно использоваться MPEG квантование.


он у меня стоит в коде -

quant_type=mpeg

Только и битрейт тоже стоит там.

-xvidencopts bitrate=9000:pass=2:max_bframes=3:quant_type=mpeg

Совместимы ли эти два параметра между собой?

Спасибо...

Taran2L 03-07-2010 14:52 1446552

registeruser1, А почему бы и нет. Bitrate – это базовый, так сказать, параметр. МПЕГ и Н263 просто матрицы которые предназначены для немножко разных целей. То есть для живого ряда лучше все же применять МПЕГ. Если кодируете мультики (аниме), то тогда стоит(не всегда) присмотреться к Н263. Немножко по другому это же написано у вас в посте выше =)

Подведя итог под выше написанным, скажу так: МПЕГ больше шарпит, Н263 больше блочит.

registeruser1 03-07-2010 15:05 1446557

Цитата:

Цитата Taran2L
registeruser1, А почему бы и нет. Bitrate – это базовый, так сказать, параметр. МПЕГ и Н263 просто матрицы которые предназначены для немножко разных целей. То есть для живого ряда лучше все же применять МПЕГ. Если кодируете мультики (аниме), то тогда стоит(не всегда) присмотреться к Н263. Немножко по другому это же написано у вас в посте выше »

...Значит эти параметры кодирования (-xvidencopts bitrate=9000:pass=2:max_bframes=3:quant_type=mpeg) в полне подходят для без проблемного воспроизведения на железном плеере.
И битрейт и квантование друг другу мешать не будет...

Спасибо большое, буду пробовать, если что отпишусь...

registeruser1 04-07-2010 07:59 1446853

...Ну вроде бы все получилось - читает железка!
Причем что самое интересное 15 fps стоит и ничего!

Спасибо всем кто помогал!

MKN 12-07-2010 12:24 1451657

Цитата:

Цитата registeruser1
-xvidencopts bitrate=9000 »

А зачем для DivX или Xvid такой огромный битрейт ? Как то сравнивал два переконвертированных (AVSVideoConverter6) с качественного DVD видеоролика, один со значением 3500, другой 8000.
Разницы в качестве абсолютно никакой (почти отличное), чего не скажешь про объём...


Время: 20:55.

Время: 20:55.
© OSzone.net 2001-