h264(AVC) to DivX

Вопросы, приемы и проблемы обработки видео

Модератор: Модераторы разделов

Ka40k
Сообщения: 101
ОС: Gentoo

h264(AVC) to DivX

Сообщение Ka40k »

Здравствуйте. Есть файл mkv размером 3.8 Gb. И есть хардварый плеер, который не понимает mkv, но понимает mpeg4,wmv и divx. Может кто-то помочь перекодировать без особой потери качества (тот же размер устроит)?
Вот информация по файлу:

Код: Выделить всё

Обнаружен libavformat формат файла!
[matroska @ 0x2454650]max_analyze_duration reached
[matroska @ 0x2454650]Estimating duration from bitrate, this may be inaccurate
[lavf] stream 0: video (h264), -vid 0, AVC; 1024x576; 23.98fps; 3000kbps; www.kinokopilka.ru
[lavf] stream 1: audio (aac), -aid 0, -alang rus, AAC LC 48kHz; 250kbps; 6ch; dublyazh
[lavf] stream 2: audio (aac), -aid 1, -alang eng, AAC LC 48kHz; 250kbps; 6ch; original
[lavf] stream 3: subtitle (unknown), -sid 0, -slang rus
[lavf] stream 4: subtitle (unknown), -sid 1, -slang eng
VIDEO:  [H264]  1024x576  0bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)

Пробовал переганять таким вот образом, но в результате остались субтитры, и, не уверен что это максимальное качество для данного размера (3.2 Gb)

Код: Выделить всё

mencoder file.mkv -oac mp3lame -lameopts vbr=3 -ovc xvid -xvidencopts fixed_quant=4 -of avi -o output.avi

Нужна одна дорожка дубляжа, и без субтитров :) Если кто может, подскажите опции (ffmpeg либо mencoder).
Спасибо сказали:
Аватара пользователя
Nekosargot
Сообщения: 159

Re: h264(AVC) to DivX

Сообщение Nekosargot »

Ka40k писал(а):
21.11.2010 18:17
Здравствуйте. Есть файл mkv размером 3.8 Gb. И есть хардварый плеер, который не понимает mkv, но понимает mpeg4,wmv и divx. Может кто-то помочь перекодировать без особой потери качества (тот же размер устроит)?
Вот информация по файлу:

Код: Выделить всё

Обнаружен libavformat формат файла!
[matroska @ 0x2454650]max_analyze_duration reached
[matroska @ 0x2454650]Estimating duration from bitrate, this may be inaccurate
[lavf] stream 0: video (h264), -vid 0, AVC; 1024x576; 23.98fps; 3000kbps; www.kinokopilka.ru
[lavf] stream 1: audio (aac), -aid 0, -alang rus, AAC LC 48kHz; 250kbps; 6ch; dublyazh
[lavf] stream 2: audio (aac), -aid 1, -alang eng, AAC LC 48kHz; 250kbps; 6ch; original
[lavf] stream 3: subtitle (unknown), -sid 0, -slang rus
[lavf] stream 4: subtitle (unknown), -sid 1, -slang eng
VIDEO:  [H264]  1024x576  0bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)

Пробовал переганять таким вот образом, но в результате остались субтитры, и, не уверен что это максимальное качество для данного размера (3.2 Gb)

Код: Выделить всё

mencoder file.mkv -oac mp3lame -lameopts vbr=3 -ovc xvid -xvidencopts fixed_quant=4 -of avi -o output.avi

Нужна одна дорожка дубляжа, и без субтитров :) Если кто может, подскажите опции (ffmpeg либо mencoder).



Mencoder:
субтитры выпиливаютс так:

Код: Выделить всё

-vobsubout subtitles.sub

Звуковая дорожка

Код: Выделить всё

-alang rus


Аудио я конвертирую двумя вариантами
-1-

Код: Выделить всё

