Real-Time Video Synchronization Platform
Platforma pro synchronizaci videa v reálném čase
diploma thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/197447Identifiers
Study Information System: 271181
Collections
- Kvalifikační práce [11321]
Author
Advisor
Referee
Klímek, Jakub
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Science - Software Systems
Department
Department of Software Engineering
Date of defense
11. 2. 2025
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Good
Keywords (Czech)
mpv|video|přehrávač|synchronizaceKeywords (English)
mpv|video|player|synchronizationTato práce se zaměřuje na návrh a implementaci vylepšeného řešení pro synchronizaci přehrávání, které řeší nedostatky současných aplikací. Na základě komplexní analýzy jsme identifikovali klíčové nedostatky a navrhli řešení založené na rozsáhlém rozhraní API přehrávače mpv. Tím, že jsme se soustředili pouze na jeden přehrávač, jsme se vyhnuli problémům s kompatibilitou spojenými s podporou více přehrávačů a plně jsme využili všech možností mpv. Naše řešení je multiplatformní aplikace s intuitivním UI/UX, správou uživatelských účtů a synchronizací základních i volitelných operací, včetně přehrávání/pauzy, změny pozice přehrávání, rychlosti přehrávání, zvukové/titulkové stopy a zpoždění zvukové/titulkové stopy. Synchronizace je udržována pomocí algoritmu na straně serveru, který upravuje přehrávání tak, aby minimalizoval desynchronizaci mezi uživateli. Aplikace podporuje přehrávání z odkazů URL a soukromých souborových serverů, podporuje i integraci yt-dlp, což umožňuje přehrávání z platforem jako YouTube. Dále jsme do aplikace na vybraných platformách začlenili funkcionalitu pro vložení okna přehrávače, čímž jsme se překonali omezení srovnatelných nástrojů, jako je Syncplay.
This thesis focuses on designing and implementing an enhanced solution for playback synchronization, addressing the shortcomings of the contemporary applications. Through comprehensive analysis and evaluation, we identified key gaps and proposed a solution based on the extensive API of the mpv player. By centering our approach on a single player, we avoided compatibility challenges as- sociated with multi-player support and fully utilized the capabilities of mpv. Our solution is a cross-platform application featuring intuitive UI/UX, user account management, and synchronization of essential and optional operations, including play/pause, seek, playback speed, audio/subtitle track, and audio/subtitle track delay. The synchronization is maintained via a server-side algorithm that adjusts the play- back to minimize desynchronization among users. The application supports playback from URL links and private file servers and also supports yt-dlp integration, enabling playback from platforms such as YouTube. We also incorporated functionality for em- bedding the player window into the application on selected platforms, overcoming the limitations of comparable tools such as Syncplay.