# Flyleaf **Repository Path**: dotexy_admin/Flyleaf ## Basic Information - **Project Name**: Flyleaf - **Description**: No description available - **Primary Language**: C# - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-12-17 - **Last Updated**: 2023-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # *Flyleaf v3.7*: Media Player .NET Library for WinUI 3/WPF/WinForms (based on FFmpeg/DirectX) ![alt text](Images/Flyleafv3.6.png) --- >Notes
>1. FlyleafLib's releases will be on [NuGet](https://www.nuget.org/packages?q=flyleaf) >2. Compiled samples will be on [GitHub releases](https://github.com/SuRGeoNix/Flyleaf/releases) >3. Documentation will be on [Wiki](https://github.com/SuRGeoNix/Flyleaf/wiki) and [Samples](https://github.com/SuRGeoNix/Flyleaf/tree/master/Samples) within the solution # [Overview] ✅ **Play Everything** (Audio, Videos, Images, Playlists over any Protocol) - *Extends FFmpeg's supported protocols and formats with additional plugins (YoutubeDL, TorrentBitSwarm)* - *Accepts Custom I/O Streams and Plugins to handle non-standard protocols / formats* ✅ **Play it Smoothly** (Even with high resolutions 4K / HDR) - *Coded from scratch to gain the best possible performance with FFmpeg & DirectX using video acceleration and custom pixel shaders* - *Threading implementation with efficient cancellation which allows fast open, play, pause, stop, seek and stream switching* ✅ **Develop it Easy** - *Provides a DPI aware, hardware accelerated Direct3D Surface (FlyleafHost) which can be hosted as normal control to your application and easily develop above it your own transparent overlay content* - *All the implementation uses UI notifications (PropertyChanged / ObservableCollection etc.) so you can use it as a ViewModel directly* - *For WPF provides a Control (FlyleafME) with all the basic UI sub-controls (Bar, Settings, Popup menu) and can be customized with style / control template overrides* # [Features] ### **FFmpeg** - *HLS Live Seeking* Might the 1st FFmpeg player which does that - *Pached for [HLS issue](https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=1018)* Use recommended FFmpeg libraries which can be found on GitHub releases - *Capture Devices* Pass the format, input and options with a single Url eg. fmt://gdigrab?desktop&framerate=30 - *Supports FFmpeg v5+* ### **Playback** - *Open / Play / Pause / Stop* - *Speed / Reverse / Zero-Low Latency* - *Seek Backward / Forward (Short / Large Step)* - *Seek to Time / Seek to Frame / Seek to Chapter / Frame Stepping* ### **Video** - *Enable / Disable* - *Device Preference* - *Aspect Ratio (Keep / Fill / Custom)* - *Deinterlace (Bob)* - *HDR to SDR (Aces / Hable / Reinhard)* [BT2020 / SMPTE 2084 to BT709] - *Pan Move / Zoom / Rotate* - *Record / Snapshot* - *Video Acceleration* - *Video Filters (Brightness / Contrast / Hue / Saturation)* - *Video Processors (Flyleaf / D3D11)* - *VSync* - *Zero-Copy* ### **Audio** - *Enable / Disable* - *Device Preference* - *Add / Remove Delay (Short / Large Step)* - *Volume (Up / Down / Mute)* - *Languages support* System's default languages as priorities for audio streams ### **Subtitles** - *Enable / Disable* - *Add / Remove Delay (Short / Large Step)* - *Advanced Character Detection and Convert to UTF-8* SubtitlesConverter plugin - *Languages support* System's default languages as priorities for subtitles streams ### **UI Control (FlyleafHost)**WPF / WinUI & WinForms (Partially) - *Attach / Detach* - *Activity / Idle Mode* - *Drag Move (Self / Owner)* - *Drag & Drop Swap* - *Drag & Drop Open* - *Full / Normal Screen* - *Resize / Resize & Keep Ratio* - *Z-Order* ### **UI Control (FlyleafME)** WPF Only - *Flyleaf Bar Control / Slider* - *Flyleaf Popup Menu* - *Flyleaf Settings Dialog* - *Color Themes* Based on Material Design in XAML - *Style / Control Template Customization* ### **Plugins** - *OpenSubtitlesOrg* Search & Download for online Subtitles - *SubtitlesConverter* Detect & Convert the input's charset to UTF-8 - *TorrentBitSwarm* Play a media from torrent without the need to download it completely - *YoutubeDL* Play web media that are not accessible directly with HTTP(s) ### Misc. - *Mouse & Key Bindings* All the implementation supports customizable mouse & key bindings which can be assigned to an embedded or a custom actions (find defaults [here](https://github.com/SuRGeoNix/Flyleaf/wiki/Player-(Key-&-Mouse-Bindings))) - *Audio Player* Can be used as an audio player only without the need of UI Control - *Downloader / Remuxer* The library can be used also for downloading & remuxing - *Extractor* The library can be used also for extracting video frames (supports also by X frames Step) # [Thanks to] *Flyleaf wouldn't exist without them!* * *For the Core* * ***[FFmpeg](http://ffmpeg.org/)*** / ***[FFmpeg.AutoGen](https://github.com/Ruslan-B/FFmpeg.AutoGen/)*** * ***[Vortice](https://github.com/amerkoleci/Vortice.Windows)*** * *Major open source media players* ***[VLC](https://github.com/videolan/vlc)***, ***[Kodi](https://github.com/xbmc/xbmc)***, ***[MPV](https://github.com/mpv-player/mpv)***, ***[FFplay](https://github.com/FFmpeg/FFmpeg/blob/master/fftools/ffplay.c)*** * *For the UI* * ***[Dragablz](https://github.com/ButchersBoy/Dragablz)*** * ***[MaterialDesign Colors & Themes](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/)*** * *For the Plugins* * ***[BitSwarm](https://github.com/SuRGeoNix/BitSwarm)*** * ***[OpenSubtitles.org](https://www.opensubtitles.org/)*** * ***[YT-DLP](https://github.com/yt-dlp/yt-dlp)***