nice -10 ffmpeg -i /home/video/hd/%filmname%.mkv -alang rus -acodec ac3 -ac 2 -ab 128k /home/video/hd/%filmname%.ac3


-2- Менее кошерный метод, но учитывая незначительное время конвертирования...

Код: Выделить всё

time nice -10 mplayer /home/vanadii/rtorrent/downloads/%filmname%.mkv -alang rus -dumpaudio -dumpfile /home/%filmname%

time nice -10 ffmpeg -i /home/%filmname% -alang rus -acodec ac3 -ac 2 -ab 128k /home/%filmname%.ac3


Сшивать - вам возможно свой метод искать надо... Я делаю так:

Код: Выделить всё

mkvmerge -o /home/video/hd/%filmname%.mkv /home/%filmname%.ac3 /home/video/hd/%filmname%.mkv


ну и еще в догонку, аудио можно жать сразу mencoder'ом, и не в mp3... Если конечно у плеера потом с этим проблем не будет

Код: Выделить всё

-oac lavc -lavcopts:acodec=ac3:abitrate=128

*последнее написано по памяти, может содержать ошибки

ЗЫ если хотите качество до максимума пилить - конвертируйте в три прохода. Можно первый и второй сделать быстрыми, а третий - с максимальными настройками качества. Первый два прохода делайте с опцией

Код: Выделить всё

 -of rawvideo -o /dev/null -nosound
не будет писать видео на жёсткий диск и конвертировать аудио.

Еще одно зы - попробуйте

Код: Выделить всё

-oac copy -alang rus
Возможно таким образом выпилите английскую дорожку и оставите русскую без изменений.
Sempron LE-140 3.8Ghz |2gb ddr2|1TB|Debian stable x86-64 + Ratpoison
Она: Женатые мужчины для меня не существуют, как класс.
Он: Только как объекты. © Bash
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: h264(AVC) to DivX

Сообщение eddy »

Я конвертирую так:

Код: Выделить всё

#!/bin/bash
mencoder $1 -slang none -lavdopts skiploopfilter=all:threads=4 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=3000:autoaspect -ffourcc XVID -oac copy -o $1.avi

Можно, в принципе, и звук жать, но сильно от этого не выиграете.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21258
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: h264(AVC) to DivX

Сообщение Bizdelnick »

Ka40k писал(а):
21.11.2010 18:17
понимает mpeg4

В смысле - MP4? Тогда просто перепаковать можно, без конвертации. Качество то же останется.
mencoder file.mkv -oac copy -ovc copy -o file.mp4
Про субтитры и звуковую дорожку выше сказали.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Ka40k
Сообщения: 101
ОС: Gentoo

Re: h264(AVC) to DivX

Сообщение Ka40k »

В смысле - MP4? Тогда просто перепаковать можно, без конвертации. Качество то же останется.
mencoder file.mkv -oac copy -ovc copy -o file.mp4
Про субтитры и звуковую дорожку выше сказали.

Нет, так уже пробовал, не прокатило.
Я конвертирую так:
Код
#!/bin/bash
mencoder $1 -slang none -lavdopts skiploopfilter=all:threads=4 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=3000:autoaspect -ffourcc XVID -oac copy -o $1.avi

Можно, в принципе, и звук жать, но сильно от этого не выиграете.

