media-operator

media-operator plays films, series, and music on the screens and speakers of a liken cluster, and lets a remote control them. You declare each unit of equipment, such as a TV with its speakers, as a Player, and you start playback by creating a Play on it. A Remote connects a controller to the players it drives.

Things you can run this way:

Start here:

How it works

The API has five resources:

For each Play, the operator starts one pod that runs mpv , with claims on the Player’s devices. It claims the speakers and the other devices only while the Play runs, so other workloads can use them in between. Between plays, each Player’s idle pod keeps the screen: it shows a clock and the player’s name, and fades them after a few minutes with no activity. You can also have the operator turn the panel off after longer, when display-operator serves the screen.

Each Remote has its own pod, which sends button presses to the cluster’s message bus , and the playback pod acts on them. Your own programs can use the same bus. The operator also ships a capabilities agent, which publishes what each GPU can decode, encode, and scale, as media.liken.sh devices, so a pod can claim a GPU that decodes 10-bit HEVC, for example.

media-operator is one of the extension operators for running a home theater . It plays what you name in a Play. library-operator adds a catalog of your films and series, and a browser on the screen to pick from it.