Помощь:Запись демонстраций

From Team Fortress Wiki
Jump to: navigation, search

Консольные команды

Команда Описание функций команды
Record <имя файла> Начало записи демонстрации текущего игрового процесса в файл. Демонстрация будет сохранена под именем, заданным Вами, к примеру, если в консоль разработчика ввести команду:“record demonstration”(без кавычек), то файл демонстрации будет сохранён под именем “demonstration” в формате “.dem”, который будет храниться в папке с игрой(..\Steam\SteamApps\common\team fortress 2\tf\).
Stop Остановка записи текущей демонстрации.
Demoui или Demoui2 Открытие небольшого пользовательского интерфейса для записи демонстраций, который выглядит как проигрыватель мультимедиа-файлов, но создающий и проигрывающий демонстрации. В нём есть такие удобные функции, как возможность ускорения, быстрой перемотки и пропуска каких-то частей демонстрации. Также, проигрыватель может быть запущен при помощи комбинации клавиш на клавиатуре:“Shift” + “F2”.
Playdemo <имя файла> Проигрывание записанной ранее демонстрации.
Stopdemo Остановка проигрывания текущей демонстрации.
Listdemo <имя демонстрации> Дача подробной информации о файле демонстрации.
Demo_recordcommands <0/1> Запись команд, введённых в консоль за время записи демонстрации. Если команде присвоено значение “1”, то записываются все команды, введённые в консоль, в файл демонстрации.
Startmovie <имя файла> Начало записи и сохранения кадров и звуковой дорожки демонстрации в папку с игрой(..\Steam\SteamApps\common\team fortress 2\tf\). Кадры сохраняются в формате “.tga”, а звуковая дорожка в формате “.wav”.
Endmovie Конец записи кадров и звуковой дорожки демонстрации.
Demo_debug <0/1> Соответственно, показ/скрытие дополнительной информации отладки демонстрации.
Demo_fastforwardstartspeed <числовое значение> Ускорение воспроизведения демонстрации при удерживании кнопки “FF”.
Demo_fastforwardramptime <количество секунд> Количество секунд, необходимое для достижения полной “FF” скорости.
Demo_fastforwardfinalspeed <числовое значение> Конечная скорость воспроизведения демонстрации при удерживании кнопки “FF”.
Demo_interpolateview <0/1> Соответсвенно, включение/выключение просмотра интерполяции между кадрами демонстрации.
Demo_quitafterplayback <0/1> Если команде присвоено значение “1”, то игра будет закрыта после воспроизведения демонстрации.
Demo_recordcommands <0/1> Запись консольных команд в файлы формата “.dem”.
Demo_pause [seconds] Пауза воспроизведения демонстрации, в секундах, опционально.
Demo_resume Продолжение воспроизведения демонстрации.
Demo_togglepause Пауза/Воспроизведение демонстрации.
Demo_gototick <tick> [relative] [pause] Пропуск кадров демонстрации. Если параметру relative присвоено значение "1", то кадр будет отсчитываться от текущего кадра. Если параметру pause присвоено значение "1", то воспроизведение будет остановлено когда будет достигнут определённый кадр.
Demo_timescale <множитель> Установка скорости воспроизведения демонстрации(“множитель”(скорости) 1.0 — это нормальное воспроизведение).

Основы Записи Демонстраций

Демонстрация, записанная в Team Fortress 2 включает в себя:

  • Игровой процесс от лица игрока, записывающего демонстрацию.
  • Все элементы HUD, включая чат и текстовые сообщения консоли разработчика.
  • Звук, который слышал игрок через голосовой чат.


