| Эмуляция > Эмуляторы консолей 1-4 поколений |
| Покадровое сохранение скриншотов |
| (1/1) |
| 2nd Channel:
Есть ли во Fceux или в каком-либо ином эмуляторе NES возможность покадрово и автоматически сохранять скриншоты? Желателен эмулятор, в котором можно отключать фоны и спрайты |
| Ogr:
Пишешь видео с чего угодно, потом получившиеся видео сохраняешь по кадрам, вроде в virtual dab была такая функция. Чтобы не шакалилась, пишешь с максимальным битрейтом. |
| 2nd Channel:
Не хочу возиться с такими костылями. Как альтернатива, во FceuX можно понизить скорость до 1% и скринить. Но так долго и не совсем удобно (приходится постоянно жать кнопку скриншота, чтобы не пропустить очередной кадр). В ZSnes, вроде была функция остановки эмуляции и перехода на следующий кадр на кнопку. Если нет автоматического сохранения, то хотя бы такой функционал устроил |
| Ogr:
--- Цитата: 2nd Channel от 13 Декабрь 2024, 02:04:09 ---Но так долго и не совсем удобно (приходится постоянно жать кнопку скриншота, чтобы не пропустить очередной кадр). --- Конец цитаты --- Можно сделать автоматическое нажатие при помощи программ для макросов. |
| 2nd Channel:
--- Цитата: Ogr от 13 Декабрь 2024, 03:23:10 ---Можно сделать автоматическое нажатие при помощи программ для макросов. --- Конец цитаты --- Как ещё один вариант, да. Но лучше было бы, конечно, что-то более подходящее. Спасибо за советы |
| Sharpnull:
UPD: Я не заметил, что в Mesen можно сохранять в PNG сразу через Lua :) Вторая версия скрипта в SaveScreenshotsMesen_v2.lua.7z. Mesen + Lua-скрипт Создать в папке с ромом папку с именем рома с _s на конце, например, C:\test rom.nes создать папку C:\test rom.nes_s, там будут скриншоты. Запустить игру в Mesen (который новый), открыть Debug > Script Window, открыть скрипт SaveScreenshotsMesen_v2.lua, начнётся сразу сохранение кадров, если эмуляция не на паузе, можно включать и выключать Lua-скрипт. В Mesen можно отключать фон и спрайты. Для FCEUX можно написать похожий скрипт. UPD2: Для консолей, которые не поддерживает Mesen, можно сделать Lua-скрипт для BizHawk, там есть void client.screenshot([string path = nil]), string event.onframeend(nluafunc luaf, [string name = nil]), string gameinfo.getromname(), про полный путь до рома не знаю. Mesen + Lua-скрипт + Python-скрипт Создать в папке с ромом папку с именем рома с _s на конце, например, C:\test rom.nes создать папку C:\test rom.nes_s, там будут скриншоты. Запустить игру в Mesen (который новый), открыть Debug > Script Window, открыть скрипт SaveScreenshotsMesen.lua, начнётся сразу сохранение кадров, если эмуляция не на паузе, можно включать и выключать Lua-скрипт. Скриншоты сохраняются байтами RGB (24 бита), для преобразования в PNG я написал скрипт на Python 3 + Pillow (он же PIL, установка и обновление через командную строку от админа pip install -U pillow), в rgb_to_png.py передать один аргумент на .bin скриншот, для преобразования всех скриншотов положить rgb_to_png.py в папку со скриншотами и запустить без аргументов. rgb_to_png.py предполагает, что скриншот 256x240, в Mesen я выбирал без обрезки кадра, с обрезкой и для других эмулируемых консолях разрешение измените в rgb_to_png.py, сейчас задано как (256, 240). В Mesen можно отключать фон и спрайты. |
| 2nd Channel:
--- Цитата: Sharpnull от 13 Декабрь 2024, 06:13:18 ---UPD: Я не заметил, что в Mesen можно сохранять в PNG сразу через Lua :) Вторая версия скрипта в SaveScreenshotsMesen_v2.lua.7z. Mesen + Lua-скрипт Создать в папке с ромом папку с именем рома с _s на конце, например, C:\test rom.nes создать папку C:\test rom.nes_s, там будут скриншоты. Запустить игру в Mesen (который новый), открыть Debug > Script Window, открыть скрипт SaveScreenshotsMesen_v2.lua, начнётся сразу сохранение кадров, если эмуляция не на паузе, можно включать и выключать Lua-скрипт. В Mesen можно отключать фон и спрайты. Для FCEUX можно написать похожий скрипт. UPD2: Для консолей, которые не поддерживает Mesen, можно сделать Lua-скрипт для BizHawk, там есть void client.screenshot([string path = nil]), string event.onframeend(nluafunc luaf, [string name = nil]), string gameinfo.getromname(), про полный путь до рома не знаю. Mesen + Lua-скрипт + Python-скрипт Создать в папке с ромом папку с именем рома с _s на конце, например, C:\test rom.nes создать папку C:\test rom.nes_s, там будут скриншоты. Запустить игру в Mesen (который новый), открыть Debug > Script Window, открыть скрипт SaveScreenshotsMesen.lua, начнётся сразу сохранение кадров, если эмуляция не на паузе, можно включать и выключать Lua-скрипт. Скриншоты сохраняются байтами RGB (24 бита), для преобразования в PNG я написал скрипт на Python 3 + Pillow (он же PIL, установка и обновление через командную строку от админа pip install -U pillow), в rgb_to_png.py передать один аргумент на .bin скриншот, для преобразования всех скриншотов положить rgb_to_png.py в папку со скриншотами и запустить без аргументов. rgb_to_png.py предполагает, что скриншот 256x240, в Mesen я выбирал без обрезки кадра, с обрезкой и для других эмулируемых консолях разрешение измените в rgb_to_png.py, сейчас задано как (256, 240). В Mesen можно отключать фон и спрайты. --- Конец цитаты --- Благодарю. Разобрался (проверил только 2-ой вариант, первый для меня сложнее). Только понадобилось здесь галочку поставить. Всё работает |
| Sharpnull:
--- Цитата: 2nd Channel от 13 Декабрь 2024, 08:29:26 ---проверил только 2-ой вариант, первый для меня сложнее --- Конец цитаты --- 1-ю версию не нужно использовать, делает тоже самое, но лишние действия, оставил для информации. Забыл, что ставил Allow acces to I/O and OS functions. Имя скриншота на основе номера кадра, поэтому при перемотки назад или повторном прохождении будет перезапись. Номер кадра можно отобразить через настройку Preferences > Advanced > Show frame counter. |
| Навигация |
| Главная страница сообщений |