# celluloid-player/celluloid

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/celluloid-player-celluloid).**

1,436 stars · 109 forks · C · GPL-3.0

## Links

- GitHub: https://github.com/celluloid-player/celluloid
- Homepage: https://celluloid-player.github.io
- awesome-repositories: https://awesome-repositories.com/repository/celluloid-player-celluloid.md

## Topics

`audio-player` `c` `celluloid` `gnome-mpv` `gtk` `gtk4` `libadwaita` `media-player` `mpv` `video-player`

## Description

Celluloid is a graphical frontend for the media engine that provides a native interface for playing local and network media files. Built using the toolkit for desktop environments, it functions as a controller that delegates audio and video decoding, rendering, and playback management to an underlying media process.

The application is designed for native execution on modern display servers, ensuring high-performance output without reliance on legacy compatibility layers. It maintains a clean interface while offering deep integration with the system shell, allowing for the broadcasting of playback metadata and status information to other desktop applications.

Users can tailor the playback experience through extensive configuration options, including custom keybinding mappings and adjustments to engine performance settings. The software supports interactive queue management and playlist organization, with the ability to extend core functionality through external automation scripts and system-level workflow integrations.

## Tags

### Web Development

- [Embedded MPV](https://awesome-repositories.com/f/web-development/client-side-media-processing/playback-engines/embedded-mpv.md) — Delegates all audio and video decoding, rendering, and playback control to a specialized command-line media player process.

### Graphics & Multimedia

- [Digital Media Playback](https://awesome-repositories.com/f/graphics-multimedia/digital-media-playback.md) — Provides a clean and lightweight interface for watching local video files or streaming network media using the mpv engine.
- [Media Players](https://awesome-repositories.com/f/graphics-multimedia/media-players.md) — Offers a native user experience for playing local and network media files using the GTK toolkit.
- [Multimedia Player Frontends](https://awesome-repositories.com/f/graphics-multimedia/multimedia-player-frontends.md) — Provides a graphical interface for the mpv media engine with playback controls, playlist management, and desktop integration.
- [Playlist Management](https://awesome-repositories.com/f/graphics-multimedia/playlist-management.md) — Provides interactive playlist organization and queue management for continuous media playback sessions. ([source](https://github.com/celluloid-player/celluloid#readme))

### Operating Systems & Systems Programming

- [Wayland-Compatible Clients](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-frameworks/desktop-environment-components/desktop-integration/compositor-integrations/wayland/wayland-compatible-clients.md) — Executes media playback natively on Wayland display servers to ensure high-performance output without legacy compatibility layers. ([source](https://celluloid-player.github.io/))
- [Inter-Process Messaging](https://awesome-repositories.com/f/operating-systems-systems-programming/inter-process-messaging.md) — Communicates with the underlying media engine by sending asynchronous instructions and receiving status updates over a dedicated pipe.
- [Desktop Environment Integrations](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-frameworks/desktop-environment-components/desktop-environments-ui/desktop-environment-integrations.md) — Exposes playback status and media metadata to system-level interfaces to enable cross-application media management and remote control. ([source](https://celluloid-player.github.io/))
- [Wayland](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-frameworks/desktop-environment-components/desktop-integration/compositor-integrations/wayland.md) — Runs high-performance media playback natively on modern Linux desktop environments without relying on legacy X11 compatibility layers.

### Software Engineering & Architecture

- [Broadcasting Protocol Integrations](https://awesome-repositories.com/f/software-engineering-architecture/standardized-protocol-based-integrations/broadcasting-protocol-integrations.md) — Exposes current playback status and media metadata to the system shell using standard broadcasting protocols for cross-application control.

### System Administration & Monitoring

- [Display Protocol Compatibility](https://awesome-repositories.com/f/system-administration-monitoring/display-configuration-managers/display-protocol-compatibility.md) — Renders the video surface directly to the modern display protocol to ensure high-performance output and low-latency input handling.

### User Interface & Experience

- [Cross-Platform UI Toolkits](https://awesome-repositories.com/f/user-interface-experience/cross-platform-ui-toolkits.md) — Constructs the graphical interface using a cross-platform widget library to manage event-driven interactions within the desktop environment.
