mmsvm
Пребразование DivX 3.11 в полноценный MPEG-4 без потерь качества
А также изменение соотношения сторон (тоже без потерь)


Предисловие.

Итак, 2000 год. Стандартизация MPEG-4 еще только шла, выбор форматов видеосжатия был не так велик, а объемы дисков были невелики. А фильмы или просто свои собственные видики (с пьянок, отпусков и т.п.) уже хотелось хорошо сжимать. Видимо, microsoft уже тогда задумала пойти своим путем, создав на основе открытых ISO стандартов свои, недокументированные и несовместимые со стандартом поделки WMV и WMA. Появляется кодек"Microsoft MPEG-4 V2", который, естественно, MPEG-4 не является. Но качество оказывается потрясным для того времени. В эти смутные времена, дабы обойти некоторые ограничения, встроенные в этот кодек, группа хакеров взламывает его, и переименовывает в "DivX ;-) MPEG-4". Естественно, это все еще далеко от Настоящего MPEG-4.

Время идет, появляются DivX4/DivX5,XviD1.0 - уже совместимые с MPEG-4 Video, различные "железные" плееры. Вроде бы все хорошо. Однако почти все существующие в то время программы сохраняли Video и Audio в .AVI контейнере, что автоматически опять приводило к несовместимости с MPEG-4. Для кодирования аудио потока тоже использовались все кодеки, кроме предпочтительного AAC. Хотя MP3 (MPEG-1 layer 3) и ISO стандарт, но уже морально устаревший и относящийся к MPEG-1, а не к MPEG-4. И только в 2004 появились программы вроде NeroRecode, которые по крайней мере в отношении видео, аудио и контейнера следуют стандарту.

А что же делать с фильмами, закодированными DIV3? Закодить заново с оригиналов? Однако вряд ли сохранились слабо пожатые оригиналы самодельных видиков (Ну, DVDяху с фильмом еще можно достать). Если же просто перекодировать DIV3, то это приведет к потерям качества. А этого бы не хотелось. (Во что он превратиться, если при выходе каждого нового формата производить перекодировку, страшно даже представить). А недавно стало возможным преобразование в настоящий MPEG-4 без потерь, или почти без потерь. Вот этот способ.

Этап 1.
Исправление поврежденных при транспортировке (например, на битом CD) видиков.
Позволяет также детектировать повреждения (однако, не все, а при которых повреждаются заголовки фреймов)
DivFix
http://divfix.maxeline.com/

Этап 2.
Преобразование DivX 3.11, M$ MPEG-4 V2, M$ MPEG-4 V3 до совместимого со стандартом видео.
Аудио поток не трогается и переносится в новый файл. [В идеале. На самом деле это не всегда срабатывает]
"msmpeg4v3 to iso mpeg4"

Бинарники:
http://www.hardware-test.de/doom9/ffmpeg-mstomp4.rar
Исходники и авторское описание:
http://sourceforge.net/mailarchive/forum.p...0&forum_id=1506
Обсуждения утилы:
http://forum.doom9.org/showthread.php?thre...20&pagenumber=1

Попытка преобразования с прямым копированием звуковой дорожки:
"ffmpeg -i inputdivx3.avi -vcodec mpeg4 -acodec copy -mstomp4 outputmpeg4.avi"
Только преобразование, аудио игнорируется. Переносить придется вручную:
"ffmpeg -i inputdivx3.avi -vcodec mpeg4 -an -mstomp4 outputmpeg4.avi"

Этап 3.
Если в исходном файле было неправильное соотношение сторон ("растянутое" по горизонтали или вертикали изображение), то имеется возможность БЕЗ ПОТЕРЬ его изменить. Утилита также умеет решать некоторые проблемы с черезстрочной разверткой и "распаковывать" b-фреймы. Последняя технология не использовалась в DIV3, но файлы, созданные DivX5/XviD лучше распаковать, тогда с ними сможет нормально работать прога MP4UI, гораздо более удобная в обращении, чем mp4box. Если Этап 4 вам не нужен, а важна "совместимость" с DivX-сертифицированными проигрывателями, то b-frames лучше запаковать.
ВНИМАНИЕ! MPEG4Modifier написан на .NET, и для его работы необходимо поставить "Microsoft .NET Framework", весящий довольно много. Но эта штука должна лежать на диске с WinXP (SP1,SP2). Если, конечно, ее пираты не поудаляли (А они умудряются до 200MB!! из дистрибутива выкидывать)
Теперь у вас есть обычный DivX/XviD - "совместимый" фильмак.
MPEG4Modifier
http://www.moitah.net

