Как я могу записать свою векторную графическую игру, не размывая графику?


15

Многие люди просили трейлер для моей игры, потому что скриншоты не делают это справедливо. Я тестировал PlayClaw, Fraps, CamStudio, VirtualDub и некоторые другие второстепенные инструменты; Ни один из них не принес жизнеспособного результата. Моя игра использует векторную графику и рассчитана на скорость 60 кадров в секунду, поэтому сжатие с потерями обычного видео захвата экрана разрушает графическую привлекательность.

Как я могу записать игровой процесс, не размывая графику и не снижая частоту кадров?


2
фрапс слишком медленный для тебя? убедитесь, что вы установили скорость записи 60 кадров в секунду, а не 30 кадров в секунду.
— Дэвид Янг

Не могли бы вы сделать свой вопрос немного шире? я думаю, что было бы интересно узнать не онлайн о записи самой игры для простого трейлера, а также о создании видеороликов, которые будут отображаться в игре, так называемых Cut Scenes или даже трейлеров с добавлением дополнительных визуальных эффектов, таких как переключение. части видео и т.д ... Предлагая его на ваш вопрос, так как есть любой вопрос, похожий вокруг, я верю ...
— Prix

1
Prix, который был бы слишком другим ... Создание Cut Scenes - это целая другая область работы!
— спидер

3
Я думаю, что вы действительно должны пересмотреть фрапс. Из всех решений, которые я видел, оно имеет наилучшее качество, и нет логотипа для небольших инвестиций. (Вы не сказали «бесплатно» в своем вопросе)
— Джесси Дорси

3
Я стою с моим предыдущим ответом. Если вы можете повторить ввод и силу (или даже повтор) временный шаг, вы можете записывать исходные кадры и делать с ними , как вы , пожалуйста , без каких - либо потерь качества.
— Кадж

Ответы:


22

Сделайте вашу частоту кадров независимой, чтобы вы могли настроить ее на игру с фиксированным временным шагом. Сыграйте в свою игру, запишите входные данные. Воспроизведение с фиксированным временным шагом, записанный ввод и запись каждого кадра в файл - поскольку вы воспроизводите с фиксированным временным шагом, не имеет значения, сколько времени занимает запись кадра. Таким образом, исходные кадры будут распакованы, и вы сможете выбрать качество позже, не жертвуя скоростью или глюками из-за программы захвата. После этого появятся такие вещи, как After Effects - по крайней мере, у вас будет четкий исходный материал.

Отредактировано, чтобы добавить: да, я знаю, делать независимой частоту кадров для воспроизведения с фиксированным временным шагом глупо. Duh. Ну, если это независимо от частоты кадров, то фрапс также может быть меньшей проблемой; o) Игры должны быть независимыми от частоты кадров!


5
Независимость от частоты кадров и детерминированное воспроизведение также полезны для тестирования. У Ноэля Ллописа есть хорошая статья здесь: gamesfromwithin.com/back-to-the-future-part-1 (есть также и вторая часть).
— celion

Итак ... ваша идея состоит в том, чтобы перекодировать весь движок (что я не сделал между прочим), чтобы он поддерживал какой-то способ записи ввода и воспроизведения этого упомянутого ввода идеально? Извините, но это не работает, особенно потому, что, хотя игра детерминирована (единственное случайное - визуальные эффекты), физический движок может колебаться, и он не будет работать должным образом ... Я спрашиваю о маркетинговых вещах, а не о программировании ,
— спидер

Если физический двигатель может колебаться, это не детерминировано. Входная запись (в большинстве движков) включается в одном месте, вряд ли она «перекодирует весь движок»… во всяком случае, я слышу, да. <B> Кодирование видео - это довольно дорогая операция, без потерь, но хорошее сжатие дороже , Если доступ к жесткому диску действительно является проблемой, вы можете рассмотреть возможность установки оперативного диска, если у вас есть запасная память. Что касается вашего комментария о маркетинге, извините, я подумал, что вы искали решение - это также настроило бы вас на будущее (что, если вам нужно высокое разрешение?). Если это выходит за рамки, тогда .. попробуйте оперативную память.
— Кадж

