Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. VLC
  3. dart_vlc

dart_vlc

LGPL-2.1C++v0.4.0

Flutter library for audio/video playback, broadcasting, and recording on Windows and Linux using libVLC.

GitHubGitHub
527 stars142 forks0 contributors

What is dart_vlc?

dart_vlc is a Flutter plugin that provides bindings to the libVLC library, enabling audio and video playback, broadcasting, and recording for desktop applications on Windows and Linux. It solves the problem of lacking robust media handling solutions in the Flutter desktop ecosystem by leveraging VLC's extensive format support and reliability.

Target Audience

Flutter developers building desktop applications for Windows or Linux that require advanced media playback, streaming, or recording capabilities.

Value Proposition

Developers choose dart_vlc because it offers a comprehensive, production-ready media solution with features like playlist management, equalizer controls, and broadcasting—functionality not readily available in other Flutter media libraries for desktop platforms.

Overview

Flutter bindings to libVLC.

Use Cases

Best For

  • Building Flutter desktop media players with playlist support
  • Adding video streaming or broadcasting features to Flutter apps
  • Creating audio applications with advanced equalizer controls
  • Developing cross-platform media tools for Windows and Linux
  • Implementing media recording functionality in Flutter
  • Embedding video playback within Flutter widget trees

Not Ideal For

  • Flutter projects targeting macOS or iOS, as support is work-in-progress or incomplete per the setup notes
  • Applications requiring web or server-side media playback, since it's designed exclusively for desktop platforms
  • Teams seeking a zero-configuration media library, due to the manual VLC and libVLC installation required on Linux systems

Pros & Cons

Pros

Extensive Format Support

Handles local files, network streams, and assets with clipping and metadata extraction, as demonstrated by the Media class for various sources.

Advanced Playlist Management

Allows real-time manipulation of playlists during playback, including add, remove, insert, and move operations without interruption.

Integrated Video Widget

Provides a Video widget for embedding video directly in Flutter UI with customizable controls and dimensions, as shown in the widget tree examples.

Broadcasting and Recording

Includes Broadcast and Record classes for streaming media to networks or saving playback to files, leveraging libVLC's robust engine.

Cons

Limited Platform Support

Fully functional only on Windows and Linux; macOS and mobile platforms are under development or not supported, as indicated in the incomplete setup sections.

Complex Setup on Linux

Requires manual installation of VLC and libVLC libraries via package managers, adding deployment overhead and potential compatibility issues.

Native Dependency Reliance

Heavily depends on libVLC, which can introduce vendor lock-in and limits portability compared to pure-Dart or lighter-weight solutions.

Frequently Asked Questions

Quick Stats

Stars527
Forks142
Contributors0
Open Issues50
Last commit2 years ago
CreatedSince 2021

Tags

#dart#playback#equalizer#desktop-apps#broadcast#flutter-desktop#audio-processing#cross-platform#video-streaming#flutter#record#libvlc#media-playback#chromecast#windows

Built With

l
libVLC
F
Flutter
D
Dart
C
C++

Included in

VLC269
Auto-fetched 1 day ago

Related Projects

LibVLCSharpLibVLCSharp

Cross-platform .NET/Mono bindings for LibVLC

Stars1,794
Forks298
Last commit14 days ago
vlcjvlcj

Java framework for the vlc media player

Stars1,240
Forks262
Last commit4 months ago
WebChimera.jsWebChimera.js

[ABANDONED] libvlc binding for Electron

Stars667
Forks107
Last commit4 years ago
flutter_vlc_playerflutter_vlc_player

📺 Flutter VLC powered video player.

Stars603
Forks295
Last commit9 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub