VisioForge

Last updated: 2026年1月

Media Player SDK .NET vs LibVLCSharp

プロフェッショナル .NET ビデオプレーヤー比較

DVDナビゲーション、オーディオエフェクト、仮想カメラ出力、モーション検出を備えたLibVLCSharpの代替をお探しですか?この比較では、.NETビデオプレーヤー開発におけるVisioForge Media Player SDK .NETとLibVLCSharpを評価します — WPF、WinForms、Avalonia、クロスプラットフォーム再生シナリオをカバーしています。DirectShowベースのWindowsプレーヤーが必要な場合でも、GStreamerベースのクロスプラットフォームソリューションが必要な場合でも、このガイドは適切な.NETメディアプレーヤーSDKの選択をサポートします。

エグゼクティブサマリー

側面Media Player SDK .NETLibVLCSharp
アーキテクチャデュアルエンジン(DirectShow + GStreamer)libvlc Cインターロップ経由のモノリシックVLCエンジン
エンジンMediaPlayerCore(Windows)+ MediaPlayerCoreX(クロスプラットフォーム)単一LibVLCコア
価格EUR 250-500/年またはEUR 750-1,500永久無料(LGPL 2.1)
最適な用途プロフェッショナルアプリ、DVD、エフェクト、ブロードキャストシンプルな再生、最も幅広いフォーマットサポート
学習曲線中程度(2つのエンジン、豊富なAPI)簡単(最小限のAPI)

アーキテクチャ詳細分析

Media Player SDK .NET — デュアルエンジン設計

2つの独立したエンジンが単一のSDKに含まれています。MediaPlayerCore(Windows)はDirectShow / Media Foundation / FFMPEGおよびVLCデコーダーを提供し、DVDナビゲーション、プレイリスト、PiP、OSD、仮想カメラ、NDI出力、40以上のオーディオエフェクトを備えています。MediaPlayerCoreX(クロスプラットフォーム)はGStreamerベースのパイプラインを使用し、Windows、macOS、Linux、iOS、Android向けのasync-first APIを提供します。

  • Windows上のDirectShow / Media Foundation / FFMPEGおよびVLCデコーダー
  • DVDナビゲーション、プレイリスト、PiP、OSD、仮想カメラ、NDI出力
  • DirectSoundエフェクトを含む40以上のオーディオエフェクト
  • Source_Mode経由で選択可能な複数の再生エンジン
  • async-first APIを備えたGStreamerベースのクロスプラットフォームパイプライン
  • VR/360ビデオとリアルタイムビデオ/オーディオエフェクト

LibVLCSharp — 単一VLCエンジン

LibVLCSharpはLibVLC(VLCメディアプレーヤーエンジン)をラップし、プラットフォーム間で統一された単一のAPIを提供します。処理能力は限定的ですが再生に特化しており、VLCの実績あるデコーダースタックと最も幅広いフォーマット互換性の恩恵を受けています。

  • LibVLC(VLCメディアプレーヤーエンジン)をラップ
  • すべてのプラットフォームで統一された単一API
  • 限定的な処理能力で再生に特化
  • 実戦で検証済みのVLCデコーダースタック
  • Chromecastとネットワークブラウジングのサポート
  • 大規模なコミュニティと豊富なドキュメント

主要なアーキテクチャの違い

側面Media Player SDKLibVLCSharp
エンジン設計デュアルエンジン:DirectShowベース(Windows)+ GStreamerベース(クロスプラットフォーム)単一モノリシックVLCエンジン
オーディオ処理バンドごとのEQ、コンプレッサー、リバーブ、コーラスを備えた40以上の型付きオーディオエフェクト基本的なEQプリセットのみ
ビデオ処理CPU + GPUエフェクトパイプライン、クロマキー、PiP、OSDオーバーレイ文字列オプション経由の基本的なVLCフィルター
出力機能仮想カメラ、NDI、マルチスクリーンディスプレイChromecast、ネットワークブラウジング(SMB、FTP、UPnP)
検出顔、モーション、AIオブジェクト、バーコード/QR検出が内蔵検出機能なし
APIスタイルIntelliSense対応の強い型付け.NET APIシンプルなAPI — C# 3行で再生

