Real-Time Video Synchronization Platform
Platforma pro synchronizaci videa v reálném čase
diplomová práce (OBHÁJENO)

Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/197447Identifikátory
SIS: 271181
Kolekce
- Kvalifikační práce [11321]
Autor
Vedoucí práce
Oponent práce
Klímek, Jakub
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika - Softwarové systémy
Katedra / ústav / klinika
Katedra softwarového inženýrství
Datum obhajoby
11. 2. 2025
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Dobře
Klíčová slova (česky)
mpv|video|přehrávač|synchronizaceKlíčová slova (anglicky)
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.