Есть некоторые ограничения, которые надо отметить при записи демонстрации:

  • Демонстрация нуждается в копии файла карты, проигрываемой в демонстрации, то есть демонстрация не сохраняет копию карты, когда она воспроизводится.
  • Демонстрация записывает только то, что необходимо для воспроизведения звука и видео игрока.
    • Демонстрация не записывает таблицу результатов (по умолчанию кнопка Tab), даже если игрок и смотрел на неё на протяжении записи.
    • Игрок не может видеть персонажа, которым он играл в момент записи демонстрации, в процессе воспроизведения, кроме моментов, когда игрок делает насмешку, умирает(хотя если ввести в консоль разработчика команды:"sv_cheats 1" и "thirdperson", это позволит Вам увидеть персонажа "от третьего лица".
    • Объекты, такие как другие игроки, постройки и выстрелы оружия будут не видны дальше определённого расстояния от текущей позиции игрока, если используется функция Drive в окне Воспроизведения Демонстрации (Demo Playback). Вся карта будет загружена, но действия на большом расстоянии с точки зрения игрока будут не видны(всегда). Спреи будут показаны, если их локальный кэш будет существовать.
  • В демонстрацию не будет записана речь игрока(голосовой чат), записывавшего демонстрацию, но вы будете видеть текстовые сообщения, которые тот вводил в игровой чат. (Для записи голоса игрока параметр “voice_loopback 1”(без кавычек) должен быть введён в строку команд консоли разработчика. Это приведёт к тому, что голос игрока будет записан как звук.)
  • Если сервер меняет карту в процессе записи, игра создаст новый файл демонстрации с таким же именем и добавит порядковый номер, чтобы избежать конфликтов с именами файлов.
  • Файл демонстрации нельзя запустить прямо из операционной системы, то есть с помощью Проводника Windows. Демонстрация должна быть загружена с помощью команды игровой консоли или интерфейса demoui.


Как записывать демонстрации?

Консольная команда для записи демонстрации: record.
Консольная команда для остановки записи демонстрации: stop.

Данные действия создадут короткую демонстрацию на публичном сервере.

  1. Запустите Team Fortress 2.
  2. Убедитесь, что консоль разработчика включена:
    • В главном меню выберите Настройки.
    • На вкладке Клавиатура нажмите Дополнительно....
    • Поставьте галочку напротив Включить консоль разработки (~).
  3. Создайте сервер:
    • В главном меню нажмите на СОЗДАТЬ СЕРВЕР (или кнопка к плюсом).
    • Во вкладке Сервер выберите нужную вам карту, например:“ctf_2fort”.
    • Кликните Начало.
  4. Когда карта загрузится, можно начать запись.
    • Выберите команду и персонажа, например синий Разведчик.
    • После возрождения откройте консоль разработки. Обычно, это клавиша “~”(тильда).
    • В консоли, в линии для написания команд, введите:record demotest. Запись файла будет производиться в файл под названием demotest.dem.
    • Игра начала запись.
      • Закройте консоль.
      • Совершите какие-нибудь действия(прыжки, выстрелы и так далее).
  5. После записи демонстрации нужной длины остановите запись:
    • Откройте консоль.
    • В консоли, в командной строке, введите:stop. Примечание: отключение от сервера во время игры также приведёт к остановке записи
    • Консоль покажет общее время и количество записанных кадров.


Как воспроизводить демонстрации?

Интерфейс окна demoui
Интерфейс окна demoui2

Данные действия приведут к загрузке демонстрации, записанной вами ранее.

  1. В консоли, введите demoui. Это откроет окно Воспроизведения Демонстрации (Demo Playback). Нажатие клавиш Shift+F2 также приведёт к открытию этого окна.
  2. Нажмите Загрузить (Load...) в окне Воспроизведение Демонстрации (Demo Playback). Откроется проводник, который по умолчанию открывает папку игры Team Fortress 2 в папке со Стимом (Steam).
  3. Найдите файл demotest.dem и откройте его.
  4. Начнётся воспроизведение.
    • Все персонажи и записанной демонстрации будут выполнять действия, которые они делали в процессе игры.
    • Обзор у вашего игрока будет изменяться как во время записи. Вы увидите всё с момента ожидания при появлении. Единственный способ убрать его - использовать функцию Drive (см.ниже).
    • Каждый кадр воспроизведения это тик (tick), текущий тик и общее количество тиков демонстрации показано в окне demoui.
    • Стандартные кнопки управления окна Demoui:
      • Pause останавливает запись
      • Stop возвращает игру в главное меню
      • Бегунок Шкалы Времени контролирует изменения во времени, или скорости воспроизведения. 100% это стандартная скорость. 200% проигрывает демонстрацию в два раза быстрее обычного. 50% проигрывает демонстрацию в два раза медленней обычного.
      • Кнопка Drive позволяет наблюдателю использовать мышь и кнопки передвижения для изменения вида камеры. Сначала это может показаться необычным, но вы привыкните.
      • Кнопка Goto переходит к тику, написанному в текстовом окне справа от неё.
    • Также есть консольная команда demoui2, которая открывает окно Воспроизведения Демонстрации (Demo Playback) со шкалой тиков. На ней нет некоторых кнопок, которые есть в окне demoui, например кнопки Drive.

Как создать клип?

Движок Source может генерировать звуковые и видео файлы, основанные на записанной демонстрации. Полученные звук и видео могут быть обработаны через программы для создания видео/клипов. Данные действия приведут к генерации выходных данных, называемых mymovie, которые основаны на демонстрации demotest.dem, созданной ранее. Если вы собираетесь делать видео высокого качества, чтобы загрузить его на Машиниму вам потребуются Ультра-высокие настройки для графического ускорения

Консольная команда: startmovie
  1. В консоли, введите startmovie mymovie. Игра подготовится для сохранения файлов с именем mymovie. Пользователь может использовать и другое имя.
  2. В консоли появится сообщение: "Started recording movie, frames will record after console is cleared..." ("Запись клипа начнётся после очистки консоли"). Теперь игра готова к обработке файла демонстрации.
  3. В консоли введите playdemo demotest. Команда playdemo проигрывает демонстрацию сначала до конца, если вы не вмешаетесь.
    • Игра начнёт обрабатывать файл демонстрации. Она создаст файлы изображений для каждого кадра видео в папку Team Fortress 2 tf\ и звук в формате Wave для звуковой дорожки.
    • Вот что происходит в процессе команды startmovie:
      • Каждый кадр видео сохраняется в формате изображений TarGA (.tga). Игра может "тормозить" при этом. Размер каждого файла изображения зависит от текущего разрешения. При расширение в 1024x768 кадр будет занимать примерно 2,300 килобайт (2.3 мегабайт каждый файл).
      • Вы можете слышать прерывистый звук или не слышать его вообще при этом. Это из-за того, что команда startmovie отделяет звуковую дорожку от файла демонстрации. Вся мощь используется для обработки видео.
    • При достижении конца демонстрации появится консоль.
  4. В консоли, введите endmovie. В консоли будет надпись "Stopped recording movie..." ("Запись клипа остановлена...")
  5. Выйдите из Team Fortress 2 и перейдите в папку (папка установки Steam)\Steam\SteamApps\(имя учётной записи Steam)\team fortress 2\tf.
    • Файл звука Wave сохранён как mymovie.wav.
    • Имена файлов формата TarGA начинаются с "mymovie" и кончаются номером кадра. Номер первого изображения в последовательности будет умножен на 10, например 01000.


Эти файлы могут быть соединены в один клип с использованием программ, таких как VirtualDub, утилита для захвата и обработки видео. Следующие действия строятся на предыдущих примерах данной статьи и соединят файлы mymovie в один клип.

  1. Откройте VirtualDub.
  2. Выберите File > Open > Open video file... (Файл > Открыть > Открыть видео файл...)
  3. Найдите папку Steam\SteamApps\(имя учётной записи Steam)\team fortress2\tf.
  4. Выберите первый файл формата TarGA (.tga) в списке (первый кадр вашего клипа).
    • Обычно его номер 01000 или типа того; выберите файл с наименьшим номером. В этом вам поможет сортировка файлов по имени.
    • Если вы выбрали не первый файл в последовательности, изображения будут загружаться последовательно, начиная с выбранного.
  5. Выберите Video > Compression (Видео > Сжатие). Там можно выбрать кодек. Выберем например XviD MPEG-4 Codec.
    • Объяснение значения выбранного кодека выходит за рамки данной статьи. Пользователю может поэкспериментировать с разными кодеками, чтобы найти тот, который будет отвечать его требованиям.
    • Неправильный выбор кодека (например, если оставить Несжатый RGB) может привести к неоправданно большому размеру файла клипа.
  6. Выберите Audio > WAV Audio... (Звук > Звук WAV...). Выберите файл Wave, имя которого соответствует имени клипа в папке tf\.
  7. После выбора звуковой дорожки WAV, поставьте Audio > Full processing mode (Звук > Режим полной обработки. Это позволит сжать звук.
  8. Выберите Audio > Compression (Звук > Сжатие). Например выберите MPEG-Layer 3.
  9. Выберите File > Save as AVI...(Файл > Сохранить как AVI...). Пользователь может задать имя для файлов клипа. Напишите имя файла и нажмите OK.
  10. VirtualDub начнёт обрабатывать файл клипа.



Или вы можете сделать видео файл из TF2, пользуясь следующим руководством (взято с форумов сообщества TF2, пост Kuiper'а):

Вот как вы можете создать видео, используя максимальные графические настройки с определённым количеством кадров, если на вашем жёстком диске мало места:

Если вы этого ещё не сделали, запишите геймплей, из которого вы хотите создать видео. Для этого введите "record [demoname]" в консоли в процессе игры и введите "stop", для остановки видео. После того, как у вас есть файл демонстрации, выполните следующие шаги:

  1. Запустите TF2, используя настройки, с которыми вы хотите увидеть своё видео. Например расширение экрана. Если вы планируете загружать видео на сайт с потоком низкого качества, я бы посоветовал использовать 640x480, чтобы видео меньше обрабатывалось и загружалось. Если же вы хотите загрузить HD видео на Youtube, используйте 1280x720.
  2. Откройте консоль и введите следующие команды: "sv_cheats 1" и "host_framerate 30" (Вы можете записывать и с высшим количеством кадров в секунду, например 60 КВС(FPS) для последующей обработки, но большинство сайтов, таких как Youtube используют 30 КПС.)
  3. Начните воспроизведение демонстрации, написав в консоли команду "playdemo [demoname]" или используйте окно demo ui, которое открывается командой demoui или нажатием клавиш shift+f2 на клавиатуре
  4. Когда вы найдёте нужный момент, который вы хотите записать введите "startmovie [videofilename] avi"
  5. При этом вы увидите окно со списком кодеков, которые можно выбрать. Я бы рекомендовал использовать кодек XviD. Если в этом списке нету нужных вам кодеков, вы можете их скачать CCCP или K-Lite (выберите первый, или второй, если первый не будет работать).
  6. После того, как вы начали записывать клип, не трогайте игру. Воспроизведение будет прерывистым и звук может зациклится или не воспроизводиться совсем. Не беспокойтесь, это нормально и не отразится на конечном видео. Просто позвольте демонстрации проигрываться до момента, на котором вы хотите закончить запись. Если у вас "слабый" компьютер или вы записываете длинный сегмент видео, это займёт много времени, так что вы сможете заняться чем-нибудь во время обработки видео.
  7. Введите "endmovie" в консоли когда вы закончите запись.
  8. В результате вы получите AVI файл, которого не будет в папке TF. Он будет расположен в вашей папке "team fortress 2" под именем, которое вы задали, например C:/Program Files/Steam/SteamApps/bobsmith/team fortress 2/mymovie.avi
  9. Теперь вы можете импортировать файл AVI в Windows Movie Maker или другую программу, которую вы собираетесь использовать для последующей обработки.

Как поделиться демонстрацией?

.DEM файлы, созданные игрой могут быть получены другими пользователями:

  • У другого пользователя должна быть установлена соответствующая игра (Team Fortress 2).
  • У другого пользователя должна быть карта, использованная при записи. Игра выдаст ошибку, если вы попытаетесь воспроизвести демонстрацию без нужного файла карты.
  • .DEM файлы хорошо сжимаются с помощью программ для архивации, таких как 7zip или WinRAR.

Проблемы

  • Ошибка "Unreliable snapshot error" появляется при повторной загрузке файла демонстрации.
  • Если в ошибке говорится о отсутствующем файле карты, пользователь должен загрузить нужную версию карты, с помощью которой была записана демонстрация, поместить её в папку ...\Steam\steamapps\<имя учётной записи Steam>\team fortress 2\tf\maps и попробовать снова.
  • Существует ошибка в патчах Team Fortress 2, допущенная при обновлении 29 апреля (April 29 Goldrush / Medic update), которое сделало демонстрации, записанные ранее непроигрываемыми (!). Пока не известно решение данной проблемы.
  • Снимки экрана (скриншоты) и записанные кадры будут чёрными при включении поддержки нескольких ядер. Выключение этой опции решит проблему.

Дополнительные ссылки

  • Demo Recording Tools. Эта страница содержит инструкции для создания демонстраций и управления ими в играх на движке Source, таких как Team Fortress 2. Там описаны дополнительные команды, такие как сглаживание (demo smoothing) и настройка команд.
  • Source Record Tutorial: Демонстрационный фильм, размещённый на сайте YouTube, показывающий команды record, startmovie, и основы создание клипов.
  • K-Lite Codec Pack: Набор кодеков для кодирования и декодирования различных форматов клипов.