Почему «делать глупой независимую от частоты кадров воспроизведение с фиксированным временным шагом»? Чтобы вывод с фиксированной частотой кадров содержал записанную вами последовательность, он должен быть независимым от частоты кадров при записи.
— Falstro

Не обязательно. Если кадр работает с гарантированной фиксированной частотой кадров (относительно маловероятно, но если), вы можете просто воспроизвести подачу в ключах по мере их поступления и при условии того же временного шага. Кроме того, это звучало глупо: op
— Kaj

8

Эта статья о Pixel Prospector может быть тем, что вам нужно:

Как записывать и редактировать геймплейные видео

В видео используется игра NeonPlat 2, в которой также используется векторная графика.

Статья охватывает все, от захвата до редактирования.


Хорошо, я присуждаю награду за это, это то, что на самом деле было НАСТОЛЬКО правильно ... В любом случае, спасибо Kaj за упоминание дисков RAM (решил проблему с медленным диском), но я не могу присудить ... половину - вознаграждение за каждый ответ.
— спидер

Без проблем. Надеюсь, вам удалось правильно что-то схватить!
— Кадж

2
Архивированная страница находится здесь . Они обновили страницу, которая выглядит как большой список программного обеспечения для
— записи

4

Для записи игрового материала вы можете попробовать CamStudio , которая бесплатна. Я считаю, что он не работает с играми в полноэкранном режиме, поэтому вы захотите запустить свою игру в окне.

Что касается создания реального трейлера, вам понадобится программное обеспечение для редактирования видео. Есть несколько дорогих коммерческих вариантов, но если вы ищете что-то бесплатное, ваш выбор более ограничен. Вы можете попробовать Windows Movie Maker или iMovie, если у вас есть Mac, но лучший бесплатный редактор видео, который я нашел, - это Blender , более широко известный как инструмент для 3D-моделирования и анимации. Пользовательский интерфейс не интуитивно понятен, но если вы потратите некоторое время на его изучение, вы также получите довольно хороший инструмент для редактирования видео.


3

Мой лучший опыт - с Fraps, но я использовал полную версию (это казалось небольшим разовым призом, чтобы заплатить за отличную утилиту), которая не имеет ограничений или логотипа. Вы можете установить частоту кадров заранее, как предложил Дэвид Янг в своем комментарии. Как и многие другие инструменты захвата видео, во время записи Fraps использует дешевое сжатие, которое затем можно преобразовать в более высокий формат сжатия по вашему выбору. Для этого я обычно использую VirtualDub.

У меня не было проблем с запуском Fraps за игрой на полной скорости (50 к / с в моем случае), получая высококачественные снимки.

Ключевой проблемой здесь является то, что для захвата требуется некоторая производительность, и вы всегда должны пытаться сделать это на лучшем доступном компьютере. Более конкретно, инструмент захвата делает существенные и непрерывные записи на диск, поэтому выбор сохранения файла на быстром жестком диске является ключевым. Ноутбуки часто поставляются с жесткими дисками с более медленным доступом, что может сильно повлиять на производительность. Использование меньшего размера кадра во время захвата упрощает работу жесткого диска и может увеличить частоту кадров. Fraps позволяет вам устанавливать фреймы половинного размера.

В случае Fraps качество финального фильма сильно зависит от того, какое сжатие вы используете при преобразовании AVI захвата с кодировкой FPS1 в распространяемый формат. Если вы здесь не учитываете потери, то, конечно, не имеет значения, насколько хорошо работает инструмент захвата.

Я серьезно не думаю, что программы, о которых вы говорите, вообще плохи, но нуждаются в некоторой настройке, прежде чем они будут работать оптимально вместе с вашей конкретной игрой.


