Skip to content

Commit

Permalink
UE4 and Unity can now capture using WebRTC. (without Godot) (#96)
Browse files Browse the repository at this point in the history
[UnityPlugin]
* add websocket-sharp lib
  * add submodule websocket-sharp
* add bocchi tracker video capture module
  * BocchiTrackerSystem create component video capture module.

[UE5Plugin]
* supported by PixelStreaming of UE5
* RTCMessage added the playerid filed. (because it matches the UnrealEngine structure type.

[Application]
* Move web rtc movie capture processing to CaptureFrameStorage.
  * When the movie frame received, write directly to the movie file
  * Delete old movie files when the maximum number of movie frames is reached
  * IssueAssetCollector is simpler, it only receives movie file path

* ffmpeg path can set in Client.Config
* target platform of client changed from any cpu to x64 because of opencvsharp4 requires x64.
  • Loading branch information
KirisameMarisa authored Mar 8, 2024
1 parent d5f1cae commit fa75827
Show file tree
Hide file tree
Showing 63 changed files with 2,404 additions and 75 deletions.
9 changes: 9 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ jobs:
steps:
- uses: actions/checkout@v3

- name: Checkout submodules
run: git submodule update --init --recursive

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
Expand All @@ -36,6 +39,9 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v3

- name: Checkout submodules
run: git submodule update --init --recursive

- name: Setup .NET on Windows
uses: actions/setup-dotnet@v4
with:
Expand Down Expand Up @@ -63,6 +69,9 @@ jobs:
steps:
- uses: actions/checkout@v3

- name: Checkout submodules
run: git submodule update --init --recursive

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ Plugins/UnrealEngine/BocchiTracker/Intermediate
Plugins/UnrealEngine/ThirdParty/flatbuffers/include
Plugins/UnrealEngine/ThirdParty/flatbuffers/lib
Google.FlatBuffers.*
websocket-sharp.*


### Unity ###
# This .gitignore file should be placed at the root of your Unity project directory
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@
[submodule "ExternalTools/godot-cpp"]
path = ExternalTools/godot-cpp
url = https://github.com/godotengine/godot-cpp
[submodule "ExternalTools/websocket-sharp"]
path = ExternalTools/websocket-sharp
url = https://github.com/sta/websocket-sharp
108 changes: 102 additions & 6 deletions Application/BocchiTracker.WPF.sln
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProcessLinkQuery", "Models\ProcessLinkQuery\ProcessLinkQuery.csproj", "{98D7A38A-C3D8-4047-9172-674317FE78CF}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BocchiTracker.Client", "WPF\BocchiTracker.Client\BocchiTracker.Client.csproj", "{949ED95B-18C1-43B3-984D-9144D967C57B}"
ProjectSection(ProjectDependencies) = postProject
{ADEDB772-6FFB-4198-9107-1AD791899679} = {ADEDB772-6FFB-4198-9107-1AD791899679}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WPF", "WPF", "{12AAC0C3-970D-43F6-BD47-0B662B7157F6}"
EndProject
Expand All @@ -43,82 +46,173 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ServiceClientData", "Models
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BocchiTracker.Client.Share", "WPF\BocchiTracker.Client.Share\BocchiTracker.Client.Share.csproj", "{D214D1D6-7DBA-4F53-B070-9672BA3F7CBA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageProcessorAsync", "Models\ImageProcessorAsync\ImageProcessorAsync.csproj", "{ADB878D3-01EC-4FFD-94D9-4348E1689605}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GameCaptureRTC", "Models\GameCaptureRTC\GameCaptureRTC.csproj", "{ADEDB772-6FFB-4198-9107-1AD791899679}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BocchiTracker.WebRTCTest", "Tests\BocchiTracker.WebRTCTest\BocchiTracker.WebRTCTest.csproj", "{B3675F7D-DF3F-4F0E-A9E0-9575381BC964}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ExternalTools", "ExternalTools", "{75B25179-1B35-461D-80AA-80EF52E7E101}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "websocket-sharp", "..\ExternalTools\websocket-sharp\websocket-sharp\websocket-sharp.csproj", "{0D0785D7-4A07-4FA0-919F-FD3AB6AED2F4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{54957DCE-658B-4057-82DF-1AE2679DFCEB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{54957DCE-658B-4057-82DF-1AE2679DFCEB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{54957DCE-658B-4057-82DF-1AE2679DFCEB}.Debug|x64.ActiveCfg = Debug|Any CPU
{54957DCE-658B-4057-82DF-1AE2679DFCEB}.Debug|x64.Build.0 = Debug|Any CPU
{54957DCE-658B-4057-82DF-1AE2679DFCEB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{54957DCE-658B-4057-82DF-1AE2679DFCEB}.Release|Any CPU.Build.0 = Release|Any CPU
{54957DCE-658B-4057-82DF-1AE2679DFCEB}.Release|x64.ActiveCfg = Release|Any CPU
{54957DCE-658B-4057-82DF-1AE2679DFCEB}.Release|x64.Build.0 = Release|Any CPU
{1F43C496-63EF-41D8-ADA0-39862677302E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1F43C496-63EF-41D8-ADA0-39862677302E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1F43C496-63EF-41D8-ADA0-39862677302E}.Debug|x64.ActiveCfg = Debug|Any CPU
{1F43C496-63EF-41D8-ADA0-39862677302E}.Debug|x64.Build.0 = Debug|Any CPU
{1F43C496-63EF-41D8-ADA0-39862677302E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1F43C496-63EF-41D8-ADA0-39862677302E}.Release|Any CPU.Build.0 = Release|Any CPU
{1F43C496-63EF-41D8-ADA0-39862677302E}.Release|x64.ActiveCfg = Release|Any CPU
{1F43C496-63EF-41D8-ADA0-39862677302E}.Release|x64.Build.0 = Release|Any CPU
{ECE3A759-0580-47DC-8FD9-17F3A987DA67}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ECE3A759-0580-47DC-8FD9-17F3A987DA67}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ECE3A759-0580-47DC-8FD9-17F3A987DA67}.Debug|x64.ActiveCfg = Debug|Any CPU
{ECE3A759-0580-47DC-8FD9-17F3A987DA67}.Debug|x64.Build.0 = Debug|Any CPU
{ECE3A759-0580-47DC-8FD9-17F3A987DA67}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ECE3A759-0580-47DC-8FD9-17F3A987DA67}.Release|Any CPU.Build.0 = Release|Any CPU
{ECE3A759-0580-47DC-8FD9-17F3A987DA67}.Release|x64.ActiveCfg = Release|Any CPU
{ECE3A759-0580-47DC-8FD9-17F3A987DA67}.Release|x64.Build.0 = Release|Any CPU
{6E5DBE53-A122-4CF3-8881-3223C2918F2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6E5DBE53-A122-4CF3-8881-3223C2918F2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6E5DBE53-A122-4CF3-8881-3223C2918F2A}.Debug|x64.ActiveCfg = Debug|Any CPU
{6E5DBE53-A122-4CF3-8881-3223C2918F2A}.Debug|x64.Build.0 = Debug|Any CPU
{6E5DBE53-A122-4CF3-8881-3223C2918F2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6E5DBE53-A122-4CF3-8881-3223C2918F2A}.Release|Any CPU.Build.0 = Release|Any CPU
{6E5DBE53-A122-4CF3-8881-3223C2918F2A}.Release|x64.ActiveCfg = Release|Any CPU
{6E5DBE53-A122-4CF3-8881-3223C2918F2A}.Release|x64.Build.0 = Release|Any CPU
{7F470DCB-EC9D-44A5-9E66-FAD44223951E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7F470DCB-EC9D-44A5-9E66-FAD44223951E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7F470DCB-EC9D-44A5-9E66-FAD44223951E}.Debug|x64.ActiveCfg = Debug|Any CPU
{7F470DCB-EC9D-44A5-9E66-FAD44223951E}.Debug|x64.Build.0 = Debug|Any CPU
{7F470DCB-EC9D-44A5-9E66-FAD44223951E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7F470DCB-EC9D-44A5-9E66-FAD44223951E}.Release|Any CPU.Build.0 = Release|Any CPU
{7F470DCB-EC9D-44A5-9E66-FAD44223951E}.Release|x64.ActiveCfg = Release|Any CPU
{7F470DCB-EC9D-44A5-9E66-FAD44223951E}.Release|x64.Build.0 = Release|Any CPU
{CA925BF6-4D4A-450E-98FC-F54B06662E54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CA925BF6-4D4A-450E-98FC-F54B06662E54}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CA925BF6-4D4A-450E-98FC-F54B06662E54}.Debug|x64.ActiveCfg = Debug|Any CPU
{CA925BF6-4D4A-450E-98FC-F54B06662E54}.Debug|x64.Build.0 = Debug|Any CPU
{CA925BF6-4D4A-450E-98FC-F54B06662E54}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CA925BF6-4D4A-450E-98FC-F54B06662E54}.Release|Any CPU.Build.0 = Release|Any CPU
{CA925BF6-4D4A-450E-98FC-F54B06662E54}.Release|x64.ActiveCfg = Release|Any CPU
{CA925BF6-4D4A-450E-98FC-F54B06662E54}.Release|x64.Build.0 = Release|Any CPU
{FE19C801-2DB0-4166-9516-9F0C40A206AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FE19C801-2DB0-4166-9516-9F0C40A206AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FE19C801-2DB0-4166-9516-9F0C40A206AF}.Debug|x64.ActiveCfg = Debug|Any CPU
{FE19C801-2DB0-4166-9516-9F0C40A206AF}.Debug|x64.Build.0 = Debug|Any CPU
{FE19C801-2DB0-4166-9516-9F0C40A206AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FE19C801-2DB0-4166-9516-9F0C40A206AF}.Release|Any CPU.Build.0 = Release|Any CPU
{FE19C801-2DB0-4166-9516-9F0C40A206AF}.Release|x64.ActiveCfg = Release|Any CPU
{FE19C801-2DB0-4166-9516-9F0C40A206AF}.Release|x64.Build.0 = Release|Any CPU
{B9CF3E8D-4599-40C6-9750-73783203AD2B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B9CF3E8D-4599-40C6-9750-73783203AD2B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B9CF3E8D-4599-40C6-9750-73783203AD2B}.Debug|x64.ActiveCfg = Debug|Any CPU
{B9CF3E8D-4599-40C6-9750-73783203AD2B}.Debug|x64.Build.0 = Debug|Any CPU
{B9CF3E8D-4599-40C6-9750-73783203AD2B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9CF3E8D-4599-40C6-9750-73783203AD2B}.Release|Any CPU.Build.0 = Release|Any CPU
{B9CF3E8D-4599-40C6-9750-73783203AD2B}.Release|x64.ActiveCfg = Release|Any CPU
{B9CF3E8D-4599-40C6-9750-73783203AD2B}.Release|x64.Build.0 = Release|Any CPU
{1C806CC4-1BC0-4AD9-90A5-B7E9BBB462DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1C806CC4-1BC0-4AD9-90A5-B7E9BBB462DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1C806CC4-1BC0-4AD9-90A5-B7E9BBB462DD}.Debug|x64.ActiveCfg = Debug|Any CPU
{1C806CC4-1BC0-4AD9-90A5-B7E9BBB462DD}.Debug|x64.Build.0 = Debug|Any CPU
{1C806CC4-1BC0-4AD9-90A5-B7E9BBB462DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1C806CC4-1BC0-4AD9-90A5-B7E9BBB462DD}.Release|Any CPU.Build.0 = Release|Any CPU
{1C806CC4-1BC0-4AD9-90A5-B7E9BBB462DD}.Release|x64.ActiveCfg = Release|Any CPU
{1C806CC4-1BC0-4AD9-90A5-B7E9BBB462DD}.Release|x64.Build.0 = Release|Any CPU
{98D7A38A-C3D8-4047-9172-674317FE78CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{98D7A38A-C3D8-4047-9172-674317FE78CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{98D7A38A-C3D8-4047-9172-674317FE78CF}.Debug|x64.ActiveCfg = Debug|Any CPU
{98D7A38A-C3D8-4047-9172-674317FE78CF}.Debug|x64.Build.0 = Debug|Any CPU
{98D7A38A-C3D8-4047-9172-674317FE78CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{98D7A38A-C3D8-4047-9172-674317FE78CF}.Release|Any CPU.Build.0 = Release|Any CPU
{98D7A38A-C3D8-4047-9172-674317FE78CF}.Release|x64.ActiveCfg = Release|Any CPU
{98D7A38A-C3D8-4047-9172-674317FE78CF}.Release|x64.Build.0 = Release|Any CPU
{949ED95B-18C1-43B3-984D-9144D967C57B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{949ED95B-18C1-43B3-984D-9144D967C57B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{949ED95B-18C1-43B3-984D-9144D967C57B}.Debug|x64.ActiveCfg = Debug|Any CPU
{949ED95B-18C1-43B3-984D-9144D967C57B}.Debug|x64.Build.0 = Debug|Any CPU
{949ED95B-18C1-43B3-984D-9144D967C57B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{949ED95B-18C1-43B3-984D-9144D967C57B}.Release|Any CPU.Build.0 = Release|Any CPU
{949ED95B-18C1-43B3-984D-9144D967C57B}.Release|x64.ActiveCfg = Release|Any CPU
{949ED95B-18C1-43B3-984D-9144D967C57B}.Release|x64.Build.0 = Release|Any CPU
{30DFA2A5-1CCB-4AF2-B49C-78D3774260E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{30DFA2A5-1CCB-4AF2-B49C-78D3774260E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{30DFA2A5-1CCB-4AF2-B49C-78D3774260E2}.Debug|x64.ActiveCfg = Debug|Any CPU
{30DFA2A5-1CCB-4AF2-B49C-78D3774260E2}.Debug|x64.Build.0 = Debug|Any CPU
{30DFA2A5-1CCB-4AF2-B49C-78D3774260E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{30DFA2A5-1CCB-4AF2-B49C-78D3774260E2}.Release|Any CPU.Build.0 = Release|Any CPU
{30DFA2A5-1CCB-4AF2-B49C-78D3774260E2}.Release|x64.ActiveCfg = Release|Any CPU
{30DFA2A5-1CCB-4AF2-B49C-78D3774260E2}.Release|x64.Build.0 = Release|Any CPU
{ABF54AFD-B968-4600-A0E1-5364021E78D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ABF54AFD-B968-4600-A0E1-5364021E78D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ABF54AFD-B968-4600-A0E1-5364021E78D4}.Debug|x64.ActiveCfg = Debug|Any CPU
{ABF54AFD-B968-4600-A0E1-5364021E78D4}.Debug|x64.Build.0 = Debug|Any CPU
{ABF54AFD-B968-4600-A0E1-5364021E78D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ABF54AFD-B968-4600-A0E1-5364021E78D4}.Release|Any CPU.Build.0 = Release|Any CPU
{ABF54AFD-B968-4600-A0E1-5364021E78D4}.Release|x64.ActiveCfg = Release|Any CPU
{ABF54AFD-B968-4600-A0E1-5364021E78D4}.Release|x64.Build.0 = Release|Any CPU
{E703C033-82F7-4294-B0CE-ACF9703FE0B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E703C033-82F7-4294-B0CE-ACF9703FE0B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E703C033-82F7-4294-B0CE-ACF9703FE0B6}.Debug|x64.ActiveCfg = Debug|Any CPU
{E703C033-82F7-4294-B0CE-ACF9703FE0B6}.Debug|x64.Build.0 = Debug|Any CPU
{E703C033-82F7-4294-B0CE-ACF9703FE0B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E703C033-82F7-4294-B0CE-ACF9703FE0B6}.Release|Any CPU.Build.0 = Release|Any CPU
{E703C033-82F7-4294-B0CE-ACF9703FE0B6}.Release|x64.ActiveCfg = Release|Any CPU
{E703C033-82F7-4294-B0CE-ACF9703FE0B6}.Release|x64.Build.0 = Release|Any CPU
{84D6A2DD-327D-4CF4-AC94-8DF9A910E7A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{84D6A2DD-327D-4CF4-AC94-8DF9A910E7A9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{84D6A2DD-327D-4CF4-AC94-8DF9A910E7A9}.Debug|x64.ActiveCfg = Debug|Any CPU
{84D6A2DD-327D-4CF4-AC94-8DF9A910E7A9}.Debug|x64.Build.0 = Debug|Any CPU
{84D6A2DD-327D-4CF4-AC94-8DF9A910E7A9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{84D6A2DD-327D-4CF4-AC94-8DF9A910E7A9}.Release|Any CPU.Build.0 = Release|Any CPU
{84D6A2DD-327D-4CF4-AC94-8DF9A910E7A9}.Release|x64.ActiveCfg = Release|Any CPU
{84D6A2DD-327D-4CF4-AC94-8DF9A910E7A9}.Release|x64.Build.0 = Release|Any CPU
{D214D1D6-7DBA-4F53-B070-9672BA3F7CBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D214D1D6-7DBA-4F53-B070-9672BA3F7CBA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D214D1D6-7DBA-4F53-B070-9672BA3F7CBA}.Debug|x64.ActiveCfg = Debug|Any CPU
{D214D1D6-7DBA-4F53-B070-9672BA3F7CBA}.Debug|x64.Build.0 = Debug|Any CPU
{D214D1D6-7DBA-4F53-B070-9672BA3F7CBA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D214D1D6-7DBA-4F53-B070-9672BA3F7CBA}.Release|Any CPU.Build.0 = Release|Any CPU
{ADB878D3-01EC-4FFD-94D9-4348E1689605}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ADB878D3-01EC-4FFD-94D9-4348E1689605}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ADB878D3-01EC-4FFD-94D9-4348E1689605}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ADB878D3-01EC-4FFD-94D9-4348E1689605}.Release|Any CPU.Build.0 = Release|Any CPU
{D214D1D6-7DBA-4F53-B070-9672BA3F7CBA}.Release|x64.ActiveCfg = Release|Any CPU
{D214D1D6-7DBA-4F53-B070-9672BA3F7CBA}.Release|x64.Build.0 = Release|Any CPU
{ADEDB772-6FFB-4198-9107-1AD791899679}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ADEDB772-6FFB-4198-9107-1AD791899679}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ADEDB772-6FFB-4198-9107-1AD791899679}.Debug|x64.ActiveCfg = Debug|Any CPU
{ADEDB772-6FFB-4198-9107-1AD791899679}.Debug|x64.Build.0 = Debug|Any CPU
{ADEDB772-6FFB-4198-9107-1AD791899679}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ADEDB772-6FFB-4198-9107-1AD791899679}.Release|Any CPU.Build.0 = Release|Any CPU
{ADEDB772-6FFB-4198-9107-1AD791899679}.Release|x64.ActiveCfg = Release|Any CPU
{ADEDB772-6FFB-4198-9107-1AD791899679}.Release|x64.Build.0 = Release|Any CPU
{B3675F7D-DF3F-4F0E-A9E0-9575381BC964}.Debug|Any CPU.ActiveCfg = Debug|x64
{B3675F7D-DF3F-4F0E-A9E0-9575381BC964}.Debug|Any CPU.Build.0 = Debug|x64
{B3675F7D-DF3F-4F0E-A9E0-9575381BC964}.Debug|x64.ActiveCfg = Debug|x64
{B3675F7D-DF3F-4F0E-A9E0-9575381BC964}.Debug|x64.Build.0 = Debug|x64
{B3675F7D-DF3F-4F0E-A9E0-9575381BC964}.Release|Any CPU.ActiveCfg = Release|x64
{B3675F7D-DF3F-4F0E-A9E0-9575381BC964}.Release|x64.ActiveCfg = Release|x64
{B3675F7D-DF3F-4F0E-A9E0-9575381BC964}.Release|x64.Build.0 = Release|x64
{0D0785D7-4A07-4FA0-919F-FD3AB6AED2F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0D0785D7-4A07-4FA0-919F-FD3AB6AED2F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0D0785D7-4A07-4FA0-919F-FD3AB6AED2F4}.Debug|x64.ActiveCfg = Debug|Any CPU
{0D0785D7-4A07-4FA0-919F-FD3AB6AED2F4}.Debug|x64.Build.0 = Debug|Any CPU
{0D0785D7-4A07-4FA0-919F-FD3AB6AED2F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0D0785D7-4A07-4FA0-919F-FD3AB6AED2F4}.Release|Any CPU.Build.0 = Release|Any CPU
{0D0785D7-4A07-4FA0-919F-FD3AB6AED2F4}.Release|x64.ActiveCfg = Release|Any CPU
{0D0785D7-4A07-4FA0-919F-FD3AB6AED2F4}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -141,7 +235,9 @@ Global
{E703C033-82F7-4294-B0CE-ACF9703FE0B6} = {677ECDC0-9125-4E30-8B8C-E0CC5F98DFF5}
{84D6A2DD-327D-4CF4-AC94-8DF9A910E7A9} = {677ECDC0-9125-4E30-8B8C-E0CC5F98DFF5}
{D214D1D6-7DBA-4F53-B070-9672BA3F7CBA} = {12AAC0C3-970D-43F6-BD47-0B662B7157F6}
{ADB878D3-01EC-4FFD-94D9-4348E1689605} = {677ECDC0-9125-4E30-8B8C-E0CC5F98DFF5}
{ADEDB772-6FFB-4198-9107-1AD791899679} = {677ECDC0-9125-4E30-8B8C-E0CC5F98DFF5}
{B3675F7D-DF3F-4F0E-A9E0-9575381BC964} = {E876F453-952B-4D58-AA0E-1D95DFF58FB5}
{0D0785D7-4A07-4FA0-919F-FD3AB6AED2F4} = {75B25179-1B35-461D-80AA-80EF52E7E101}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F04B3FFB-34D2-4BBE-85BA-F28DEE1BCAB6}
Expand Down
1 change: 1 addition & 0 deletions Application/Models/Config/Config.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

<ItemGroup>
<PackageReference Include="Prism.Core" Version="8.1.97" />
<PackageReference Include="SIPSorceryMedia.Abstractions" Version="1.2.1" />
<PackageReference Include="System.IO.Abstractions" Version="19.2.29" />
<PackageReference Include="YamlDotNet" Version="13.1.1" />
</ItemGroup>
Expand Down
10 changes: 4 additions & 6 deletions Application/Models/Config/Configs/ProjectConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using BocchiTracker.Config.Parts;
using BocchiTracker.ServiceClientData;

namespace BocchiTracker.Config.Configs
Expand Down Expand Up @@ -42,14 +43,11 @@ public class ServiceConfig
public List<ValueMapping> DefaultValue { get; set;} = new List<ValueMapping>();
}

public class ExternalToolsPath
{
public string? ProcDumpPath { get; set; }
}

public class ProjectConfig
{
public int Port { get; set; } = 8888;
public int Port { get; set; } = 8888;

public int WebSocketPort { get; set; } = 8822;

public List<string> TicketTypes { get; set; } = new List<string> { "Bug", "Task", "Question" };

Expand Down
5 changes: 4 additions & 1 deletion Application/Models/Config/Configs/UserConfig.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using BocchiTracker.ServiceClientData;
using BocchiTracker.Config.Parts;
using BocchiTracker.ServiceClientData;
using System;
using System.Collections.Generic;
using System.Linq;
Expand All @@ -9,6 +10,8 @@ namespace BocchiTracker.Config.Configs
{
public class UserConfig
{
public CaptureSetting CaptureSetting { get; set; } = new CaptureSetting();

public string? ProjectConfigFilename { get; set; }

public bool IsOpenWebBrowser { get; set; }
Expand Down
16 changes: 16 additions & 0 deletions Application/Models/Config/GameCaptureType.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BocchiTracker.Config
{
public enum GameCaptureType
{
OBSStudio,
WebRTC,

NotUse,
}
}
21 changes: 21 additions & 0 deletions Application/Models/Config/Parts/CaptureSetting.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BocchiTracker.Config.Parts
{
public class CaptureSetting
{
public GameCaptureType GameCaptureType { get; set; } = GameCaptureType.NotUse;

public SIPSorceryMedia.Abstractions.VideoCodecsEnum VideoCodecs { get; set; } = SIPSorceryMedia.Abstractions.VideoCodecsEnum.VP8;

public bool IncludeAudio = false;

public int RecordingFrameRate { get; set; } = 30;

public int RecordingMintes { get; set; } = 3;
}
}
15 changes: 15 additions & 0 deletions Application/Models/Config/Parts/ExternalToolsPath.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BocchiTracker.Config.Parts
{
public class ExternalToolsPath
{
public string? ProcDumpPath { get; set; }

public string? FFmpegPath { get; set; }
}
}
Loading

0 comments on commit fa75827

Please sign in to comment.