ObsStrawket 0.4.0-alpha
This is a prerelease version of ObsStrawket.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package ObsStrawket --version 0.4.0-alpha
NuGet\Install-Package ObsStrawket -Version 0.4.0-alpha
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ObsStrawket" Version="0.4.0-alpha" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ObsStrawket --version 0.4.0-alpha
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ObsStrawket, 0.4.0-alpha"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ObsStrawket as a Cake Addin #addin nuget:?package=ObsStrawket&version=0.4.0-alpha&prerelease // Install ObsStrawket as a Cake Tool #tool nuget:?package=ObsStrawket&version=0.4.0-alpha&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
ObsStrawket
Personal .NET implementation of obs-websocket protocol v5.
Can I use this in production?
No. I verified few events and requests. And I can change interfaces later.
But I won't stop you from using this if this works for you.
Difference to obs-websocket-dotnet
ObsStrawket | obs-websocket-dotnet | |
---|---|---|
Dependencies | System.Net.WebSockets<br>MessagePack<br>Nerdbank.Streams | WebSocket.Client<br>Newtonsoft.Json |
Method type | Asynchronous | Synchronous |
Example
var client = new ObsClientSocket();
await client.ConnectAsync(new Uri("ws://localhost:4455"), "ahrEYXzXKytCIlpI");
var version = await client.GetVersionAsync();
Assert.Contains("bmp", version.SupportedImageFormats);
// Listen specific event.
client.RecordStateChanged += (changed) => {
switch (changed.OutputState) {
case OutputState.Unknown:
case OutputState.Starting:
case OutputState.Started:
case OutputState.Stopping:
case OutputState.Stopped:
case OutputState.Paused:
case OutputState.Resumed:
break;
}
};
// Listen all events and filter.
client.Event += (ev) => {
switch (ev) {
case RecordStateChanged changed:
break;
}
};
await client.StartRecordAsync();
await client.CloseAsync();
To do
- Complete the support list
- Batch request
Support list
Checkmark means it has test.
Events
- CurrentPreviewSceneChanged
- CurrentProfileChanged
- CurrentProfileChanging
- CurrentProgramSceneChanged
- CurrentSceneCollectionChanged
- CurrentSceneCollectionChanging
- CurrentSceneTransitionChanged
- CurrentSceneTransitionDurationChanged
- ExitStarted
- InputActiveStateChanged
- InputAudioBalanceChanged
- InputAudioMonitorTypeChanged
- InputAudioSyncOffsetChanged
- InputAudioTracksChanged
- InputCreated
- InputMuteStateChanged
- InputNameChanged
- InputRemoved
- InputShowStateChanged
- InputVolumeChanged
- InputVolumeMeters
- MediaInputActionTriggered
- MediaInputPlaybackEnded
- MediaInputPlaybackStarted
- ProfileListChanged
- RecordStateChanged
- ReplayBufferSaved
- ReplayBufferStateChanged
- SceneCollectionListChanged
- SceneCreated
- SceneItemCreated
- SceneItemEnableStateChanged
- SceneItemListReindexed
- SceneItemLockStateChanged
- SceneItemRemoved
- SceneItemSelected
- SceneItemTransformChanged
- SceneListChanged
- SceneNameChanged
- SceneRemoved
- SceneTransitionEnded
- SceneTransitionStarted
- SceneTransitionVideoEnded
- SourceFilterCreated
- SourceFilterEnableStateChanged
- SourceFilterListReindexed
- SourceFilterNameChanged
- SourceFilterRemoved
- StreamStateChanged
- StudioModeStateChanged
- VendorEvent
- VirtualcamStateChanged
Requests
- BroadcastCustomEvent
- CallVendorRequest
- CreateInput
- CreateProfile
- CreateScene
- CreateSceneCollection
- CreateSceneItem
- CreateSourceFilter
- DuplicateSceneItem
- GetCurrentPreviewScene
- GetCurrentProgramScene
- GetCurrentSceneTransition
- GetCurrentSceneTransitionCursor
- GetGroupList
- GetGroupSceneItemList
- GetHotkeyList
- GetInputAudioBalance
- GetInputAudioMonitorType
- GetInputAudioSyncOffset
- GetInputAudioTracks
- GetInputDefaultSettings
- GetInputKindList
- GetInputList
- GetInputMute
- GetInputPropertiesListPropertyItems
- GetInputSettings
- GetInputVolume
- GetLastReplayBufferReplay
- GetMediaInputStatus
- GetMonitorList
- GetOutputList
- GetOutputSettings
- GetOutputStatus
- GetPersistentData
- GetProfileList
- GetProfileParameter
- GetRecordDirectory
- GetRecordStatus
- GetReplayBufferStatus
- GetSceneCollectionList
- GetSceneItemBlendMode
- GetSceneItemEnabled
- GetSceneItemId
- GetSceneItemIndex
- GetSceneItemList
- GetSceneItemLocked
- GetSceneItemTransform
- GetSceneList
- GetSceneSceneTransitionOverride
- GetSceneTransitionList
- GetSourceActive
- GetSourceFilter
- GetSourceFilterDefaultSettings
- GetSourceFilterList
- GetSourceScreenshot
- GetSpecialInputs
- GetStats
- GetStreamServiceSettings
- GetStreamStatus
- GetStudioModeEnabled
- GetTransitionKindList
- GetVersion
- GetVideoSettings
- GetVirtualCamStatus
- OffsetMediaInputCursor
- OpenInputFiltersDialog
- OpenInputInteractDialog
- OpenInputPropertiesDialog
- OpenSourceProjector
- OpenVideoMixProjector
- PauseRecord
- PressInputPropertiesButton
- RemoveInput
- RemoveProfile
- RemoveScene
- RemoveSceneItem
- RemoveSourceFilter
- ResumeRecord
- SaveReplayBuffer
- SaveSourceScreenshot
- SendStreamCaption
- SetCurrentPreviewScene
- SetCurrentProfile
- SetCurrentProgramScene
- SetCurrentSceneCollection
- SetCurrentSceneTransition
- SetCurrentSceneTransitionDuration
- SetCurrentSceneTransitionSettings
- SetInputAudioBalance
- SetInputAudioMonitorType
- SetInputAudioSyncOffset
- SetInputAudioTracks
- SetInputMute
- SetInputName
- SetInputSettings
- SetInputVolume
- SetMediaInputCursor
- SetOutputSettings
- SetPersistentData
- SetProfileParameter
- SetSceneItemBlendMode
- SetSceneItemEnabled
- SetSceneItemIndex
- SetSceneItemLocked
- SetSceneItemTransform
- SetSceneName
- SetSceneSceneTransitionOverride
- SetSourceFilterEnabled
- SetSourceFilterIndex
- SetSourceFilterName
- SetSourceFilterSettings
- SetStreamServiceSettings
- SetStudioModeEnabled
- SetTBarPosition
- SetVideoSettings
- Sleep
- StartOutput
- StartRecord
- StartReplayBuffer
- StartStream
- StartVirtualCam
- StopOutput
- StopRecord
- StopReplayBuffer
- StopStream
- StopVirtualCam
- ToggleInputMute
- ToggleOutput
- ToggleRecord
- ToggleRecordPause
- ToggleReplayBuffer
- ToggleStream
- ToggleVirtualCam
- TriggerHotkeyByKeySequence
- TriggerHotkeyByName
- TriggerMediaInputAction
- TriggerStudioModeTransition
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- MessagePack (>= 2.4.35)
- Microsoft.Extensions.Logging.Abstractions (>= 6.0.1)
- Nerdbank.Streams (>= 2.9.91-alpha)
- System.Net.WebSockets (>= 4.3.0)
- System.Threading.Channels (>= 6.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.14.0 | 556 | 9/2/2023 |
0.13.0 | 167 | 8/12/2023 |
0.12.0-beta | 203 | 10/26/2022 |
0.11.0-beta | 194 | 10/18/2022 |
0.10.0-alpha | 197 | 9/28/2022 |
0.9.0-alpha | 214 | 9/25/2022 |
0.8.0-alpha | 197 | 9/24/2022 |
0.7.0-alpha | 216 | 9/23/2022 |
0.6.0-alpha | 217 | 9/18/2022 |
0.5.0-alpha | 235 | 9/18/2022 |
0.4.0-alpha | 218 | 9/17/2022 |
0.3.0-alpha | 184 | 9/12/2022 |
0.2.0-alpha-gee9d970717 | 160 | 9/4/2022 |
0.1.2-alpha-g58afa20753 | 190 | 9/4/2022 |
0.1.2-alpha-g437b875fc2 | 196 | 9/4/2022 |
0.1.1-alpha-g67a6312998 | 207 | 9/3/2022 |
0.1.0-alpha-g22cf513f68 | 202 | 9/3/2022 |