機能ごとの比較

再生

機能Media Player SDKLibVLCSharp
ファイル再生(500+フォーマット)(VLC経由で最も幅広い)
ネットワークストリーミング(RTSP、RTMP、HLS、DASH)
DVDナビゲーション(メニュー、チャプター、タイトル)
Blu-rayメニュー
字幕(SRT、SSA/ASS、WebVTT、VobSub、PGS)
360 / VRビデオ
HDR再生⚠️(トーンマップ付き)
MIDI再生
暗号化メディア
SRT / NDI入力

オーディオ

機能Media Player SDKLibVLCSharp
オーディオエフェクト(40+ EQ、リバーブ、コーラス、3D)⚠️(基本的なEQのみ)
プロフェッショナルVUメーター + FFT
オーディオエンハンサー(正規化、オートゲイン)
オーディオミキシング(外部トラック追加)
チャンネルマッパー

ビデオ処理

機能Media Player SDKLibVLCSharp
リアルタイムビデオエフェクト(CPU + GPU)⚠️(基本的なVLCフィルター)
クロマキー(グリーンスクリーン)
AIビデオアップスケーリング
LUTカラーグレーディング
ピクチャーインピクチャー
OSDオーバーレイシステム(マルチレイヤー)⚠️(基本的なマーキー)
ビデオコンポジション

出力

機能Media Player SDKLibVLCSharp
仮想カメラ出力
NDI出力
マルチスクリーンディスプレイ

検出と分析

機能Media Player SDKLibVLCSharp
顔検出
モーション検出
AIオブジェクト検出
バーコード / QRスキャン

再生コントロール

機能Media Player SDKLibVLCSharp
可変速度
フレームステッピング(前進 + 後退)⚠️(前進のみ)
逆再生
フレーム精度シーク⚠️(キーフレームベース)
プレイリスト管理(内蔵)⚠️(手動)
イベント付きループ
セグメント再生⚠️

フレームキャプチャ

機能Media Player SDKLibVLCSharp
ファイルへのスナップショット(JPEG、PNG、BMP)
Bitmap / SKBitmap / byte[]へのスナップショット⚠️

ネットワーク

機能Media Player SDKLibVLCSharp
Chromecast
ネットワークブラウジング(SMB、FTP、UPnP)
SSDP / UPnPディスカバリー

プラットフォームサポート

オペレーティングシステム互換性

プラットフォームMedia Player SDKLibVLCSharp
Windows 7-11
macOS 10.15+(LibVLCは10.7+をサポート)
Linux
Android 7.0+(LibVLCは2.3+をサポート)
iOS 13+(LibVLCは8.4+をサポート)
tvOS

UIフレームワーク互換性

フレームワークMedia Player SDKLibVLCSharp
WinForms
WPF
WinUI 3⚠️(コミュニティ)
.NET MAUI
Avalonia
Uno Platform⚠️(限定的)
Xamarin
Console

価格比較

Media Player SDK .NET 価格

Standard(年間)EUR 250/年

1開発者 — ファイル/ストリーム再生、字幕、基本エフェクト

Professional(年間)EUR 350/年

1開発者 — + ネットワークストリーミング(RTSP、RTMP、HLS、NDI)、モーション検出、HWアクセラレーション

Premium(年間)EUR 500/年

1開発者 — + VR/360ビデオ

Standard(永久)EUR 750

無制限の開発者、永久ライセンス、チーム全体

Professional(永久)EUR 1,000

無制限の開発者、永久ライセンス、チーム全体

Premium(永久)EUR 1,500

無制限の開発者、永久ライセンス、チーム全体

All licenses include:

  • ロイヤリティフリー配布
  • ランタイム料金なし
  • すべてのソースコード例
  • 非商用利用は無料(ライセンスキーが必要)
  • 優先チケットサポート

LibVLCSharp コスト

LibVLCSharp無料

LGPL 2.1ライセンス — 動的リンクが必要

商用サポートVideoLANに問い合わせ

VideoLANからの有料コンサルティングが利用可能

