задал вопрос получил вразумительный ответ от Planebuster и тут выискиваються два скиловых крендиля которые начинают писать всякую хрень...у дп у меня стволы менялись и я своим глазам верю описывать как где и когда не хочу всё равно не поверите....ну а ковырялся я вот с чем...
запись демок и как перегнать .demo4 в .avi
сновным метериалом для создания мува являются демки, т.е. записи игр, сделанные самой игрой, и ей же воспроизводящиеся. Для удобства демозаписи забиндим команды для начала и окончания записывания демки. Для этого в подкаталоге System каталога с установленной игрой в файле User.ini (если система не открывает его при помощи стандартной программы ”Блокнот”, сделайте это сами) найдите строчки ”Home=” и ”End=” и преобразуйте их следующим образом:
Home=setprogressmessage 0 Demorecn (R=000,G=255,B=000) | setprogresstime 1 | Demorec %d_%m_%t
End=setprogressmessage 0 Demorecff (R=255,G=000,B=000) | setprogresstime 1 | stopdemo
Теперь при нажатии клавиши <Home> во время игры начнётся запись демки в папку Demos, имя файла-демки будет иметь следующий формат:
<(дата)>_<название карты>_<TickCount>.demo4, например
3-7-2006_DM-1on1-Albatross_85358968.demo4
(TickCount – это время в миллисекундах, отсчитываемое от последней перезагрузки; в нашем случае необходимо для создания уникального имени демки).
При отсутствии папки Demos, она будет создана автоматически внутри каталога с установленной игрой.При нажатии <End> запись прекратится. Начало и окончание записи будет сопровождаться появлением соответствующих надписей.
В той же папке, где находится User.ini, открываем файл UT2004.ini и делаем в нём слудующие изменения: в разделе [Engine.DemoRecDriver] после строк ”NetServerMaxTickRate=” и ”LanServerMaxTickRate=” пишем ”180”. Должно получиться следующее:
NetServerMaxTickRate=180
LanServerMaxTickRate=180
В результате проделанного демки будут записываться с частотой 180 кадров в секунду, вместо 30 дефолтных (строго говоря -- это лишь ограничение сверху, так что при недостатке в производительности количество кадров в демке может быть меньше). Это увеличит плавность движений и позволит делать замедление видео, оставляя его более-менее плавным.
Глава вторая :
запись скриншотов.
Для этой цели при просмотре демок используем команду dumpframes. Она записывает скриншоты с той же частотой, с какой записана демка.
Удобно иметь два конфига (файлы User.ini и UT2004.ini), один -- игровой, с биндами для записи демок, второй -- для мувика.
Для записи скриншотов в User.ini биндим к примеру следующее:
Equals=dumpframes start
Minus=dumpframes stop
При этом <=> -- это начало записи скриншотов в папку ScreenShots, а <-> -- окончание.
Настройки графики ”выкручиваем” на полную, разрешение 640x480; гамма, контраст и яркость не влияют на то, какими запишутся скриншоты. Уровень крови -- максимальный; прицел, эффекты от повреждений и другое -- дело вкуса, я же предпочитаю скрыть прицел, сообщения чата, счёт игры, количество жизней, полоску с оружием, оставив лишь эффекты от повреждений.
Примечание: всяческие утверждения по поводу того, что бинды вроде
Equals=fixedfps 30|dumpframes start
Minus=dumpframes stop|fixedfps
позволяют записывать скриншоты с заданной частотой -- неверны, что подтверждают проведённые мной множественные и разнообразные эксперименты с этой командой и параметрами NetServerMaxTickRate и LanServerMaxTickRate. Так что скриншоты всегда записываются с той частотой, с которой записана демка.
Глава третья :
bmp в avi.
Для этих целей прекрасно подходит к примеру VirtualDubMod (или просто VirtualDub). Вставляем в него скриншот с наименьшим номером (имена скриншотов должны быть числами, следующими по порядку, без пропуска номеров), остальные скриншоты программа откроет сама. Далее в Video->Frame Rate… можно поставить желаемое количество fps в видео (на данном этапе это не имеет значения так что рекомендую вообще ничего не менять и оставить 29.97fps -- значение по умолчанию).
Убедитесь, что в Video->Compression… выбрано (Uncompressed RGB). Теперь File->Save As… сохраняем в несжатый avi файл кусочек будущего мува.
Глава четвёртая :
видеомонтаж, звук и сжатие видео.
Итак, к этому моменту всё что хотелось показать в ролике уже имеется в формате avi, но состоит из множества несжатых кусочков внушающего размера, ну и, конечно, уже подобрана музыка.
Сдедующий шаг -- связываем саундтреки в один звуковой файл формата wav (я использую для этой цели SoundForge, разобраться в которой для такой работы самому очень просто). Его длительность должна в точности соответствовать длительности итогового ролика.
Для видеомонтажа, титров и наложения 2D эффектов используем Adobe Premiere Pro, 3D эффекты можно сделать в Adobe After Effects. При этом желательно синхронизировать происходящее в ролике с музыкой.
Вот многодневный и трудоёмкий процесс монтажа уже позади, и итог вы экспортируете Adobe Premiere в опять же несжатый avi файл, со значением fps по умолчанию (29.97). Если есть необходимость, теперь, имея файл, с тем же видеосодержанием что и конечный ролик, можно добавить какие-то звуки в созданный раньше wav файл с музыкой. Для этих целей так же подходит SoundForge, а записать звук из игры можно при помощи программы Total Recorder). Сохраняем звук опять же в формате wav.
Вот вроде всё готово для сжатия и объединения видео и звука в один файл. Не вижу смысла изобретать велосипед самому, так что просто приведу здесь превосходную и очень лаконичную готовую статью по сжатию видео с помощью кодека x264.
Кодек x264, новая ступень в качестве видео
http://www.movienations.com
Любители мувиков наверняка заметили, что все первоклассные мувики, вышедшие за последнее время, будь то Mercurial от Shaolin Productions или Speed Trial от Seven-video используют новый кодек x264 вместо привычного XviD.
В своей статье я хочу рассказать, как можно закодировать мувики с помощью х264. Необходимо отметить, что технология очень требовательна к ресурсам и (особенно – к процессору) и не до конца отлажена, но дает потрясающие результаты. Тем не менее на слабых машинах мувики на х264 могут тормозить даже при правильной установке всех компонентов, поэтому лучше сделать и XviD версию для зрителей со слабыми компьютерами.
Необходимое программное обеспечение:
Для кодирования:
x264 video encoder, AviSynth, FAAC audio encoder, MP4Box
Для проигрывания:
•Ffdshow
•Haali Media/MatroskaSplitter
Итак, начнем кодирование. По умолчанию я буду полагать, что у нас есть 2 файла:
Видео как несжатый AVI. (Хотя лучше использовать lossless codec, например Huffyuv.)
Звук как несжатый WAV.
Пусть для простоты видеофайл называется video.avi, а звуковой – audio.wav
В процессе кодирования мы создадим аудиофайл в формате .m4a, затем закодируем видео с помощью х264 и, наконец, создадим единый .mp4 файл.
Перво-наперво установите все программы и подготовьте к работе утилиты. Скопируйте файлы x264.exe, faac.exe и mp4box.exe в папку с исходными файлами мувика (video.avi и audio.wav)
Кодирование аудио:
Для кодирования аудио используем faac.exe. Откройте командную строку (Пуск-> Выполнить->”cmd”) и перейдите в директорию с исходниками. Теперь, чтобы закодировать звук, введите в командной строке:
FAAC –w –b 128 audio.wav
Убедитесь, что получившийся после кодирования файл имеет формат .m4a (если получится, скажем .mp4 – ничего страшного, просто смените расширение ручками)
Создание скрипта AviSynth:
x264 понимает только скрипты AviSynth, мы не можем импортировать видео напрямую, так что придется этот скрипт создать, что, впрочем, весьма несложно: просто создайте пустой текстовый документ с расширением .avs и запишите в него следующие строки:
AVISource("video.avi")
Crop(0,0,-0,-0)
ConvertToYV12()
AVISource указывает x264 какой файл мы хотим закодировать, ConvertToYV12 переводит видео в цветовое поле YV12. Параметр Crop обрезает указанное число пикселей в кодируемом файле (в таком порядке – слева, сверху, - справа, - снизу), что может пригодится, тк x264 работает только с видеофайлами, разрешение которых без остатка делится на 16 как по вертикали, так и по горизонтали.
Кодирование видео:
Итак, пришло время закодировать видео, для этого мы используем MeGUI, который шел в комплекте с инсталлятором x264. Там есть целая куча настроек, так что поле для экспериментов огромно; я, в свою очередь приведу здесь те настройки, которыми я пользовался, когда кодировал Speed Trial.
Запустите x264 Command line interface encoder (ярлык находится в меню «Пуск» в каталоге с установленным x264). Загрузите созданный AviSynth скрип, откроет окно предпросмотра, закройте его. MeGUI сам создаст видеофайл, можете изменить его имя (хотя нужды в этом нет). Измените File Type с MP4 на RAW, потом нажмите Config для установки настроек x264.
Рекомендуемые настройки (именно они использовались при кодировке Speed Trial):
Вкладка General:
Вкладка Rate Control:
Вкладка Quantization:
Вкладка Zones: оставьте все настройки нетронутыми.
Нажмите OK для сохранения настроек и возвращайтесь в главное окно. Теперь нажмите Queue и откройте закладку Queue, там уже должны стоять 3 пункта кодирования, дожидающихся начала обработки. Нажмите Start, чтобы начать кодирование и можете смело идти гулять – кодирование 10-минутного Speed Trial на моем не самом слабом Athlon 3200+ заняло 5 часов.
Создание MP4:
После кодирования, нам нужно создать из аудио- и видеофайлов единый mp4. Для этого откройте командную строку, перейдите в директорию с закодированными файлами и наберите:
MP4Box -new -add video.264#video -add audio.m4a#audio -fps 25 final.mp4
(Убедитесь, что параметр fps совпадает с частотой кадров вашего видео).
Это позволит создать хорошо сжатый мувик с высоким качеством видео.
Надеюсь что эта статья поможет отечественным мувимейкерам научится использовать все преимущества x264 и новые проекты будут иметь высокое качество картинки и скромный размер.
Примечание редакции:
Вместо того, чтобы использовать командную строчку, можно сделать гараздо проще. Создаем файлик в директории со всеми файлами с разширением *.bat. Открываем его с помощью блокнота, просто челкаете правой кнопкой на файл и далее на "Изменить". Прописываем в нем все, что нам нужно, например, для кодирования звука:
FAAC –w –b 128 audio.wav
Закрываем блокнот и два клика по файлу. Эффект будет такой же. Этот файл является неким скриптом для командной строки.
Глава четвёртая :
полное руководство по SwiftCPU на русском языке.
Для наиболее зрелищного показа игровых сцен удобно использовать SwiftCPU -- это некое дополнение к UT2k4, позволяющее снимать свободной (фрилук) камерой даже в клиентских демках (т.е. записанных игроком, подключённым к серверу; серверные демки -- записаны сервером, и при их просмотре можно переключаться между игроками). Так как помощь по его использованию приводится в игре на английском, я поместил в эту главу свой перевод.
SwiftCPU -- The camera procesing unit -- version 1.0, a freecam for UT2004 Moviemakers
-=РУКОВОДСТВО ПО УСТАНОВКЕ=-
1.поместите Cum.u в вашу папку ...UT2004\System
2.откройте User.ini и убедитесь, что <H>, <I> и клавиши цифровой клавиатуры (<Num...>) свободны (после ”=”, следующего за названиями кнопок, ничего не написано)
3.в User.ini измените все строки "DemoMenuClass=GUI2K4.UT2K4DemoPlayback"
на "DemoMenuClass=Cam.CamDemoPage"
После начала просмотра демки для активизирования SwiftCPU нажмите два раза <Esc> (второй раз
чтобы убрать меню просмотра демки)
<H> - помощь (ещё раз нажать для скрытия)
-=ПОМОЩЬ=-
<I> - показать короткое вступление (см. ниже)
<K> - фрилук в клиентских демах
<Num5> - новый КП (кампоинт – позиция камеры)
<Num4> - удалить последний КП
<Num3> - запуск камеры
<Num+> - перейти к следующему КП
<Num-> - перейти к предыдущему КП
<1> - выделение КП, когда он уже выбран с помощью <Num+>/<Num->
<Z> - сдвинуть выделенный КП в текущее положение фрилук камеры (координаты и направление)
<Num9> - изменить режим отображения КП и пути камеры
<Num1> - уменьшить скорость камеры
ну вот и всё а более мне тут делать нечего...пишите письма(друг другу)!!!!