Пребразование 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, гораздо более удобная в обращении, чем mmp4box. Если Этап 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.zipMP4Box -import myavi.avi mymp4.mp4
Известные проблемыПосле 2го этапа могут быть проблемы со звуком, ошибка этой версии ffmpeg. Решения? (возможно, звук придется обрабатывать по-отдельности...)