LGPLコンプライアンスの考慮事項

LibVLCSharpとlibvlcはLGPL 2.1でライセンスされています。これは、LGPLの条件に準拠する限り、商用プロプライエタリソフトウェアで使用できることを意味します。主な要件は次のとおりです:

  • libvlcに動的リンクする必要があります(静的リンク不可)
  • ユーザーがLibVLC DLLを修正版に置き換えることを許可する必要があります
  • LGPLライセンスのコピーを含め、libvlcの使用を記載する必要があります
  • VLCコードを変更してクローズドソースにすることはできません
  • 一部の企業法務チームは、LGPLコンプライアンスリスクを回避するために商用ライセンスを要求します

LGPLはGPLよりも寛容ですが、コンプライアンスにはリンクと配布の要件に注意が必要です。Media Player SDKはLGPL動的リンク制約なしでロイヤリティフリー配布を提供します。

コード例

例1:シンプルなファイル再生

Media Player SDK (MediaPlayerCoreX)

C#
var player = new MediaPlayerCoreX(videoView);
var source = await UniversalSourceSettingsV2.CreateAsync(
    new Uri("video.mp4"));
await player.OpenAsync(source);
await player.PlayAsync();

// Position and duration
var duration = await player.DurationAsync();
await player.Position_SetAsync(
    TimeSpan.FromSeconds(30));

LibVLCSharp

C#
Core.Initialize();
var libVLC = new LibVLC();
var mediaPlayer = new MediaPlayer(libVLC);
mediaPlayer.Play(
    new Media(libVLC, "video.mp4",
        FromType.FromPath));

// Position and duration
var duration = mediaPlayer.Length; // ms
mediaPlayer.Time = 30000; // ms

例2:ナビゲーション付きDVD

Media Player SDK (MediaPlayerCore)