Субтитры остались :((

Код: Выделить всё

ЗЫ если хотите качество до максимума пилить - конвертируйте в три прохода. Можно первый и второй сделать быстрыми, а третий - с максимальными настройками качества. Первый два прохода делайте с опцией

Можно поподробнее про 3 прохода? Смысл от первых двух проходов, если видео никуда не пишется? Как вообще организовать эти 3 прохода?:)
Nekosargot, ещё спасибо, субтитров нету, но всё видно что качество стало хуже чем в оригинале при практически том же размере...
А со звуком всё ок, по умолчанию русская дорожка выбирается, её ещё и кодирую mp3lame.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: h264(AVC) to DivX

Сообщение eddy »

Ka40k писал(а):
21.11.2010 22:14
Субтитры остались

-nosub?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Red Gremlin
Сообщения: 512
Статус: самоучка
ОС: Rosa 2016 Fresh

Re: h264(AVC) to DivX

Сообщение Red Gremlin »

качество стало хуже чем в оригинале при практически том же размере...

Это в любом случае будет. Специфика кодирования.
"В мире есть случайность, есть предопределенность и есть то, что ты планируешь совершить."
Спасибо сказали:
Аватара пользователя
Nekosargot
Сообщения: 159

Re: h264(AVC) to DivX

Сообщение Nekosargot »

Ka40k писал(а):
21.11.2010 22:14
Можно поподробнее про 3 прохода? Смысл от первых двух проходов, если видео никуда не пишется? Как вообще организовать эти 3 прохода?:)
Nekosargot, ещё спасибо, субтитров нету, но всё видно что качество стало хуже чем в оригинале при практически том же размере...
А со звуком всё ок, по умолчанию русская дорожка выбирается, её ещё и кодирую mp3lame.


Ну а вообще КО намекнёт вам, что xvid это успешно забываемое прошлое кодека x264...

Про три прохода - могу рабочий пример дать лишь для конвертирования в x264 ибо в xvid не конвертирую. Вообще в

Код: Выделить всё

man mplayer
всё прекрасно описано. Если не ошибаюсь озаглавлено
-xvidencopts
... Заодно найдёте опции, которые дополнительно повысят качество (*пожалуй правильней сказать - сведут к минимуму потери).

Смысл трёх проходов? :) Какбы динамичность картинки на протяжении фильма разная, соответственно требуется разный битрейт для разных "кадров". Так как конвертор не умеет предугадывать это - соответственно составляет "гистограмму битрейта" (надеюсь не ошибся с названием). Таким образом и динамичные кадры не выглядят "такими квадратными-квадратными" и спокойные сцены в порядке. Первые два прохода оттачивают это дело, а третий непосредственно конвертирует. Результат - большее качество при томже размере.


ЗЫ поофтоплю... мне одному кажется, что битрейт выкладываемых в интернете 720р х264 фильмов изрядно избыточен?

Моё для конвертирования 1080р в 720р

Код: Выделить всё

