{"id":15059974,"url":"https://github.com/surgeonix/flyleaf","last_synced_at":"2026-03-16T18:05:33.287Z","repository":{"id":37240143,"uuid":"220159577","full_name":"SuRGeoNix/Flyleaf","owner":"SuRGeoNix","description":"Media Player .NET Library for WinUI 3/ WPF/WinForms (based on FFmpeg/DirectX)","archived":false,"fork":false,"pushed_at":"2025-03-10T07:18:45.000Z","size":206447,"stargazers_count":762,"open_issues_count":23,"forks_count":103,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-04-05T19:00:23.353Z","etag":null,"topics":["ffmpeg","hls-player","media-downloader","media-player","mediaplayer","rtsp-player","torrent-player","video-player","web-player","winui3"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SuRGeoNix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-07T05:37:14.000Z","updated_at":"2025-04-03T15:21:48.000Z","dependencies_parsed_at":"2023-10-27T13:26:09.850Z","dependency_job_id":"47a905f8-49d0-4860-ad75-6a963a4b7413","html_url":"https://github.com/SuRGeoNix/Flyleaf","commit_stats":{"total_commits":729,"total_committers":16,"mean_commits":45.5625,"dds":"0.057613168724279795","last_synced_commit":"bfd5969f79d0a816a14e4bb633b13eed2bee8d41"},"previous_names":[],"tags_count":109,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuRGeoNix%2FFlyleaf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuRGeoNix%2FFlyleaf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuRGeoNix%2FFlyleaf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuRGeoNix%2FFlyleaf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SuRGeoNix","download_url":"https://codeload.github.com/SuRGeoNix/Flyleaf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631225,"owners_count":21136550,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ffmpeg","hls-player","media-downloader","media-player","mediaplayer","rtsp-player","torrent-player","video-player","web-player","winui3"],"created_at":"2024-09-24T22:50:42.482Z","updated_at":"2026-03-16T18:05:33.281Z","avatar_url":"https://github.com/SuRGeoNix.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# *Flyleaf v3.10*: Media Player .NET Library for WinUI 3/WPF/WinForms (based on FFmpeg/DirectX)\n\n![alt text](Images/Flyleafv3.6.png)\n\n---\n\n\u003eNotes\u003cbr/\u003e\n\u003e1. FlyleafLib's releases will be on [NuGet](https://www.nuget.org/packages?q=flyleaf)\n\u003e2. Compiled samples will be on [GitHub releases](https://github.com/SuRGeoNix/Flyleaf/releases)\n\u003e3. Documentation will be on [Wiki](https://github.com/SuRGeoNix/Flyleaf/wiki) and [Samples](https://github.com/SuRGeoNix/Flyleaf/tree/master/Samples) within the solution\n\n# [Overview]\n\n✅ **Play Everything** \u003csub\u003e(Audio, Videos, Images, Playlists over any Protocol)\u003c/sub\u003e\n\n- *Extends FFmpeg's supported protocols and formats with additional plugins \u003csub\u003e(YoutubeDL, TorrentBitSwarm)\u003c/sub\u003e*\n- *Accepts Custom I/O Streams and Plugins to handle non-standard protocols / formats*\n\t\n✅ **Play it Smoothly** \u003csub\u003e(Even with high resolutions 4K / HDR)\u003c/sub\u003e\n\n- *Coded from scratch to gain the best possible performance with FFmpeg \u0026 DirectX using video acceleration and custom pixel shaders*\n- *Threading implementation with efficient cancellation which allows fast open, play, pause, stop, seek and stream switching*\n\t\n✅ **Develop it Easy**\n\n- *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*\n- *All the implementation uses UI notifications (PropertyChanged / ObservableCollection etc.) so you can use it as a ViewModel directly*    \n- *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*\n\n# [Features]\n\n### **FFmpeg**\n- *HLS Live Seeking \u003csub\u003eMight the 1st FFmpeg player which does that\u003c/sub\u003e*\n- *Pached for [HLS](https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=1018) and [.NET](https://developercommunity.microsoft.com/t/Proper-handling-of-MS_VC_EXCEPTION-0x40/10961029) issues \u003csub\u003eUse recommended FFmpeg libraries which can be found on GitHub releases\u003c/sub\u003e*\n- *Capture Devices \u003csub\u003ePass the format, input and options with a single Url eg. fmt://gdigrab?desktop\u0026framerate=30\u003c/sub\u003e*\n- *Supports FFmpeg v7.1 and v8.0 \u003csub\u003e(use Flyleaf.FFmpeg.Bindings v8 at your project)\u003c/sub\u003e*\n\n### **Playback**\n- *Open / Play / Pause / Stop*\n- *Speed / Reverse / Zero-Low Latency*\n- *Seek Backward / Forward \u003csub\u003e(Short / Large Step)\u003c/sub\u003e*\n- *Seek to Time / Seek to Frame / Seek to Chapter / Frame Stepping*\n\n### **Video**\n- *Enable / Disable*\n- *Device Preference*\n- *Aspect Ratio \u003csub\u003e(Keep / Fill / Custom)\u003c/sub\u003e*\n- *Deinterlace \u003csub\u003e(Supports double rate, D3D11VP only)\u003c/sub\u003e*\n- *HDR to SDR \u003csub\u003e(Aces / Hable / Reinhard - FlyleafVP only)\u003c/sub\u003e*\n- *Pan Move / Zoom / Rotate / HFlip-VFlip / Cropping \u003csub\u003e~~(Replica Renderer/Interactive Zoom)~~\u003c/sub\u003e*\n- *Record / Snapshot*\n- *Super Resolution \u003csub\u003e(Nvidia / Intel - D3D11VP only)\u003c/sub\u003e*\n- *Video Acceleration*\n- *Video Filters \u003csub\u003e(Brightness / Contrast / Hue / Saturation)\u003c/sub\u003e*\n- *Video Processors \u003csub\u003e(FlyleafVP / D3D11VP)\u003c/sub\u003e*\n- *VSync*\n- *Zero-Copy \u003csub\u003e(Crops with vertex shader)\u003c/sub\u003e*\n- *Split-Frame / Alpha Packing \u003csub\u003e(Special technique to support alpha with hardware acceleration)\u003c/sub\u003e*\n\n### **Audio**\n- *Enable / Disable*\n- *Device Preference*\n- *Add / Remove Delay \u003csub\u003e(Short / Large Step)\u003c/sub\u003e*\n- *Volume \u003csub\u003e(Up / Down / Mute)\u003c/sub\u003e*\n- *Languages support \u003csub\u003eSystem's default languages as priorities for audio streams\u003c/sub\u003e*\n\n### **Subtitles**\n- *Enable / Disable*\n- *Add / Remove Delay \u003csub\u003e(Short / Large Step)\u003c/sub\u003e*\n- *Bitmap Subtitles support*\n- *Advanced Character Detection and Convert to UTF-8 \u003csub\u003eSubtitlesConverter plugin\u003c/sub\u003e*\n- *Languages support \u003csub\u003eSystem's default languages as priorities for subtitles streams\u003c/sub\u003e*\n\n### **UI Control (FlyleafHost)** \u003csub\u003e*WPF / WinUI \u0026amp; WinForms (Partially)*\u003c/sub\u003e\n- *Attach / Detach*\n- *Activity / Idle Mode*\n- *Drag Move \u003csub\u003e(Self / Owner)\u003c/sub\u003e*\n- *Drag \u0026 Drop Swap*\n- *Drag \u0026 Drop Open*\n- *Full / Normal Screen*\n- *Resize / Resize \u0026 Keep Ratio*\n- *Z-Order*\n\n### **UI Control (FlyleafME)** \u003csub\u003e*WPF Only*\u003c/sub\u003e\n- *Flyleaf Bar Control / Slider*\n- *Flyleaf Popup Menu*\n- *Flyleaf Settings Dialog*\n- *Color Themes \u003csub\u003eBased on Material Design in XAML\u003c/sub\u003e*\n- *Style / Control Template Customization*\n\n### **Plugins**\n- *OpenSubtitlesOrg \u003csub\u003eSearch \u0026 Download for online Subtitles\u003c/sub\u003e*\n- *SubtitlesConverter \u003csub\u003eDetect \u0026 Convert the input's charset to UTF-8\u003c/sub\u003e*\n- *TorrentBitSwarm \u003csub\u003ePlay a media from torrent without the need to download it completely\u003c/sub\u003e*\n- *YoutubeDL \u003csub\u003ePlay web media that are not accessible directly with HTTP(s)\u003c/sub\u003e*\n\n### Misc.\n- *Mouse \u0026 Key Bindings \u003csub\u003eAll the implementation supports customizable mouse \u0026 key bindings which can be assigned to an embedded or a custom actions (find defaults [here](https://github.com/SuRGeoNix/Flyleaf/wiki/Player-(Key-\u0026-Mouse-Bindings)))\u003c/sub\u003e*\n- *Audio Player \u003csub\u003eCan be used as an audio player only without the need of UI Control\u003c/sub\u003e*\n- *Downloader / Remuxer \u003csub\u003eThe library can be used also for downloading \u0026 remuxing\u003c/sub\u003e*\n- *Extractor \u003csub\u003eThe library can be used also for extracting video frames (supports also by X frames Step)\u003c/sub\u003e*\n\n# [Thanks to]\n\n*Flyleaf wouldn't exist without them!*\n\n* *For the Core*\n  * ***[FFmpeg](http://ffmpeg.org/)*** / ***[FFmpeg.AutoGen](https://github.com/Ruslan-B/FFmpeg.AutoGen/)*** / ***[Flyleaf.FFmpeg.Bindings](https://github.com/SuRGeoNix/Flyleaf.FFmpeg.Generator)***\n  * ***[Vortice](https://github.com/amerkoleci/Vortice.Windows)***\n  * *Major open source media players* ***[VLC](https://github.com/videolan/vlc)***, ***[Kodi](https://github.com/xbmc/xbmc)***, ***[MPV](https://github.com/mpv-player/mpv)***, ***[MPC-BE](https://github.com/Aleksoid1978/MPC-BE)***, ***[FFplay](https://github.com/FFmpeg/FFmpeg/blob/master/fftools/ffplay.c)***\n\n* *For the UI*\n  * ***[Dragablz](https://github.com/ButchersBoy/Dragablz)***\n  * ***[MaterialDesign Colors \u0026 Themes](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/)***\n\n* *For the Plugins*\n  * ***[BitSwarm](https://github.com/SuRGeoNix/BitSwarm)***\n  * ***[OpenSubtitles.org](https://www.opensubtitles.org/)***\n  * ***[YT-DLP](https://github.com/yt-dlp/yt-dlp)***","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsurgeonix%2Fflyleaf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsurgeonix%2Fflyleaf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsurgeonix%2Fflyleaf/lists"}