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

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-моделирования и анимации. Пользовательский интерфейс не интуитивно понятен, но если вы потратите некоторое время на его изучение, вы также получите довольно хороший инструмент для редактирования видео.

Pekuja
источник
3

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

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

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

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

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


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

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

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

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

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

Keyframe
источник
1

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

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

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

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

Пожар
источник
1

Я не использовал его, но вы можете попробовать Такси .

Эндрю Брокерт
источник
Почему-то отказывается «зацепить» мою игру :(
speeder
1

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

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

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

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

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

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

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

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

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

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

coderanger
источник
0

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

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

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

Дэвид Макгроу
источник
На самом деле ... Я даже не пробовал в полноэкранном режиме, все мои тесты были в оконном режиме.
Спидер
0

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

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

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

samboush
источник
0

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

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

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

small_duck
источник
-6

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

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

Wight
источник
че ... ... , ,
Дэвид Макгроу
3
Skype не может волшебным образом отправлять видео без его кодирования, что отнимает время процессора у программы.
1
Это худшая идея, которую я когда-либо видел.
Матиас Ликкегор Лоренцен