time nice -20 mencoder /home/vanadii/rtorrent/downloads/***.mkv -ovc x264 -nosound -x264encopts bitrate=4500:pass=1:subq=1:frameref=1 -of rawvideo -o /dev/null  -really-quiet -vf scale=1280:528

time nice -20 mencoder /home/vanadii/rtorrent/downloads/***.mkv -ovc x264 -nosound -x264encopts bitrate=4500:pass=3:subq=1:frameref=1 -of rawvideo -o /dev/null -really-quiet -vf scale=1280:528

time nice -20 mencoder /home/vanadii/rtorrent/downloads/***.mkv -o /home/video/hd/***.mkv -ovc x264 -nosound -x264encopts bitrate=4500:subq=7:pass=3:frameref=15:me=umh:partitions=all:bframes=3:weight_b  -noskip -really-quiet -vobsubout subtitles.sub -vf scale=1280:528


Все выставлено на максимум качества в ущерб времени конвертирования. На моём процессоре (*см. подпись) конвертирование занимает 20 - 30 часов.
Sempron LE-140 3.8Ghz |2gb ddr2|1TB|Debian stable x86-64 + Ratpoison
Она: Женатые мужчины для меня не существуют, как класс.
Он: Только как объекты. © Bash
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: h264(AVC) to DivX

Сообщение eddy »

Nekosargot писал(а):
22.11.2010 21:14
Моё для конвертирования 1080р в 720р

Зачем? Чтобы на болванку влезало? Я вообще не вижу смысла ухудшать качество фильма для уменьшения его объема (на диске тихо-мирно лежат фильмы и по 12Гб, и по 24Гб). Разве что для медиаплеера, подключенного к телевизору...
Nekosargot писал(а):
22.11.2010 21:14
На моём процессоре (*см. подпись) конвертирование занимает 20 - 30 часов.

Что-то долго даже для трех проходов. У меня (C4Q, 2Gb RAM) однопроходное кодирование для медиаплеера занимает минут 30-40 для двухчасового фильма.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Nekosargot
Сообщения: 159

Re: h264(AVC) to DivX

Сообщение Nekosargot »

eddy писал(а):
22.11.2010 21:58
Nekosargot писал(а):
22.11.2010 21:14
Моё для конвертирования 1080р в 720р

Зачем? Чтобы на болванку влезало? Я вообще не вижу смысла ухудшать качество фильма для уменьшения его объема (на диске тихо-мирно лежат фильмы и по 12Гб, и по 24Гб). Разве что для медиаплеера, подключенного к телевизору...
Nekosargot писал(а):
22.11.2010 21:14
На моём процессоре (*см. подпись) конвертирование занимает 20 - 30 часов.

Что-то долго даже для трех проходов. У меня (C4Q, 2Gb RAM) однопроходное кодирование для медиаплеера занимает минут 30-40 для двухчасового фильма.


1.Я храню в 720р. Не кодировал - не было бы места давно. Многоканальный звук с кучей языков и куча субтитров - не нужны мне... многоканальную систему банально негде размещать... Да и разницы между интернетными рипами с битрейтом 6000-7000 кбит и моими 4500кбит я не вижу... А если нет разницы, то как гвориться, зачем платить больше? И кстати болванки я не нахожу в качестве надёжного хранилища фильмов, лучше винт.

2. Если я буду конвертировать третий проход с настройками второго, то за 3-5 часиков все три прохода... А так
subq=7:pass=3:frameref=15:me=umh:partitions=all:bframes=3:weight_b
тут всё "утяжеляет" процесс, и выигрывается качество. И еще про разницу SSE4 / SSE4A. Я правильно понимаю, что mencoder'ом используется интеловский sse4 и не используется амд'шный sse4a при конвертировании x264?
Sempron LE-140 3.8Ghz |2gb ddr2|1TB|Debian stable x86-64 + Ratpoison
Она: Женатые мужчины для меня не существуют, как класс.
Он: Только как объекты. © Bash
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: h264(AVC) to DivX

Сообщение eddy »

Nekosargot писал(а):
22.11.2010 22:51
Не кодировал - не было бы места давно.

Вот поэтому у меня два жестких диска по 1.5Тб. Через полгода-год придется еще один покупать...
А 720 мне не нравятся, масштабирование тоже ухудшает качество. Лучше уж родное для монитора 1080.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Rodegast
Сообщения: 337
ОС: Linux

Re: h264(AVC) to DivX

Сообщение Rodegast »

> Аудио я конвертирую двумя вариантами
> Сшивать - вам возможно свой метод искать надо... Я делаю так:

Не стоит конвертировать звук отдельно... Это может рассинхрон вызвать.

Спасибо сказали:
Ka40k
Сообщения: 101
ОС: Gentoo

Re: h264(AVC) to DivX

Сообщение Ka40k »

Итак спасибо всем отвечающим. В итоге получились вот такие команды:

Код: Выделить всё

time nice -20 mencoder $1 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:subq=7:vbitrate=3000:autoaspect -ffourcc XVI -oac mp3lame -lameopts vbr=3 -vobsubout subtitles.sub -o /dev/null
time nice -20 mencoder $1 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:subq=7:vbitrate=3000:autoaspect -ffourcc XVI -oac mp3lame -lameopts vbr=3 -vobsubout subtitles.sub -o $1.avi

Качество явно лучше чем в прошлый раз и сабов нету, но всё же оригинал лучше :)
[offtop]
Понапридумали блин тритыщи форматов и кодеков, и сиди разбирайся в них теперь..
[offtop]
Спасибо сказали: