Приветствую всех.
Вчера один мой знакомый прислал мне файл, скаченный отсюда, а началось все с того, что он спросил, вот есть AVI-файл, но он не воспроизводится. Я посоветовал ему поставить FFDShow и MPC Home Cinema. Он поставил, и действительно стало играться все. Немного позже пишет: Может, говорит, я чего-то не понимаю, но тут с промоткой что-то не то, кликаешь по бегунку и приходится аж несколько секунд ждать, чтобы воспроизведение началось. Вроде, четырехъядерник и все такое, а тут такие тормоза при промотке. Я попросил его прислать мне файл и ссылку, где он его взял. Оказалось, что здесь. И вот по комментам смотрю, что у кого-то тоже были проблемы при воспроизведении.
Поэтому для всех, у кого есть проблемы с воспроизведением. В раздаче не AVI-файл. Да и глупо было бы думать, что кто-то туда MPEG-формат впихнул. Бывает, конечно, такое, но обычно это все заканчивается тем, что расширение неправильное, и на самом деле это MPEG-PS-контейнер. А тут все гораздо интереснее. В раздаче исполняемый файл. Да-да. Если кто не верит, может просто перетащить его на программу MediaInfo, и увидит фразу:
Код:
MZ (Executable / Intel i386): 237 Мбайт
Далее анализ показал, что это самораспаковывающийся архив Nullsoft Install System. Конкретно версия 2.06. Опять же, кто не верит, открываем файл в любом HEX-редакторе и задаем поиск по вхождению
Nullsoft Install System. Вот именно так, с пробелами. Там оно одно такое будет и рядом версия. Да и даже если просто сменить расширение на .exe, сразу появится значок. В видео-файлах нет своего значка. Теперь ответ, почему некоторые программы-плееры, а также декодеры распознают данный материал и воспроизводят его. Очень просто. Он не сжат и записан в оверлее исполняемого файла, а пропустить самораспаковщик, пропарсив пару сотен килобайт, несложно. Какие-то программы это делают, какие-то нет, поэтому тут и получается, что воспроизводится не во всех программах. Что делать в результате? В принципе, все NSIS-архивы прекрасно открывает свободный архиватор 7-zip. Понятно, что расширение оболочки там ограничено, поэтому открываем менеджер файлов 7-zip, ищем этот файл и по правой кнопке мыши - Открыть внутри. Сразу видим файл $R2 без расширения. Распаковываем, куда нужно, присваиваем любое имя и расширение mpg. После этого все играется, и с промоткой никаких проблем. Попробовал запустить исполняемй файл на виртуальной машине, но он запускается и сразу крашится, видимо, не доработали скрипт. Поэтому действуем вот так. Ну, а кто умеет работать с консолью и знает, что такое FFMpeg, может просто скопировать потоки в другой mpg-файл. Может, кому-то так и проще будет. Собственно, на этом все. По характеристикам кроме контейнера (AVI) у релизера все совершенно точно. MediaInfo выдает битрейт чуть ниже, но это на MPEG у нее бывает. FFMpeg показывает четко 1150 Kbps, BitrateViewer это подтверждает.