Этап 4.
Упаковка в MP4 контейнер.
После этой процедуры, если вам посчастливилось, и аудио в исходном фильме было зажато в AAC, получится практически идеальный .MP4, совместимый даже с NeroDigital-certified устройствами (а такие, к счастью, уже есть).
Если в исходном файле был аудиотрек в MP3, то с NeroDigital облом. Аудио трек придется перекодить. Или довольствоваться MPEG4+MP3+.mp4, что тоже неплохо (MP3 трек по стандарту _можно_ хранить в .mp4 контейнере, но все-же это хуже AAC). Если аудиотрек был закодирован гадостью вроде Voxware, то без перекодирования не обойтись. Поскольку это устаревший и низкокачественный речевой кодек (M$ его перекупила и на его основе WMA сделала), на него хватит и 60kbps quicktime AAC. (кстати, кто-нибудь знает нормальный способ перекодировки из этого формата хотя бы в Wav?)
MP4UI
http://mp4ui.sourceforge.net/
MP4Box
http://www.rarewares.org/files/mp4/mp4box.zip

MP4Box -import myavi.avi mymp4.mp4

Известные проблемы
После 2го этапа могут быть проблемы со звуком, ошибка этой версии ffmpeg. Решения? (возможно, звук придется обрабатывать по-отдельности...)
tomcat
1. Что-то непонятно: какие проблемы-то с DIV3/MP3-фильмами?
2. До сих пор многие рипперы пользуются DivX 3.11+NanDub и не надо им никаких пятых дивиксов... И что?
RBF
Цитата :
2. До сих пор многие рипперы пользуются DivX 3.11+NanDub и не надо им никаких пятых дивиксов... И что?

Руки им поотрывать, вот что.
gva_vik
Цитата (tomcat в 21.03.2005 · 06:34):
1. Что-то непонятно: какие проблемы-то с DIV3/MP3-фильмами?


Проблемы с проигрыванием таких фильмов на бытовых плеерах - у меня пока такого нет, могу судить только по отзывам - именно с такими фильмами чаще всего возникают проблемы (проигрывание рывками, вообще не проигрывание и т.д. и т.п.).
tomcat
>> Руки им поотрывать, вот что.
Это, конечно, да, но с другой стороны... В этом случае не используются никакие продвинутые возможности DivX/XviD - ни b-frames, ни хитрые матрицы и т.п. - насколько я понимаю, идет просто серьезная оптимизация подбором квантайзеров, и потому этот как раз поток и должен быть наименее критичен к аппаратной реализации декомпресора.
А рывки и т.п. - может просто из-за наличия VBR-mp3 и некорректной его синхронизации - известная болезнь контейнера avi и всяческих глюков/хаков с заголовками такого потока.
mmsvm
Цитата :
потому этот как раз поток и должен быть наименее критичен к аппаратной реализации декомпресора.

DivX 3.11 глючный, зачем бы тогда "DivX AntiFreeze" был нужен, и, раз он есть хакнутый M$ кодек, к нему, вероятно, нет нормальных спецификаций. Или оные получены реверсингом.
mrstitch
Как бы то небыло практически все комерческие студии клепают филмы именно в 3.11
А.Можно смотреть на старом железе
Б.Если технология отточена до идеала, то какой смысл менять её на что-то ещё?
Чел который сварганил второй NunDub хвастался что можно втиснуть фильм 3,5 часа на 700 мб балванку
Что это если не высший пилотаж? Я закодил много фильмов для себя. Сейчас подсел на Анимэ и странная вещь какой ни последний DivX , а при движении слева-на право или сверху вниз изображение подёргивается что приводит меня в ярость.
Guest
товарищи!!!помогите найти кодек Microsoft MPEG layer 3.заранее благодарен!!!
gva_vik
Цитата (Guest в 21.08.2005 · 21:24):
товарищи!!!помогите найти кодек Microsoft MPEG layer 3.заранее благодарен!!!


Именно Microsoft, другие не подходят?
Здесь есть Radium.

А Microsoft наверняка входит в Windows Media Encoder http://www.microsoft.com/windows/windowsme...er/default.aspx.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2005 Invision Power Services, Inc.

RuForum Help