Сохранение каждого отдельного кадра в формате PNG, вероятно, не очень хорошая идея, если у вас уже есть проблемы со скоростью. Скорее всего, он потребляет больше ресурсов процессора и диска, так как для этого потребуется хранить каждый кадр со всей его информацией. При кодировании и сохранении фильма многие кодировщики используют ряд ключевых кадров, которые завершены и позволяют последовательным кадрам после них определяться как разность между одним кадром и следующим. Это может привести к значительному уменьшению размера, но не позволяет вынуть один кадр и прочитать его без ключевого кадра.

Мало того, что размер каждого кадра будет больше, если вы попытаетесь вывести их в отдельные файлы, вы также получите дополнительную нагрузку от самого доступа к файлу. Это потому, что вы должны открывать новый дескриптор файла для каждого кадра вместо того, чтобы удерживать и передавать его в один файл, как в случае с фильмом.

Лучше всего по-прежнему записывать фильм без потерь и извлекать из него кадры, ИЛИ снимать конечное количество кадров, например, снимки экрана во время воспроизведения.


Fraps также имеет режим записи без потерь. Конечно, это требует еще большей пропускной способности диска и оперативной памяти. Если вы покупаете полную версию (которую я рекомендую), логотип и ограничение по времени исчезнут.
— BRaffle

Почему я бы извлек кадры? Я хочу все кадры! @Banana Я знаю, что у Fraps есть режим без потерь, этот режим, о котором я упоминал, заставляет Fraps работать медленнее и заставляет геймплей становиться шатким (кажется, что Fraps при медленной скорости, вместо того, чтобы бросать фреймы, как-то замедляет игру)
— speeder

Хорошо, конечно, но я хочу сказать, что вы получаете еще меньшую скорость, если попытаетесь записать каждый кадр в отдельные файлы изображений.
— Staffan E

2

Такие устройства , как это супер дешево, и я уверен , вы можете получить в руки второго компьютера , чтобы запустить его на (не нужно ничего особенного) , так что вы можете захватить вашу игру от вашей игры работает машину (обязательно иметь компьютер с S-Video для этой дешевой версии). Существует также что-то вроде этого для захвата более высокого качества - http://www.blackmagic-design.com/products/intensity/, но требует USB 3 и более дорогой, но вы можете захватывать HDMI и более высокое разрешение. Я действительно не вижу лучшего варианта, чем любой из этих двух.


1

Я использовал Windows Media Encoder пару раз для записи видео моих игр и инструментов - это бесплатно и производит видео хорошего качества.

Хотя, я тоже задавался этим вопросом, потому что запись видео - это только половина процесса (если это так). Другая половина - это редактирование, добавление эффектов и т. Д. Windows Movie Maker вроде работает, но он довольно упрощенный ... и аварийный.


because recording a video is only half the processХороший вопрос, я также удивляюсь, что, как указано в комментарии к первоначальному вопросу ...
— Prix

1

Если вы работаете в Windows, запишите с помощью PlayClaw, если вам нужно видео с игрой, не замедляя работу компьютера. В Linux у вас есть GLC .



1

В основном, проблемы были:

Качество в векторной игре. Количество процессоров взято. Узкое место ввода / вывода.

Какое программное обеспечение использовать для редактирования.

Чтобы решить проблему качества, мне нужен был кодек без потерь или без сжатия. Чем меньше сжатие, тем больше у меня проблем с вводом / выводом, но чем больше процессорного времени я взял, тем больше проблем с процессором (до).

Решением было использование RamDrive для устранения узких мест ввода / вывода, поэтому теперь я остался в основном с тем количеством процессорного времени, которое я хотел взять (т. Е. С наименьшим из возможных). Таким образом, теоретически наилучшим было бы вообще отсутствие сжатия, но вообще никакого сжатия при проблемах с быстрым движением в доступном пространстве ...

