Soenneker.Blazor.Videojs
4.0.124
Prefix Reserved
dotnet add package Soenneker.Blazor.Videojs --version 4.0.124
NuGet\Install-Package Soenneker.Blazor.Videojs -Version 4.0.124
<PackageReference Include="Soenneker.Blazor.Videojs" Version="4.0.124" />
<PackageVersion Include="Soenneker.Blazor.Videojs" Version="4.0.124" />
<PackageReference Include="Soenneker.Blazor.Videojs" />
paket add Soenneker.Blazor.Videojs --version 4.0.124
#r "nuget: Soenneker.Blazor.Videojs, 4.0.124"
#:package Soenneker.Blazor.Videojs@4.0.124
#addin nuget:?package=Soenneker.Blazor.Videojs&version=4.0.124
#tool nuget:?package=Soenneker.Blazor.Videojs&version=4.0.124
Soenneker.Blazor.Videojs
A Blazor interop library for Video.js
This library wraps Video.js with a strongly-typed Blazor component and configuration model. It auto-loads Video.js assets (CDN or local) and exposes common player events as EventCallbacks.
The options closely mirror the Video.js options surface. Refer to the Video.js options guide for configuration details.
Installation
dotnet add package Soenneker.Blazor.Videojs
Register services
public void ConfigureServices(IServiceCollection services)
{
services.AddVideoJsInteropAsScoped();
}
Usage
@using Soenneker.Blazor.Videojs
@using Soenneker.Blazor.Videojs.Configuration
@using Soenneker.Blazor.Videojs.Dtos
<VideoJs Configuration="@_config" OnPlay="HandlePlay" />
@code {
private readonly VideoJsConfiguration _config = new()
{
Controls = true,
Autoplay = "muted",
Muted = true,
Fluid = true,
Responsive = true,
AspectRatio = "16:9",
Poster = "https://vjs.zencdn.net/v/oceans.png",
PlaybackRates = [0.5, 1, 1.5, 2],
ControlBar = new VideoJsControlBarOptions
{
SkipButtons = new VideoJsSkipButtonsOptions { Backward = 10, Forward = 10 }
},
Sources =
[
new VideoJsSource { Src = "https://vjs.zencdn.net/v/oceans.mp4", Type = "video/mp4" },
new VideoJsSource { Src = "https://vjs.zencdn.net/v/oceans.webm", Type = "video/webm" }
]
};
private void HandlePlay()
{
// Your event logic here
}
}
Sources
You can provide sources through the configuration object (shown above) or via the component parameter:
<VideoJs Configuration="@_config" Sources="@_sources" />
Sources overrides Configuration.Sources when provided.
CDN vs local assets
The interop will load Video.js from the CDN by default. To use the packaged static files instead, set:
var config = new VideoJsConfiguration
{
UseCdn = false
};
Events
The component exposes common Video.js events as EventCallbacks, including OnReady, OnPlay, OnPause, OnEnded, OnTimeUpdate, OnLoadedMetadata, OnSeeking, OnSeeked, OnWaiting, OnPlaying, OnRateChange, and more.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Soenneker.Asyncs.Initializers (>= 4.0.49)
- Soenneker.Blazor.Extensions.EventCallback (>= 4.0.448)
- Soenneker.Blazor.Utils.ResourceLoader (>= 4.0.1659)
- Soenneker.Lepton.Suite (>= 4.0.9)
- Soenneker.Utils.Json (>= 4.0.2530)
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 |
|---|---|---|
| 4.0.124 | 32 | 5/1/2026 |
| 4.0.123 | 103 | 4/25/2026 |
| 4.0.122 | 92 | 4/24/2026 |
| 4.0.121 | 87 | 4/24/2026 |
| 4.0.120 | 96 | 4/24/2026 |
| 4.0.119 | 84 | 4/24/2026 |
| 4.0.118 | 91 | 4/23/2026 |
| 4.0.117 | 101 | 4/23/2026 |
| 4.0.115 | 104 | 4/15/2026 |
| 4.0.113 | 91 | 4/15/2026 |
| 4.0.112 | 93 | 4/15/2026 |
| 4.0.111 | 91 | 4/14/2026 |
| 4.0.109 | 93 | 4/14/2026 |
| 4.0.108 | 91 | 4/14/2026 |
| 4.0.107 | 95 | 4/13/2026 |
| 4.0.106 | 91 | 4/13/2026 |
| 4.0.105 | 93 | 4/13/2026 |
| 4.0.104 | 99 | 4/10/2026 |
| 4.0.103 | 86 | 4/8/2026 |
| 4.0.101 | 85 | 4/8/2026 |
-> lepton