Uvicorn's asyncio_loop_factory returns SelectorEventLoop on Windows whenever reload=True (use_subprocess=True). SelectorEventLoop does not support asyncio subprocess APIs, causing NotImplementedError in the app. Fix: pass loop='none' so uvicorn respects the ProactorEventLoop policy we configure, instead of overriding it. Also suppress the Py3.14 DeprecationWarning on the policy class itself.
MediaHive
Netflix style browsing of your local media archive. Supports keyboard, mouse and gamepad navigation. Uses your favorite movie player.
What It Does
- Scans your chosen media folder for all movies and series that can be found
- Produces preview video clips and downloads metadata
- Search on cast and character names, not just titles
- Hand off playback to your preferred system player
- Implement gamepad controls for MPC-BE on Windows (where needed)
Extract the ZIP in some place and run MediaHive.exe to start the app. Currently we have no installer, but you can pin to start/taskbar for easier access. On the first startup the app asks for your media folder, that can later be changed by clicking in-app folder icon.
Note that .mediahive folder is created in your media folder to hold all the metadata and preview clips, avoiding the lengthy processing that you will see on initial startup.
Controls
MediaHive is designed to work with a mouse, keyboard, or gamepad.
| Input | Controls |
|---|---|
| Mouse | Click posters, rows, search, play, and folder actions directly. |
| Keyboard | Arrow keys move focus, Enter activates the focused item, Escape goes back, and / jumps to search. |
| Gamepad | D-pad or left stick moves focus, A selects or plays, and B goes back. |
Recommended Players
MediaHive opens files with the OS default app. On Windows, if MPC-BE is your default player and Web Interface is enabled on port 13579, MediaHive can send gamepad commands to MPC-BE. On macOS and Linux, MediaHive relies on native player controls.
Atoggles play and pause.Bcloses the player.Ytoggles mute.- D-pad up and down change volume.
- D-pad left and right seek during playback, or step frames while paused.
Background
This project started as a personal project that I have used for browsing my warez for some time now. It is still in early development, but I have just now made it public for a wider audience.
