ExoAirPlayer app
ExoAirPlayer is an app you run on your Android set-top box. It plays video/audio URLs "cast" to it with a stateless HTTP API (based on AirPlay).
There is no UI when the app starts. It’s a foreground service with a notification, which runs a web server on port 8192. The IP address of the server is given in the notification message.
When a video URL is "cast" to the server, a video player opens full-screen. If the video player loses focus (ex: by pressing the "home" button), another notification is added to control playback or refocus on the video player window.
When an audio URL is "cast" to the server, the music plays in the background – even when the screen is off.
This page is the simplest way to send signals to a running instance. Though other "high-level" tools exist to capture media URLs from the wild (some are listed here). One of them is DroidPlay, which lets you cast content from another Android device to ExoAirPlayer.
Audio or video files/playlists can also be started directly from the Android file system, which makes this app a very suitable replacement for a general-purpose video player. This can be done locally on the same device, e.g. using a file manager like Total Commander: if you tap a media file there, it implicitly calls an intent ExoAirPlayer (and other installed media players) act upon – so a list of such apps open and you can chose from it. You can also use Total Commander to create playlists; see here for details.
The remote way to do this requires knowing the structure of the Android file system. In that case, rather than "casting" a URL.. you can "cast" a file or directory path (ex: /storage/sdb1/Downloads/my-video.mp4
). This can be done with the website mentioned above.