Skip to content

For Developers

umlx5h edited this page Apr 28, 2025 · 8 revisions

It is written in C# and WPF, so customization is relatively easy compared to C projects.
This page provides a collection of useful tips for development.

DeepWiki can also be helpful.
https://deepwiki.com/umlx5h/LLPlayer

Development Environment

Visual Studio Community 2022 is usually recommended.

If you install VS with desktop development in C# enabled, you can open the sln file and build right away.

Core of the video player

The core of the video player is implemented using the Flyleaf library.

The following wiki summarizes how to use this library.

https://github.com/SuRGeoNix/Flyleaf/wiki

The sample projects in Flyleaf's Samples/ are helpful for implementation.

https://github.com/SuRGeoNix/Flyleaf/tree/master/Samples/FlyleafPlayer%20(WPF%20Control)%20(WPF)

References

WPF

WPF is used for the UI framework and MVVM for the code architecture.

To learn WPF, I recommend Pluralsight courses.
In my case, with no experience, I was able to handle it to some extent after taking the course.

recommended authors

The following book is also recommended because it has a very good collection of code samples.

Pro WPF 4.5 in C#: Windows Presentation Foundation in .NET 4.5

FFmpeg

The following tutorials are helpful in creating a video player with the ffmpeg API.

For a more practical sample video player, the ffplay code is very helpful.
You will understand it after doing the tutorial above.

https://github.com/FFmpeg/FFmpeg/blob/master/fftools/ffplay.c

More details on the ffmpeg API can be found in the following reference.

https://ffmpeg.org/doxygen/7.0/index.html