

OdinOnDemand (OOD) adds several forms of multimedia to Valheim that allow players to natively watch YouTube as well as direct video files on in-game screens. The mod also offers two types of musicplayers that can play YouTube, SoundCloud links, as well as direct audio files -- additionally, all of this is multiplayer compatible and seemingly relatively low-impact.
ValMedia recommends playing without bloom while watching for the best viewing experience.
0.9.80 adds a new Theater Screen, and persistent player variables such as listening distance, autoplay, and admin only! Click the little cog icon on mediaplayers to explore these new features! Thanks to all that have supported the project so far!
This mod is in beta and has not been extensively tested. Please report any issues on the Nexus or GitHub tracker.
Installation of the plugin is fairly straightforward, just install into Bepinex/plugins or use r2modman. It must be installed on both server and client.
Recipes can now be tweaked through a json file located at BepInEx\config\com.ood.valmedia.recipes.json, the mod will automatically make this. However the default recipe file can be found here if needed.
Some helpful links to help you edit this file are here
Beautify JSON to made it readable, and validate it here
Unless you know what you're doing, please only change the requirements section. If you have any issues keep in mind you can delete your .json file and the mod will re-create it with default values.
The remote control recipe can't be tweaked yet, you can always use a mod like WackysDB for the time being.
In game, place down a cinema screen or boombox. Mediaplayers can be destroyed with the hammer or with damage to get materials back.
Interact with it to open the GUI.
For cinema screens, you must have either a direct link to a remote or local video file of a compatible codec or use a youtube/youtu.be link. YouTube should work natively. There is an optional self-hosted backup API, if interested check GitHub.
For boomboxes, you must have a direct link to a remote or local audio file of a compatible codec, a soundcloud.com link, or a youtube/youtu.be link. Through testing I've noticed some SoundCloud songs are unavailable. I think it depends on the artist and how they upload/license their art.
Local files are not synced over multiplayer.
Put the link into the input field and click set to set a file. Control playback with play, pause, and stop. Control individual player's volume with the slider and mute button. ">>" to track forward. There are also loop and shuffle toggles.
You can play YouTube playlists - when a playlist is set, new info will appear. You can choose to shuffle or loop the playlist. If you turn on looping while a playlist is active, the whole playlist will loop - not individual videos. The Viking who sets the playlist handles playlist logic, so if they leave the area or disconnect playlist playback will stop, but it is multiplayer synced. Try not to skip through tracks too fast. If you have autoplay enabled, the last video played will be saved as the autoplay video when the Viking unloads the mediaplayer object.
Mediaplayers can be controlled from a distance with a remote control. A remote control can be crafted with 1 bronze. Simply equip, point at a Mediaplayer and click. Config options include max controller distance, and an option to make remote control access private.
Mediaplayers can be locked in the top right corner of the menu. When a Mediaplayer is locked, Vikings can only access it if they have access to the private area created by a Ward.
Click the cog icon in the bottom right for extra options. Here, you can enable autoplay, admin only access, control listening distance and control master volume.
Autoplay does not currently support playlists. If a viking is playing a playlist with autoplay enabled and unloads the mediaplayer object, the autoplay video will be set to the last played video. Autoplayed videos are not synced. Vikings will load videos upon mediaplayer load-in.
Each player can have it's own customized listening distance, limited via config. This limit is not enforced on admins. Master volume is a client sided setting that can also be changed in the mod's config.
Most features are synced over multiplayer through RPC events. Volume and tracking are client sided. Tracking will de-sync. Screens do not currently check for video sync or update to currently playing videos when connecting/loading new Mediaplayers (unless autoplay is enabled and a video is set)
Boomboxes are currently difficult to place. Just.. keep trying. They place easier on terrain it seems. I'm not quite sure why this is happening. Gramophones are not affected.

If the mod fails to play any sort of video file, not just YouTube, check your Player.log. If there are errors about Direct3D and refresh rate / v-sync you may have to do this. Please check your GPU driver's control panel and make sure the vertical sync setting is either identical your in-game settings or set to "match application setting"
Build by DanAugust Last picture is with back-light setting turned off.
For any tech-savvy Vikings out there, there is a backup YouTube api that can be self hosted using Node and youtube-dl. This is completely optional and not required as long as the built in library is maintained (YouTubeExplode)