This book is the first book ever about LibVLC and the VideoLAN community.
VLC reached 3 billion downloads in 2019. While there is a lot of information out there on VLC and VideoLAN, it is quite spread out across various sources. With all the podcasts, press releases, wikis, forum posts, git repositories and blog posts from community members, I felt that a longer form of content, such as this book, would be welcome to synthesize all this information into one place and provide context around the amazing VLC community.
Although the VLC app is well known and popular, the accompanying library SDK for developers, LibVLC, remains largely unknown to many developers. This technical book serves as a way to raise awareness of this great multimedia framework as a viable option for developers, as well as a detailed example of what an ethical opensource project looks like.
Since I personally built and used the LibVLC library on most platforms during the past 5+ years, and helped polish the developer experience of the library on all platforms through LibVLCSharp, I managed to get a pretty nice overview of the LibVLC landscape. I have put everything I know about LibVLC, VLC and VideoLAN in this book.
We will dive into the internals of the native library in Part 2, and the focus will shift to the LibVLC usage, its public API interfaces, features and capabilities (in Parts 3 and 4) through LibVLCSharp (.NET bindings for LibVLC).
By the end of this book, you will know everything you need to build your own video/audio player app using LibVLC, for any target platform using any programming language.
- Part 1: VLC and The VideoLAN non profit organization
- Project foundation
- The VideoLAN non-profit organization
- VideoLAN Projects
- Part 2: LibVLC, the cross-platform multimedia library for developers
- Interview: LibVLC vs GStreamer
- LibVLC bindings
- Parts 3: LibVLCSharp, the refined and modern cross-platform .NET binding over LibVLC
- .NET and VideoLAN
- LibVLC setup with NuGet
- Loading the native library
- Public API walkthrough
- Native GUI toolkit integrations
- Best practices
- Advanced usage
- Debugging techniques
- Part 4: Samples
- NAS/UPnP browsing and playback
- Streaming support
- Mosaic View
- 360 Navigation playback
- Custom rendering for Audio and Video
What is the target developer audience for this book?
All kinds. Beginner to senior, all programming languages.
Everyone will learn something. I have tried to keep things approachable while not shying away from the deeply technical topics that needed to be covered. This was sometimes a tricky balancing act. Most of the code in the book is C# with a bit of C, though the code snippets are succinct and fairly intuitive to read, no matter which programming language you fancy (LibVLC works with most of them).
You do not need to be knowledgeable in .NET/C# to read and understand the code in this book.
Is this book good for beginners in multimedia programming?
Yes. Most important multimedia concepts are explained from scratch when going through the LibVLC internals, so multimedia novices will be able to follow. As for the API usage sections, the ease of use of LibVLC being one of its assets, this should be an approachable read for beginners in the multimedia programming space.
What's the refund policy?
If what you see is not what you expected, just reply to the download email within 30 days, and you'll get a full refund. No questions asked.
Can I share this book with my team?
This version is for individual use only, but you can also get a team license to share within your team, class, or organization.
Feel free to say Hello on Twitter!