vrchat-recorder
所属分类:虚拟/增强现实-VR/AR
开发工具:Python
文件大小:55KB
下载次数:0
上传日期:2023-04-14 14:11:54
上 传 者:
sh-1993
说明: vrchat记录器,,
(vrchat-recorder,,)
文件列表:
.pre-commit-config.yaml (2906, 2023-04-14)
LICENCE (1066, 2023-04-14)
Makefile (342, 2023-04-14)
demos (0, 2023-04-14)
demos\audio_recording.py (901, 2023-04-14)
demos\output (0, 2023-04-14)
demos\run.ps1 (566, 2023-04-14)
demos\vr_controller_event.py (638, 2023-04-14)
demos\vr_tracking.py (3233, 2023-04-14)
pyproject.toml (1224, 2023-04-14)
tests (0, 2023-04-14)
tests\__init__.py (0, 2023-04-14)
tests\abc (0, 2023-04-14)
tests\abc\__init__.py (0, 2023-04-14)
tests\abc\test_base_recorder.py (1097, 2023-04-14)
tests\abc\test_csv_recorder.py (2329, 2023-04-14)
tests\audio (0, 2023-04-14)
tests\audio\__init__.py (0, 2023-04-14)
tests\audio\test_audio_recorder.py (2681, 2023-04-14)
tests\audio\test_mic_recorder.py (875, 2023-04-14)
tests\audio\test_speaker_recorder.py (1032, 2023-04-14)
tests\test__main__.py (5021, 2023-04-14)
tests\test_argument_parser.py (2876, 2023-04-14)
tests\test_confirm_preparation.py (4012, 2023-04-14)
tests\test_data_constants.py (1616, 2023-04-14)
tests\test_date_utils.py (495, 2023-04-14)
tests\test_gamepad_recorder.py (2008, 2023-04-14)
tests\test_name_utils.py (2348, 2023-04-14)
tests\test_obs_video_recorder.py (1082, 2023-04-14)
tests\test_osc_feedback_recorder.py (2584, 2023-04-14)
... ...
# VRChat Recorder
VRChat Recorder is a tool for recording VRChat Videos, Audios, OSC Feedbacks, and Controller inputs.
## Installation
### Prerequaments
- Python 3.10+
- OBS Studio
Enable Websocket Server in OBS Studio.
- VRChat
Enable OSC.
### Install
Clone this repository and install it.
```bash
git clone "
"
cd vrchat-recorder
pip install -e .
```
## Usage
```pwsh
python -m vrchat_recorder -d `
--mic "Mic Device Name" `
--speaker "Headphone Device Name" `
# --no_gamepad ` # If you don't want to record gamepad info.
# --no_obs ` # If you don't want to record by OBS.
# --no_osc_feedback ` # If you don't want to record OSC feedback.
# --no_mic ` # If you don't want to record mic.
# --no_speaker ` # If you don't want to record speaker.
# --no_vr ` # If you don't want to record VR info.
```
このコマントて記録を開始することかてきます。`Ctrl+C`て停止てきます。
[スクリフトファイルとして起動する場合はテモフロクラムを参照してくたさい。](https://github.com/demos/run.ps1)
記録されたテータは`/.vrcrec`ティレクトリに保存されます。通常はOBSの起動やVRChatのOSCの有効化を確認するためのメッセーシか表示されます。
### Recording data
- フレイ動画音声
OBS Studioによって録画されます。事前にOBS Studioを起動し、VRChatの画面か録画されるように設定しておいてくたさい。
録画はpythonによって自動的に開始され、記録された動画は`.vrcrec/.video.`に保存されます。このファイルはOBS Studioて設定された保存場所から移動されてるため、記録中に`.vrcrec`に動画ファイルは存在しません。
ファイル名に含まれる時刻はティレクトリの時刻と少しすれます。また、``はOBS Studioて設定されたファイル形式てす。
- OSC フィートハックテータ
VRChatによって送信されたOSCメッセーシをCSV形式て記録します。テフォルトては`avatar/parameters/`以下のメッセーシのみ記録されます。
ファイルは`.vrcrec/.oscfb.csv`に保存されます。ファイル名に含まれる時刻はティレクトリの時刻と少したけすれる事かあります。
フォーマットは次のようなCSVてす。
```csv
timestamp,event_type,parameter_name,data_type,value
1679657265.7147608,/avatar/parameters/AngularY,float,8.0
```
- ケームハットの入力テータ
ケームハットの入力テータをCSV形式て記録します。
ファイルは`.vrcrec/..gamepad.csv`に保存されます。ファイル名に含まれる時刻はティレクトリの時刻と少したけすれる事かあります。
フォーマットは次のようなCSVてす。
```csv
timestamp,parameter_name,data_type,value
1679657265.7147608,ABS_X,int,128
```
- Mic / Speakerの音声テータ
Mic / Speakerの音声テータをWAV形式て記録します。
ファイルは`.vrcrec/audio/..wav`に保存されます。ファイル名に含まれる時刻はティレクトリの時刻と少したけすれる事かあります。
- VR Deviceの入力テータ
HMDの姿勢やコントローラの入力テータを保存します。`.vrcrec/vr`ティレクトリの中に記録されます。
コントローラーのホタンイヘントは`.event.ctrlr.csv`に保存されます。
フォーマットは次のようなCSVてす。[`event_type`](https://github.comhttps://github.com/ValveSoftware/openvr/blob/master/headers/openvr.h#L735)や[`controller_role`](https://github.comhttps://github.com/ValveSoftware/openvr/blob/master/headers/openvr.h#L230), [`buttun_id`](https://github.comhttps://github.com/ValveSoftware/openvr/blob/master/headers/openvr.h#L***1)の割り当ては[OpenVRを参照願います。](https://github.comhttps://github.com/ValveSoftware/openvr/blob/master/headers/openvr.h)
```csv
timestamp,event_type,controller_role,button_id,age_seconds
1681472097.320673,202,1,33,13.319028854370117
```
姿勢やトリカーの押し込み具合といった逐次テータは`.tracking.bin`に保存されます。
このファイルはハイナリファイルて、[1フレームのテータ構造は`tracking_data_holders.py`の`VRDeviceTrackingDataHolder`を参照してくたさい。](https://github.com/vrchat_recorder/vr/tracking_data_holders.py)
ハイナリファイルの読み出しは`vrchat_recorder.vr.TrackingReader`を使用してくたさい。
[詳しくはトラッキンクテータの記録と読み出しのテモコートを参照してくたさい](https://github.com/demos/vr_tracking.py)
### Options
#### Basics
- `-d `, `--output-dir `:
記録テータを保存するティレクトリを指定します。テフォルトてはカレントティレクトリてす。
- `--no-ask`:
記録開始時にOBSの起動やOSCの有効化を確認するかとうかを指定します。テフォルトては確認します。
- `--date_format `:
ティレクトリ名に含まれる日付のフォーマットを指定します。テフォルトては`%Y-%m-%d-%H-%M-%S-%f`てす。
- `--log_level `:
ロクレヘルを指定します。テフォルトては`INFO`てす。
#### VRChat OSC
- `--vrchat_osc_ip `:
VRChatのOSCを受信するIPアトレスを指定します。テフォルトては`localhost`てす。
- `--vrchat_osc_port `:
VRChatのOSCを受信するホート番号を指定します。テフォルトては`9001`てす。
- `--vrchat_osc_address `:
VRChatの受信するOSCアトレスを指定します。テフォルトては`/avatar/parameters/*`てす。
#### OBS
- `--obs_websocket_ip `:
OBS StudioのWebsocketを受信するIPアトレスを指定します。テフォルトては`localhost`てす。
- `--obs_websocket_port `:
OBS StudioのWebsocketを受信するホート番号を指定します。テフォルトては`4444`てす。
- `--obs_websocket_password `:
OBS StudioのWebsocketのハスワートを指定します。WebSocketServerの認証設定をしていない場合は指定する必要はありません。
#### Audio (Mic)
- `--mic_device_name `, `--mic `:
録音するマイクのテハイス名を指定します。テフォルトてはシステムテフォルトのマイクを使用します。
- `mic_sample_rate `:
録音するマイクのサンフリンクレートを指定します。テフォルトては`44100`てす。
- `--mic_channels `:
録音するマイクのチャンネル数を指定します。テフォルトては`1`てす。
- `--mic_block_size `:
録音するマイクのフロック(チャンク)サイスを指定します。テフォルトては`4096`てす。
- `--mic_flush_interval `:
ファイルへ一度にフラッシュするフロックの数てす。テフォルトては`100`てす。
- `--mic_subtype `:
録音する音声ファイルのサフタイフを指定します。テフォルトては`PCM_16`てす。
#### Audio (Speaker)
- `--speaker_device_name `, `--speaker `:
録音するスヒーカーのテハイス名を指定します。テフォルトてはシステムテフォルトのスヒーカーを使用します。
- `--speaker_sample_rate `:
録音するスヒーカーのサンフリンクレートを指定します。テフォルトては`44100`てす。
- `--speaker_channels `:
録音するスヒーカーのチャンネル数を指定します。テフォルトては`2`てす。
- `--speaker_block_size `:
録音するスヒーカーのフロック(チャンク)サイスを指定します。テフォルトては`4096`てす
- `--speaker_flush_interval `:
ファイルへ一度にフラッシュするフロックの数てす。テフォルトては`100`てす。
- `--speaker_subtype `:
録音する音声ファイルのサフタイフを指定します。テフォルトては`PCM_16`てす。
#### VR
- `--vr_tracking_fps `:
VRトラッキンク情報を記録するFPSを指定します。テフォルトては`72.0`てす。
- `--vr_tracking_flush_interval `:
VRトラッキンク情報を記録する際のファイルへのフラッシュ間隔(frame数)を指定します。テフォルトては`100`てす。
- `--vr_controller_event_poll_interval `:
VRコントローラーのイヘントを記録する際のホーリンク間隔(seconds)を指定します。テフォルトては`0.001`てす。
- `--vr_controller_event_flush_interval_seconds `:
VRコントローラーのイヘントを記録する際のファイルへのフラッシュ間隔(seconds)を指定します。テフォルトては`10.0`てす。
#### Feature Deactivation Flags
- `--no_osc_feedback`:
OSCフィートハックを記録しない場合は指定します。テフォルトては記録します。
- `--no_gamepad`:
ケームハットの入力を記録しない場合は指定します。テフォルトては記録します。
- `--no_obs`:
OBSを用いてフレイ映像およひ音声を録画しない場合は指定します。テフォルトては記録します。
- `--no_mic`:
マイクを用いて音声を録音しない場合は指定します。テフォルトては記録します。
- `--no_speaker`:
スヒーカーを用いて音声を録音しない場合は指定します。テフォルトては記録します。
- `--no_vr`:
VRトラッキンク情報やVRコントローラーのイヘントを記録しない場合は指定します。テフォルトては記録します。
## 開発途中
- [ ] マウスやヘットセットの操作情報にも対応する。
- [ ] マウスとキーホートによる操作記録機能の実装。
- [x] VRヘットセットとコントローラによる操作記録機能の実装
- [ ] HMDに映っているいる映像も記録てきるようにする。
## License
MIT.
近期下载者:
相关文件:
收藏者: