To show what is playing in an OBS playlist, add a VLC Video source for the playlist and a text source above it. For the text to change automatically, configure the Tuna plugin to read the VLC source and write available track information to a file that the OBS text source reads.
The distinction matters: Tuna can display artist and title metadata when the source provides it, while a filename is only a possible fallback and may not be a good title. An OBS text source does not automatically know which playlist item is playing just because both sources are in the same scene, so test with the actual files and transitions you intend to use.
Add a VLC Video playlist source
Create the video source first, because the text workflow will refer to it. In OBS, use the Sources panel to add a VLC Video source, give it a recognisable name such as Bhajan playlist, and open its properties. Add the media files in the order you want them to play. The source is responsible for playback; it is separate from the text that will later display information about a track.
The OBS Project explains that, unlike a Media Source, a VLC Video source can hold a playlist of items, similar to an Image Slideshow. See its Media Sources guidance for the source distinction and the settings available in OBS. You will need VLC installed for the VLC Video source to be available. If you run 64-bit OBS, OBS says to use 64-bit VLC as well.
Choose loop and shuffle deliberately. Looping returns playback to the playlist; shuffle changes the expected order. If you need a particular sequence—for example, an opening chant followed by a longer devotional set—leave shuffle off and verify the order in the source properties. Visibility and scene changes also matter: if the VLC source is hidden or removed from the active scene, you may not be testing the same source Tuna will be asked to read.
Use clear names if the scene contains more than one playlist. A second VLC source used for a transition or alternate programme can make source selection confusing later. Naming each source by its role makes it easier to select the intended one in Tuna and to revisit the scene after a break.
A VLC playlist is useful when you want several pre-recorded items in one OBS scene. If you are deciding between a local machine and a different way to keep a stream running, the practical considerations in using a playlist file to automate prerecorded OBS streams may help you plan the playback side separately from the overlay.
Add a text source above the playlist
Next add a text source in the same scene. Choose the text source type available for your operating system—OBS offers platform-specific text sources—and name it something explicit, such as Now playing. The source can either contain text entered directly or read text from a file. For the automatic method, you will select a file later, after Tuna is configured to create it.
Place the text source above the VLC Video source in the Sources list so it renders in front of the video. If the text is underneath the playlist, the file may update correctly while the viewer sees no overlay. Arrange the text within the canvas safe area and leave room for long titles. A line that fits a short track name may run off screen when an album title or artist list is longer.
Set a legible font, size, colour and background treatment for the material behind it. On a light devotional image, a dark outline or a translucent panel can help; on dark lofi footage, a bright text colour may work better. Preview both kinds of content if the playlist varies. Keep the overlay out of areas where subtitles, lyrics or other on-screen information already appear.
At this point the text source is only a display surface. It does not infer the current item from the VLC source, nor does the VLC playlist itself guarantee a matching overlay. If you put a manual phrase in the text field, it will remain that phrase until you change it. The automatic update comes from connecting a metadata source to an output file and configuring this OBS text source to read that file.
Configure Tuna to read the VLC source
Tuna is a third-party OBS plugin that can use available music information from a selected source and write it to an output. Its OBS Project resource page documents the plugin and setup details; check the current Tuna instructions and its release updates against your OBS version before installing. Compatibility and installation instructions can change, so do not assume a guide written for another operating system or OBS build applies unchanged.
After installing Tuna, open its settings from OBS's Tools menu. Select VLC as the music source, then choose the scene and the specific VLC Video source containing the playlist. Add or confirm that selection in Tuna. The exact controls can differ between plugin versions, which is another reason to check the current instructions rather than relying on a remembered menu layout.
For VLC-source support, Tuna's resource instructions specify VLC 3.0.0 or later. That requirement is separate from matching the VLC and OBS architectures. If Tuna does not show the source or does not report the information you expect, confirm the VLC version, source selection and plugin load status before changing the text layout.
Platform setup also needs attention. Tuna's Linux documentation describes a Debian-based installation route and notes that the steps can differ across distributions; it also notes possible loading issues with the Flatpak OBS build. If you use Linux, consult the current installation notes for your packaging method. Avoid assuming that a plugin installed for one OBS build will be visible to another build on the same computer.
If your scene has nested sources or several VLC sources, take care to select the actual playlist source Tuna should follow. A nested scene can make the source harder to identify, and selecting the wrong one may yield blank or unrelated information. Use the OBS preview and the Tuna settings together to confirm the chosen source corresponds to the media visible in the scene.
Write track information to a text file
In Tuna's output or Basics settings, choose a text-file path that you can find again. Give the file a descriptive name and save it in a location that remains available to OBS. Then choose a format for the line. Tuna's documented example, {artists} - {title}, expresses the intended result: artist information, a separator, and title information where those fields are available.
The format is a template, not a guarantee that every item will fill every field. A file can lack tags, a source can provide only part of the information, and a title may be stored differently from what you expect. Tuna's instructions warn that the selected music source may not provide every field. Character limits and formatting options can help keep output manageable, but they cannot create accurate metadata that is absent from the file or source.
You can choose a simpler format if the artist field is often empty, but first observe what the actual output contains. For a channel that plays a mixture of tagged music and ambience recordings, a template that assumes artist and title for every item may produce an awkward separator or blank line. A conservative format, followed by testing across representative tracks, is more useful than designing the overlay around the best-tagged file.
If a file has no usable track tags, its filename may still be visible in some workflows, but it is not automatically a reliable title. A file named track_final2.mp4 or audio_07.mp3 gives viewers little context. If you need exact labels for a fixed sequence and are not using metadata automation, a manually maintained text file can work, provided you are willing to update it whenever the order changes. Without Tuna or another tested metadata process, two OBS sources sitting together do not make the text update automatically.
The practical choices differ in maintenance and dependence on metadata:
| Route | What changes the displayed text | Main trade-off |
|---|---|---|
| Manual text entry | You edit the OBS text yourself | Exact wording is possible, but it can become stale when the playlist changes |
| Manual text file | You edit a file that OBS reads | Easier to update outside OBS, but still requires someone or a tested process to maintain it |
| Tuna output file | Tuna writes available information from the selected source | Less manual editing during playback, but the result depends on source data and plugin compatibility |
These are workflow differences, not a performance comparison. The sources do not establish a guaranteed update delay or a universal result for every file type. Choose based on whether your playlist is stable, whether its files are tagged, and how much manual checking you can sustain.
Point the OBS text source to that file
Return to the Now playing text source properties and enable the option to read from a file. Browse to the output file configured in Tuna and confirm the path. The text source should now display the file's contents rather than a phrase typed into the properties. Keep the source above the VLC playlist in the scene order, then position and style it as needed.
A path mismatch is a common cause of an empty overlay. Confirm that the selected file is the same one Tuna is writing, that the file is accessible to the account running OBS, and that you have not moved or renamed it since configuring Tuna. If the file is blank in a text editor after playback starts, investigate the Tuna source and output before adjusting OBS typography.
Check how OBS handles a long line in your chosen text-source type. You may need to constrain its width, reduce the font size, or use a background box so a longer artist/title combination remains readable. Review the scene at the resolution you actually stream, not only in a large editing preview. A title can look fine on the canvas and still be too small on a phone screen.
If the source is visible in the preview but the line is empty, distinguish display problems from metadata problems. A hidden text source, incorrect layer order or wrong file path is an OBS-side issue. A file that exists but contains no useful fields points instead to the selected Tuna source or to the media's metadata. This separation makes troubleshooting quicker than repeatedly changing font settings.
Check metadata and title changes
Test more than one item from the real playlist. Start playback, note what the file contains for the first item, then wait for a transition and inspect the output again. Check a well-tagged track, a file with incomplete tags, and any unusual format or long title that appears in the channel. The relevant question is not only whether one song looks right, but whether the text changes when the playlist advances and remains meaningful when information is missing.
If the artist or title is wrong, inspect the file's metadata in a tag editor or media information tool and correct it at source where appropriate. Tuna can only write information available from the selected source; it cannot infer which of several possible titles you intended. For a channel using Indian devotional music, for example, a file may have a devotional title in its filename but no artist tag, or the artist field may contain an album name. Decide which fields are useful to viewers and tag consistently.
Do not assume a filename equals an accurate title. Filenames can contain catalogue codes, internal notes or spelling variants, and filename display is not the same as reading artist/title tags. If you need a filename fallback, check the exact output behaviour in your setup and consider renaming files to something suitable for public display. Do not rely on a fallback until you have seen it on the actual playlist.
A blank value is also a possible result. You can choose to hide the text source when no useful title is present, leave a neutral label, or accept a blank space; which option is appropriate depends on the channel design and the behaviour you verify. Do not advertise a song title on screen unless you have checked that the output represents the current item rather than a stale value left by the previous one.
For a larger running channel, the overlay is one part of a scene that may also need controlled transitions and scheduled changes. If you later need to replace a video block without ending the broadcast, see how to switch videos without ending a 24/7 YouTube live stream. That is a separate playback task; it does not replace testing the text output for each source you intend to use.
Test the complete scene before going live
Run a rehearsal with the same OBS scene, playlist file set, plugin version and output path you plan to use. Check playback, overlay visibility, text changes at item boundaries, and the behaviour of files without full tags. Also verify that loop or shuffle settings do not cause an unexpected sequence. A short preview of a single well-tagged track cannot reveal how the overlay behaves across a varied playlist.
Look at the scene as a viewer would: at your stream canvas dimensions and on a smaller screen if you can. Confirm that text contrasts with the video, stays within the frame and does not cover important parts of the picture. Long titles and non-Latin scripts may need different spacing or font choices. If the playlist contains lyrics or on-screen devotional text, check that the now-playing line does not compete with it.
Then confirm the stream workflow separately. OBS's local preview can show a correctly configured scene, but it does not establish that a YouTube broadcast is configured as intended. For a 24/7 channel, also consider how you will resume the right playlist and scene after restarting OBS or changing content. A Mac mini setup for an Indian music YouTube channel discusses a different operating context; the overlay steps here remain an OBS scene and metadata task.
Keep a simple checklist with the source name, output-file path, selected Tuna source and a note about files whose tags need attention. If you update OBS, VLC or Tuna, recheck the source selection and one or more transitions before relying on the scene again. Since Tuna is third-party software, current release notes are the right place to check compatibility questions that arise after an update.
If maintaining a local playback machine is not central to your plan, StreamNeo removes the need to keep your own computer running for the broadcast, but this OBS playlist overlay workflow is for a local OBS scene and StreamNeo is YouTube-only. Keep the distinction clear when choosing an operating approach: a change in how the live broadcast runs does not automatically recreate a specific OBS scene overlay.
Before committing, compare the operating options on the pricing page. When the file and channel are ready, start free — 24-hour trial, no card.
FAQ
Does an OBS VLC playlist automatically update a text source?
No. The playlist source plays its items, while a text source displays text or reads a file. For automatic updates, connect a metadata process such as Tuna to the selected VLC source and have the OBS text source read its output file; test the result rather than assuming the sources are linked.
Will Tuna always show the correct song title?
No. It can only use information available from the media and selected source, and some items may have missing or incomplete tags. Check the output for the real files in your playlist, and correct tags or use an explicitly maintained label where accuracy matters.
Can I use a filename instead of artist and title metadata?
A filename can be a useful label only if your tested workflow exposes it and the filename is suitable for viewers. Filenames are not guaranteed to match accurate titles, so check the actual output and rename files if needed. Tuna's track-information workflow should not be treated as a promise that every filename will appear as a title.
What should I check if the overlay is blank?
First confirm that the text source is visible, above the VLC source, and reading the same file Tuna writes. Then check Tuna's selected scene and VLC source, its plugin load status and the media's available tags. A blank output can come from missing metadata as well as a file path or source-selection mistake.