Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

mpv_raylib_advanced

Test lib mpv render in raylib

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

mpv-raylib-advanced

🎬 Advanced MPV Video Player with Raylib

A high-performance video player built with Raylib and libmpv, featuring hardware-accelerated video decoding and a custom graphical interface. This project demonstrates seamless integration of the powerful mpv media player engine with Raylib's rendering capabilities.

The project used bindings from https://github.com/URUWorks

✨ Features

  • Hardware-Accelerated Video Playback - Utilizes libmpv with automatic hardware decoding support
  • Real-time Video Rendering - Smooth OpenGL rendering directly to Raylib textures
  • Fullscreen Support - Toggle fullscreen with F key or double-click
  • Interactive Timeline - Click on the progress bar to seek
  • Volume Control - Adjust volume with +/- keys (supports numeric keypad)
  • Audio Mute - Toggle mute with M key
  • Keyboard Shortcuts:
    • SPACE - Play/Pause
    • LEFT/RIGHT - Seek +/- 5 seconds
    • UP/DOWN - Seek +/- 30 seconds
    • +/- - Volume control
    • M - Mute/Unmute
    • F - Toggle fullscreen
  • On-Screen Display:
    • Current time / Total duration
    • Volume percentage
    • Mute indicator
    • Pause overlay
    • FPS counter
  • Responsive UI - Automatically adapts to window resizing
  • Double-Click Fullscreen - Quick toggle with mouse double-click

🚀 Getting Started

Prerequisites

  • Free Pascal with Lazarus/FPC
  • Raylib - Game programming library
  • libmpv - mpv media player library