Giter Site home page Giter Site logo

010-record-api's Introduction

中文 | English

Before Reading

Until now(2024.03), if you want to use the recording feature in game, a bunch of requirements are needed:

  1. Nvidia GPU, support NVENC
  2. LDJ-010 bm2dx.dll
  3. Proper ASIO Hardware/Software configuration(I use XONAR AE, but have seen FlexASIO config that claims to work fine)
  4. A screen with touch support, support 1280*720@60Hz, function the same as the one on cab. Whether the screen match requirements: https://github.com/spice2x/spice2x.github.io/wiki/Configuring-touch-screens-as-subscreen
  5. A proper implemented xrpc server(asphyxia for example)

010-record-api

lightning model video upload handler

Installation

use 010-record-api.exe

download executable at release

if you have go installed, you could install via command line

go install github.com/bookqaq/010-record-api@latest

or compile yourself

Config The Tool

  1. open 010-record-api.exe once, a config file (config.toml) will be generated

    image-20240312162953082

  2. edit config.toml, set listen_address and upload_service_address if necessary. If you want to run it locally, then you can skip this step.

    image-20240312170951686

  3. open 010-record-api.exe again, service should start now

    image-20240312163453651

Config Other Necessary Parts

No specfic order is required to finish these configurations.

Install Driver for Graphics Card

this is just a hint

Config Subscreen Touch

Refer https://github.com/spice2x/spice2x.github.io/wiki/Configuring-touch-screens-as-subscreen#step-by-step-instructions

Config spice2x(Ignore this for bemanitools)

  1. Download spice2x-24-02-13 or newer than this, extract to your folder

  2. open spicecfg.exe, change toggle Disable D3D9 Device Hook (in Graphics (common), under options tab) to true

    image-20240312164557472

Config XRPC Server

Asphyxia

Assume game, asphyxia and 010-record-api.exe are running on the same pc, and config file of 010-record-api.exe is not changed

Check whether your plugin supports

open asphyxia, go to "IIDX" under Plugins. If "Movie Upload URL" appears in Plugin Settings, then your plugin support the feature.

image-20240312165724390

If not support, How to edit your plugin

open your iidx@asphyxia folder, change below

find a zip named iidx-asphyxia-v1.4.4_a4.zip, remember to do a backup.

Other server

Ask your server's owner.

Config bm2dx.dll

only LDJ-010 dll that can be found on public

Open http://localhost:4399/patcher/ in your browser, apply changes to your LDJ-010 version of bm2dx.dll

Skip this step if your server region is already Japan

After gamestart

Check "動画" button on subscreen. If it appears, configuration is completed.

Contribution

Just submit your PRs, I'll check and reply.

TODOs

  • Replace gin (would bump go to 1.22)
  • Basic http response process(we lost these abilities after we dont use gin)
  • Better video filename(sort of)
  • Better in-memory movie upload instance manage
  • Fix report as VIRUS on my pc(maybe fixed)
  • Speed up the client upload speed by:
    • patch dll
    • implement direct file copy from RawPlayVideo(wouldn't implement)
  • "password" function in session
  • patch NVENC encoder config (such as bitrate)
  • finish the proxy package?

Won't Fix?

  • Fix a bug where game would lag for seconds after video upload is done (can't reproduce)

010-record-api's People

Contributors

bookqaq avatar

Stargazers

飞扬fox avatar  avatar  avatar Zhaoyang-Wang avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.