Дата: Понедельник, 25.01.2010, 16:55 | Сообщение # 1
Сообщений: 8050
Статус: Offline
Инструкция по созданию роликов.
Создание ролика можно разделить на 4 основных этапа: 1)запись демки во время игры 2)просмотр демки и определение интересных интервалов 3)создание видео-файла из необходимых отрезков демки 4)редактирование видео-файла в видеоредакторе, сжатие видео-файла
А для начала нужно включить консоль. Запускаем игру, нажимаем Параметры –> Клавиатура / Мышь, включаем "Консоль Отладки". Теперь по нажатию на кнопку "~" ( "Ё" на русской раскладке ) у вас появляется окошко консоли. 1) Для того чтобы начать запись демки необходимо во время игры ввести в консоли команду record my_demo Чтобы остановить запись введите stop
Но конечно вам не удастся поймать интересный игровой момент если вы во время схватки будите рыться в консоли и вводить команды.. Поэтому мы сделаем так чтобы эти команды выполнялись просто по нажатию на одну кнопку: пишем в консоли bind "F6" "record my_demo" bind "F7" "stop" Теперь кнопка F6 будет начинать запись, а F7 – останавливать. Недостаток в том, что новые демки будут записываться поверх старых. P.SФайлы демок занимают мало места на диске, а запись демки практически не влияет на производительность. Поэтому рекомендую вам при заходе на сервер сразу начинать запись – так вы гарантированно не пропустите тот самый момент. Обратите внимание, что при смене карты запись не останавливается, но при каждой смене сервера запись надо начинать вручную. 2) Вот наконец у вас есть длинная демка содержащая интересный эпизод где-то в середине. Команда demoui Вызовет на экран панель управления просмотром с функциями быстрого перехода, паузы, перемотки, ускоренного/замедленного воспроизведения.
Нажмите Load и выберите файл с нужной демкой. Как только файл загрузится, автоматически начнётся просмотр. Следите за значением Tick. Вам нужно запомнить момент (tick) с которого будет начинаться ваш ролик и момент на котором он закончится. Для примера я буду работать с кусочком начинающимся с tick 6000 и заканчивающимся на tick 8000. [img]http://bbs.nashalife.ru/attachment.php?s=44cb0fbe214827e4880f8307065975c2&postid=822947[/img]
3) Пора создать видео-файл. Особо отмечу, что не будет использоваться программа FRAPS или её аналоги. Во-первых FRAPS существенно влияет на производительность и не каждый компьютер сможет записать видео HD-качества с приличным fps, а во-вторых полнофункциональная версия FRAPS стоит денег. Использование встроенного в движок Source механизма записи видео позволит вам записывать ролики с максимальным качеством картинки, любым разрешением и с тем fps, который вы захотите.
Настроим качество картинки перед началом записи видеофайла. Идём в Параметры –> Видео и выставляем настройки: Формат: Ширина экрана 16:9 Разрешение: 852х480 Режим дисплея: Запускать в окне
Отношение сторон 16:9 – признанный формат для видеопродукции. Да и окошко с видео на YouTube с недавнего времени стало иметь именно такие пропорции. Максимальный размер ролика поддерживаемый онлайн-сервисами для размещения видео 1280х720, но создание ролика в таком разрешении занимает заметно больше времени, да и места он занимает много и обрабатывается на серверах долго. Поэтому рекомендую начать эксперименты с разрешения 852х480, а когда настанет пора явить миру настоящий шедевр – смело выкладывайте 1280x720. Использование оконного режима важно при создании видео. Почему объясню чуть позже. И не забудьте в дополнительных настройках видео поставить детализацию, шейдеры и эффекты на максимум. Видео должно быть красивым
Приступаем к записи видео-файла. Возвращаемся к панельке demoui. Нажимаем Edit, затем New-> PlayCommands
Задаём момент начала записи: Start on: TimeUseTick 6000 Commands: host_framerate 30; startmovie mymovie avi
Задаём момент остановки записи: Start on: TimeUseTick 8000 Commands: endmovie; stopdemo
Что это значит? host_framerate 30 определяет число кадров в секунду в создаваемом ролике. startmovie mymovie avi создаёт avi-файл с именем mymovie. Обратите внимание, что между mymovie и avi стоит пробел т.к. avi – не расширение, а дополнительный параметр. Если его опустить, вместо видео-файла на выходе получится тысяча кадров в виде отдельных картинок. endmovie – остановка записи ролика stopdemo – остановка проигрывания демки
Теперь перемотаем демку на несколько секунд до момента начала записи. Это позволит избежать мелких ошибок вызванных быстрой перемоткой демки. В панельке demoui сделайте переход Goto на tick 5000.
Нажмите Resume и начнётся проигрывание с момента tick 5000. Закройте все открытые внутри игры окошки: demoui, demo editor, консоль, иначе они попадут в видео-файл. Как только воспроизведение дойдет до tick 6000 выскочит окошко выбора уровня сжатия Video Compression
Именно из-за этого окошка мы должны запускать L4D в оконном режиме. В полноэкранном режиме вы его просто не увидите. Следует выбрать режим сжатия Full Frames (Uncompressed) чтобы избежать ошибок. Нажимаем Ok и ждём пока запишется ролик.
4) Теперь в вашей папке C:\Program Files\Steam\steamapps\common\left 4 dead появился видеофайл mymovie.avi размером в несколько гигабайт. Он не будет нормально работать в вашем проигрывателе. Его необходимо перекодировать. Нам потребуются -- программа VirtualDub. Скачайте по ссылке архив с программой размеров в 1.4мб- Скачать
Чтобы установить VirtualDub просто создайте папку на рабочем столе или в любом удобном месте и перенесите туда всё содержимое архива. Установка кодека XviD тоже проста: просто запустите exe-файл. Чтобы установить кодек LAME ACM создайте для него папку в любом удобном месте, перенесите в неё содержимое архива, нажмите правой кнопкой на файл LameACM.inf и выберите «Установить».
Запустите программу VirtualDub.exe и через меню File -> Open Video File откройте файл mymovie.avi С помощью VirtualDub можно склеить вместе несколько видеороликов. Для этого воспользуйтесь опцией File –> Append AVI Segment. Чтобы вырезать, вставить или удалить отрезок из ролика сначала выделите диапазон кнопками ← и →, расположенными под строкой прокрутки, а затем используйте меню Edit.
Выберем алгоритм сжатия видео. Нажмите Video -> Compression, в появившемся окне выберите XviD MPEG-4 Codec и нажмите Configure. Меняя величину Target quantizer, вы определяете качество сжатия. Чем выше число тем сильнее будет сжатие и тем ниже будет качество картинки. Чем ниже значение, тем выше качество и тем больше размер файла. Для быстрых динамичных сцен оптимально задать параметр равный 2. Если резкого движения в ролике нет, то можно ограничиться величиной 5.
Аудио-дорожка в нашем ролике записана в формате wav. Перекодируем её в mp3. Нажмите Audio –> Full Processing Mode, затем Audio –> Compression и выберите кодек Lame MP3 с параметрами 48000Hz, 160kbps
Продвинутый скрипт для записи демок Сохраните файл autoexec.cfg в папку C:\Program Files\Steam\steamapps\common\left 4 dead\left4dead\cfg А если вы уже создали его, то добавьте в него следующий строчки и по нажатию на F6 будет запускаться запись новой демки с именем demo_xx либо останавливаться запись текущей демки.
alias "r.a" "toggleconsole; clear; record _demo_01; alias r.sw r.of; alias r.xyz r.on; alias r.on r.b; echo [RECORDING]; console.echo;"; alias "r.b" "toggleconsole; clear; record _demo_02; alias r.sw r.of; alias r.xyz r.on; alias r.on r.c; echo [RECORDING]; console.echo;"; alias "r.c" "toggleconsole; clear; record _demo_03; alias r.sw r.of; alias r.xyz r.on; alias r.on r.d; echo [RECORDING]; console.echo;"; alias "r.d" "toggleconsole; clear; record _demo_04; alias r.sw r.of; alias r.xyz r.on; alias r.on r.e; echo [RECORDING]; console.echo;"; alias "r.e" "toggleconsole; clear; record _demo_05; alias r.sw r.of; alias r.xyz r.on; alias r.on r.f; echo [RECORDING]; console.echo;"; alias "r.f" "toggleconsole; clear; record _demo_06; alias r.sw r.of; alias r.xyz r.on; alias r.on r.g; echo [RECORDING]; console.echo;"; alias "r.g" "toggleconsole; clear; record _demo_07; alias r.sw r.of; alias r.xyz r.on; alias r.on r.h; echo [RECORDING]; console.echo;"; alias "r.h" "toggleconsole; clear; record _demo_08; alias r.sw r.of; alias r.xyz r.on; alias r.on r.i; echo [RECORDING]; console.echo;"; alias "r.i" "toggleconsole; clear; record _demo_09; alias r.sw r.of; alias r.xyz r.on; alias r.on r.j; echo [RECORDING]; console.echo;"; alias "r.j" "toggleconsole; clear; record _demo_10; alias r.sw r.of; alias r.xyz r.on; alias r.on r.k; echo [RECORDING]; console.echo;"; alias "r.k" "toggleconsole; clear; record _demo_11; alias r.sw r.of; alias r.xyz r.on; alias r.on r.l; echo [RECORDING]; console.echo;"; alias "r.l" "toggleconsole; clear; record _demo_12; alias r.sw r.of; alias r.xyz r.on; alias r.on r.m; echo [RECORDING]; console.echo;"; alias "r.m" "toggleconsole; clear; record _demo_13; alias r.sw r.of; alias r.xyz r.on; alias r.on r.n; echo [RECORDING]; console.echo;"; alias "r.n" "toggleconsole; clear; record _demo_15; alias r.sw r.of; alias r.xyz r.on; alias r.on r.o; echo [RECORDING]; console.echo;"; alias "r.o" "toggleconsole; clear; record _demo_15; alias r.sw r.of; alias r.xyz r.on; alias r.on r.p; echo [RECORDING]; console.echo;"; alias "r.p" "toggleconsole; clear; record _demo_16; alias r.sw r.of; alias r.xyz r.on; alias r.on r.q; echo [RECORDING]; console.echo;"; alias "r.q" "toggleconsole; clear; record _demo_17; alias r.sw r.of; alias r.xyz r.on; alias r.on r.r; echo [RECORDING]; console.echo;"; alias "r.r" "toggleconsole; clear; record _demo_18; alias r.sw r.of; alias r.xyz r.on; alias r.on r.s; echo [RECORDING]; console.echo;"; alias "r.s" "toggleconsole; clear; record _demo_19; alias r.sw r.of; alias r.xyz r.on; alias r.on r.t; echo [RECORDING]; console.echo;"; alias "r.t" "toggleconsole; clear; record _demo_20; alias r.sw r.of; alias r.xyz r.on; alias r.on r.u; echo [RECORDING]; console.echo;"; alias "r.u" "toggleconsole; clear; record _demo_21; alias r.sw r.of; alias r.xyz r.on; alias r.on r.v; echo [RECORDING]; console.echo;"; alias "r.v" "toggleconsole; clear; record _demo_22; alias r.sw r.of; alias r.xyz r.on; alias r.on r.w; echo [RECORDING]; console.echo;"; alias "r.w" "toggleconsole; clear; record _demo_23; alias r.sw r.of; alias r.xyz r.on; alias r.on r.x; echo [RECORDING]; console.echo;"; alias "r.x" "toggleconsole; clear; record _demo_24; alias r.sw r.of; alias r.xyz r.on; alias r.on r.y; echo [RECORDING]; console.echo;"; alias "r.y" "toggleconsole; clear; record _demo_25; alias r.sw r.of; alias r.xyz r.on; alias r.on r.z; echo [RECORDING]; console.echo;"; alias "r.z" "toggleconsole; clear; record _demo_26; alias r.sw r.of; alias r.xyz r.on; alias r.on r.a; echo [RECORDING]; console.echo;"; alias "r.of" "toggleconsole; wait 50; stop; alias r.sw r.on; alias r.xyz r.of; echo [STOP]; wait 150; toggleconsole;"; alias "r.on" "r.a"; alias "r.sw" "r.on"; alias "r.xyz" "r.of"; bind "F6" "r.sw"; //change the bind to whatever key you like here