Поэтому я исследовал и обнаружил, что самый быстрый кодек без потерь (независимо от того, насколько сильно он сжимается), и это был CamStudio Lossless

В качестве программного обеспечения я использовал VirtualDub (сам CamStudio не может захватить содержимое окна, он захватывает все окно, тратя таким образом пространство).

Теперь редактируем программное обеспечение: ну, никто здесь не дал хорошего awnser, и я не сделаю, но другие списки можно найти в других местах.


3
Я заметил, что вы загрузили свое видео на Youtube . Обратите внимание, что Youtube перекодирует все видео в H.264, так что после всех этих размахов руками вы все равно использовали кодек с потерями.
— BlueRaja - Дэнни Пфлюгофт

0

Возможно, вы захотите попробовать vnc2flv , но он не будет воспроизводить звук сам (вы можете добавить аудиодорожку позже). Не уверен, что ваш процессор будет ненавидеть вас за попытку кодирования FLV в реальном времени вместе с запущенной игрой.


0

Это, вероятно, звучит очевидно, но ... Не работайте в полноэкранном режиме во время записи видео, иначе это «очевидно» будет невероятно медленным, потому что захватывает ваше разрешение экрана. Я предполагаю, что это то, что вы кусаете.

FRAPS позаботится об этом просто отлично. Как и многие другие, но я нашел FRAPS наиболее удобным и простым в использовании.

Я использовал FRAPS для записи и Windows Movie Maker, чтобы собрать несколько карт, которые я сделал в Starcraft II - пример .


На самом деле ... Я даже не пробовал в полноэкранном режиме, все мои тесты были в оконном режиме.
— Спидер

0

Вот что я делал в прошлом, чтобы делать трейлеры только для видео:

  1. Сделайте вашу игру работоспособной с фиксированным временным шагом. Это означает передачу времени между текущим и последним кадром явно, а не вычисление его внутри вашего игрового цикла.
  2. После рендеринга кадра выведите его в формат изображения без потерь, например .tiff, с номером кадра в качестве имени. Это позволяет другому приложению легко кодировать серию изображений в фильм.
  3. Дамп в соответствующий видеокодер (я написал простой, используя DirectShow), чтобы конвертировать в .avi или любой другой формат видео, который вы хотите.

0

лучший способ - сделать вашу игру записываемой самостоятельно. Простой способ - просто сохранить каждый кадр с фиксированной частотой кадров. С SSD это занимает "нет" времени. Сложнее всего сделать свои собственные "фрапс". Если Ты это сделаешь. Вы можете напрямую общаться с вашей игрой.


0

Недавно я сделал трейлер для своей игры. Мне немного помог движок, который позволяет делать скриншоты достаточно быстро, чтобы реально оживить. Что я сделал:

  • Хотя я не фиксировал частоту кадров, съемки делались с фиксированными интервалами, 25 в секунду. Я записал мою игровую сессию, которая генерировала тысячи изображений на диске.
  • Затем я импортировал эти изображения в клип в kdenlive.
  • Добавлены некоторые названия, музыка, логотипы, исчезают и исчезают, чтобы сделать его более приятным

Фактически, захват изображений напрямую означал, что я не мог получить звуки из игры, но получил намного лучшее качество изображений. Добавление музыки более чем восполнено.


-6

Если у вас есть два компьютера, используйте функцию совместного использования экрана Skype. Играйте в игру на одном ПК, а затем используйте другой для захвата видео. Таким образом, вы не окажете влияния на свою игру, и ресурсы для программы захвата видео будут недостаточными.

И наоборот, вы можете купить карту видеозахвата для вашего ПК.


че ... ... , ,
— Дэвид Макгроу

3
Skype не может волшебным образом отправлять видео без его кодирования, что отнимает время процессора у программы.

1
Это худшая идея, которую я когда-либо видел.
— Матиас Ликкегор Лоренцен
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.