C#
var player = new MediaPlayerCore(videoView);
player.Source_Mode = MediaPlayerSourceMode.DVD_DS;
player.Playlist_Clear();
player.Playlist_Add(@"D:\");

await player.PlayAsync();

// Save bookmark for later resume
int savedTitle = player.DVD_Title_GetCurrent();
int savedChapter = player.DVD_Chapter_GetCurrent();
var savedPosition = await player.Position_GetAsync();
Console.WriteLine(
    $"Bookmarked: Title {savedTitle}, " +
    $"Chapter {savedChapter}, " +
    $"Position {savedPosition}");

// Resume from saved bookmark
await player.DVD_Title_PlayAsync(savedTitle);
await player.DVD_Chapter_PlayAsync(savedChapter);
await player.Position_SetAsync(savedPosition);

// Navigate using title/chapter jumps
await player.DVD_Menu_ShowAsync(DVDMenu.Title);
int totalChapters = player.DVD_Chapter_GetCount();
await player.DVD_Chapter_PlayAsync(
    Math.Min(5, totalChapters));

LibVLCSharp

C#
Core.Initialize();
var libVLC = new LibVLC();
var mediaPlayer = new MediaPlayer(libVLC);
mediaPlayer.Play(
    new Media(libVLC, "dvd:///D:",
        FromType.FromLocation));

// DVD navigation via mediaPlayer methods
mediaPlayer.Navigate(NavigateMode.Up);
mediaPlayer.Navigate(NavigateMode.Activate);

// Less granular control than Media Player SDK
// No bookmark/resume API
// Limited chapter/title management

例3:エフェクト付きオーディオ処理

Media Player SDK (MediaPlayerCore)

C#
var player = new MediaPlayerCore(videoView);
player.Playlist_Clear();
player.Playlist_Add("podcast.mp3");
player.Audio_Effects_Enabled = true;

// Register 10-band EQ and compressor
player.Audio_Effects_Add(-1,
    AudioEffectType.Equalizer, "gfxEq",
    true, TimeSpan.Zero, TimeSpan.Zero);
player.Audio_Effects_Add(-1,
    AudioEffectType.Compressor, "comp",
    true, TimeSpan.Zero, TimeSpan.Zero);

await player.PlayAsync();

// Custom per-band EQ values (dB)
float[] bands = { -4f, -2f, 0f, 3f, 5f,
    6f, 5f, 4f, 2f, -1f };
for (int i = 0; i < bands.Length; i++)
    player.Audio_Effects_Equalizer_Band_Set(
        -1, "gfxEq", i, bands[i]);

// Compressor for consistent loudness
player.Audio_Effects_Compressor(-1, "comp",
    gain: 5f, threshold: -20f, ratio: 4f,
    attack: 10f, release: 200f);

// Query peak levels
var levels = player.Audio_Channel_GetLevels();
Console.WriteLine(
    $"L: {levels.Left:F1} dB, " +
    $"R: {levels.Right:F1} dB");

LibVLCSharp

C#
Core.Initialize();
var libVLC = new LibVLC();
var mediaPlayer = new MediaPlayer(libVLC);
mediaPlayer.Play(
    new Media(libVLC, "music.mp3",
        FromType.FromPath));

// Basic equalizer only
var eq = new Equalizer(1); // preset index
mediaPlayer.SetEqualizer(eq);

// No VU meter
// No FFT spectrum analysis
// No 3D sound
// No reverb, chorus, or compressor
// No per-band EQ control
// No audio level monitoring

例4:仮想カメラ + NDI出力

Media Player SDK (MediaPlayerCore)

C#
var player = new MediaPlayerCore(videoView);
player.Playlist_Clear();
player.Playlist_Add("presentation.mp4");

// Output to virtual camera (Zoom, Teams, OBS)
player.Virtual_Camera_Output_Enabled = true;

// Output to NDI network
player.NDI_Output = new NDIOutput
{
    Name = "Studio Feed"
};

// Add OSD overlay
player.OSD_Enabled = true;
player.OSD_Layers_Create(
    0, 0, 1920, 1080, true);
player.OSD_Layers_Draw_Text(
    0, 10, 10, "LIVE",
    new Font("Arial", 36), Color.Red);
player.OSD_Layers_Render();

await player.PlayAsync();

LibVLCSharp

C#
// Virtual camera output: NOT AVAILABLE
// NDI output: NOT AVAILABLE
// OSD overlay: Limited to VLC marquee

Core.Initialize();
var libVLC = new LibVLC();
var mediaPlayer = new MediaPlayer(libVLC);
var media = new Media(libVLC,
    "presentation.mp4",
    FromType.FromPath);
media.AddOption(":sub-filter=marq");
media.AddOption(":marq-marquee=LIVE");
mediaPlayer.Play(media);

// No virtual camera
// No NDI
// No rich OSD layers

例5:モーションと顔検出

Media Player SDK (MediaPlayerCore)

C#
var player = new MediaPlayerCore(videoView);
player.Playlist_Clear();
player.Playlist_Add("lobby_feed.mp4");

// Face detection with highlight
player.Face_Tracking = new FaceTrackingSettings
{
    Enabled = true,
    Highlight = true,
    ScaleFactor = 1.1,
    MinNeighbors = 5
};
player.OnFaceDetected += (s, e) =>
    Console.WriteLine(
        $"Detected {e.Count} face(s)");

// AI object detection
player.AI_ObjectDetection =
    new AIObjectDetectionSettings
{
    Enabled = true,
    Confidence = 0.6f,
    Classes = new[] {
        "person", "car", "bag" }
};
player.OnAIObjectDetected += (s, e) =>
    Console.WriteLine(
        $"AI: {e.Label} ({e.Confidence:P0})");

await player.PlayAsync();

LibVLCSharp

C#
// Motion detection: NOT AVAILABLE
// Face detection: NOT AVAILABLE
// AI object detection: NOT AVAILABLE
// Barcode scanning: NOT AVAILABLE

// Would need external libraries
// (OpenCV, ZXing, etc.) processing
// frames manually

Core.Initialize();
var libVLC = new LibVLC();
var mediaPlayer = new MediaPlayer(libVLC);
mediaPlayer.Play(
    new Media(libVLC, "lobby_feed.mp4",
        FromType.FromPath));

// No built-in detection
// No event-driven analysis
// Manual frame extraction required

各ソリューションを選ぶタイミング

次の場合はMedia Player SDKを選択

  • フルメニューナビゲーション、チャプター、ブックマーク付きのDVDアプリケーション
  • 40以上のエフェクト、VUメーター、FFTスペクトラムを備えたプロフェッショナルオーディオ
  • Zoom、Teams、OBS向けの仮想カメラ出力
  • ブロードキャストおよび制作ワークフロー向けのNDI出力
  • マルチスクリーンコンフィデンスモニターとデジタルサイネージ
  • モーション、顔、AIオブジェクト検出による監視
  • ピクチャーインピクチャー合成とクロマキープレビュー
  • プロフェッショナルレビュー向けのフレーム精度シークと逆再生
  • ビデオストリームでのバーコード/QRスキャン

次の場合はLibVLCSharpを選択

  • シンプルなデスクトップまたはモバイルメディアプレーヤーアプリケーション
  • IPTVおよびストリーミングビューアーアプリケーション
  • Chromecastストリーミングとネットワークブラウジング(SMB、FTP、UPnP)
  • 予算ゼロまたはオープンソースプロジェクト
  • VLCデコーダースタックによる最大のコーデックとフォーマットカバレッジ
  • 最小限の統合作業 — C# 3行でビデオを再生
  • tvOSサポートと幅広いレガシーOS互換性
  • 大規模なコミュニティと豊富なStackOverflowコンテンツ

デプロイメントと配布

Media Player SDK デプロイメント

  • NuGetパッケージにすべての依存関係が含まれる
  • Xcopyデプロイメントをサポート
  • 商用ライセンスによるロイヤリティフリー配布
  • ランタイム料金なし
  • LGPL義務なし — プロプライエタリソフトウェアに安全
  • アプリサイズへの影響:約50-100 MB

LibVLCSharp デプロイメント

  • NuGetパッケージが利用可能(LibVLCSharp + VideoLAN.LibVLCプラットフォームパッケージ)
  • プラットフォームごとにLibVLC DLLを含める必要がある
  • LGPLは動的リンクを要求 — ユーザーがVLC DLLを置き換えられる必要がある
  • LGPLライセンス通知を含める必要がある
  • プラットフォームパッケージがネイティブライブラリの配布を処理
  • アプリサイズへの影響:約40-80 MB

意思決定マトリックス

要件Media Player SDKLibVLCSharp勝者
シンプルなメディアプレーヤーLibVLCSharp
DVDキオスク / トレーニングアプリMedia Player SDK
オーディオエフェクト / EQ / VUメーターMedia Player SDK
ストリーミング用仮想カメラMedia Player SDK
NDIブロードキャスト出力Media Player SDK
マルチスクリーンディスプレイMedia Player SDK
検出付き監視Media Player SDK
IPTV / ストリーミングビューアーLibVLCSharp
Chromecast / ネットワークブラウジングLibVLCSharp
デジタルサイネージ(OSD付き)Media Player SDK
予算ゼロLibVLCSharp
オープンソースプロジェクトLibVLCSharp
PiP / クロマキー合成Media Player SDK
バーコード / QRスキャンMedia Player SDK

結論

Media Player SDK .NET

フルメニューナビゲーション付きDVD再生、Zoom/Teams/OBS向け仮想カメラ出力、AI搭載の顔およびオブジェクト検出、40以上のリアルタイムオーディオエフェクト、ブロードキャスト向けNDI出力、ピクチャーインピクチャー合成、フレーム精度シークと逆再生、FFTスペクトラム付きプロフェッショナルVUメーター、クロマキーとAIビデオアップスケーリング、マルチスクリーンディスプレイ、LGPL制約なしのロイヤリティフリー配布が必要な場合はMedia Player SDKを選択してください。年間ライセンスはEUR 250/年から、ワンタイムの永久オプションも利用可能です。

LibVLCSharp

VLCデコーダースタックによる最大のコーデックとフォーマットカバレッジ、ゼロコストのLGPLライセンス再生、Chromecastストリーミングとネットワークメディアブラウジング(SMB、FTP、UPnP)、C# 3行での最小限の統合作業、tvOSサポートと幅広いレガシーOS互換性、豊富なStackOverflowコンテンツと実戦検証済みの安定性を持つ大規模なコミュニティが必要な場合はLibVLCSharpを選択してください。

The Reality

簡単なメディアプレーヤー、ストリーミングクライアント、IPTVアプリケーションには、LibVLCSharpがより少ないコードとゼロコストで対応します。エフェクト、検出、DVDキオスク、ブロードキャスト出力を必要とする機能重視のアプリケーションには、Media Player SDKが通常唯一の実行可能なオプションです。一部のチームは両方のSDKを組み合わせています — 基本的な再生画面にはLibVLCSharp、エフェクト、検出、またはブロードキャスト出力が必要な画面にはMedia Player SDKを使用します。

Frequently Asked Questions

.NETビデオ再生のための最良のLibVLCSharp代替は何ですか?
プロジェクトがLibVLCSharpの再生のみの範囲を超えた場合、VisioForge Media Player SDK .NETがプロフェッショナルなアップグレードです。同じプラットフォーム(WPF、WinForms、MAUI、Avalonia)をサポートしながら、リアルタイムオーディオエフェクト、仮想カメラ出力、顔とオブジェクトの検出、完全なDVDメニューナビゲーションを追加します。LibVLCSharpは、これらの機能が不要な簡単な再生には依然として強力な選択肢です。
LibVLCSharpはC#でDVDメニューを再生できますか?
LibVLCSharpはDVDコンテンツを再生できますが、DVDメニューナビゲーションのサポートは限定的でプラットフォーム依存です。Media Player SDK .NETは、すべてのサポートされたプラットフォームでチャプター選択、アングル切り替え、字幕/オーディオトラック管理を備えた完全なDVDメニューナビゲーションを提供します。
C#ビデオプレーヤーにオーディオエフェクトを追加するには?
VisioForge Media Player SDK .NETは、40以上のオーディオエフェクト用の完全に型付けされたC# APIを公開しています — Audio_Effects_Equalizer_Band_Set()やAudio_Effects_Compressor()などのメソッドを名前付きパラメーターとIntelliSenseサポートで呼び出します。LibVLCSharpはVLCの文字列ベースのオプション構文に依存しており、コンパイル時チェックがなく、少数のフィルターのみをサポートします。
Media Player SDKは仮想カメラ出力をサポートしていますか?
はい。Media Player SDK .NETは再生を仮想カメラデバイスに出力でき、Zoom、Teams、OBS、その他のアプリケーションでビデオを利用可能にします。NDI出力とマルチスクリーンディスプレイもサポートしています。LibVLCSharpは仮想カメラやNDI出力機能を提供していません。
Media Player SDKはLibVLCSharpと比較してどのくらいの費用がかかりますか?
LibVLCSharpはLGPL 2.1+で無料です(動的リンクとDLL置き換えを許可する必要があります)。Media Player SDKは開発者あたりEUR 250-500/年、またはロイヤリティフリー配布とLGPL制約なしの無制限チーム永久ライセンスでEUR 750-1,500のワンタイムです。オーディオエフェクト、DVDナビゲーション、仮想カメラ出力が必要な商用アプリケーションには、Media Player SDKがLibVLCSharp上での大規模なカスタム開発が必要となる機能を提供します。
Media Player SDKとLibVLCSharpの違いは何ですか?
コアのアーキテクチャの違いはデュアルエンジン対モノリシックです:Media Player SDKは2つの独立したエンジン(Windows固有の機能用のDirectShowベースMediaPlayerCore、クロスプラットフォーム用のGStreamerベースMediaPlayerCoreX)を提供し、LibVLCSharpはVLCの単一モノリシックエンジンをラップします。このデュアルエンジン設計により、Media Player SDKはVLCアーキテクチャが設計されていない機能を提供できます — リアルタイムオーディオエフェクトチェーン、仮想カメラ出力、OSD合成、AI搭載検出。LibVLCSharpの強みは、VLCの単一エンジンが最小限の統合作業で比類のないコーデックの幅広さを提供することです。

はじめに

Related Comparisons