Supported Bit Versions
  1. 64-bit
Source Code URL
https://github.com/CodeYan01/media-playlist-source
Minimum OBS Studio Version
30.0.0
Supported Platforms
  1. Windows
  2. Mac OS X
  3. Linux
Media Playlist Source

Introduction

An OBS Plugin that serves as an alternative to VLC Video Source. It uses the Media Source internally.

Features
  • Allows editing the playlist without restarting the video, even if files are
    reordered.
  • Allows editing any setting without restarting the video.
  • Saves the currently playing file so it would be played when OBS restarts.
  • Allows selecting a file or folder item from the list to play.
  • Shuffling (Based on VLC 4's implementation)
    • Allows adding/removing items from the playlist without the need to
      reshuffle. The shuffling order of already played items will be saved, so
      clicking Previous Item will still play the previous item. Selecting a file or
      folder item also does not break the history.
    • Reshuffles when the last file in the playlist is played out, without
      affecting history.
  • Shows the filename of the current file in the Properties window.
  • Has an option to play the first file or the current file when the source is
    restarted.
Other Features
  • At the moment, the plugin refreshes the contents of all added folders when any setting is changed. As a temporary solution to automatically refresh the folder contents all the time, you can use this script that I wrote. I will eventually implement this feature into the plugin.
Limitations
  • The Properties window will show the filename of the current file, but it can
    not be automatically updated when the video ends as it could cause OBS to crash
    when the video ends while interacting with the Properties window. Reopening the
    Properties window will refresh the shown current file.
  • While this plugin works with OBS 30 and up, it requires this change at
    https://github.com/obsproject/obs-studio/pull/8051 that allows this plugin to
    save the index of the current file, so that restarting playback is not needed
    when editing the list. This change isn't merged yet as of OBS 30.0.2.
    A custom build with this PR is available
    here.
  • Does not support audio track or subtitle selection yet.
  • Does not automatically refresh folder contents yet, but can be manually done
    by saving the settings again.
For Developers

To find out the keys used in the source settings, use obs_data_get_json to view it, or check the scene collection json. You could also check src/media-playlist-source.c

To select a file programmatically:


Code:
proc_handler_t *ph = obs_source_get_proc_handler(source);
struct calldata cd = {0};
calldata_set_int(&cd, "media_index", 3); // 4th file
calldata_set_int(&cd, "folder_item_index", 3) // 4th folder item of the 4th file
proc_handler_call(ph, "select_index", &cd);
calldata_free(&cd);
media_index - the 0-based index of the file in the playlist

folder_item_index - the 0-based index of the folder item in the folder at media_index

If the file at media_index is not a folder, the second parameter is ignored. If media_index is higher than the playlist item count, it will be set to 0. If folder_item_index is higher than the folder item count or media_index, it will be set to 0.


Contact Me

Although there is a Discussion tab in these forums, I would see your message faster if you ping me (@CodeYan) in the OBS Discord server, in #plugins-and-tools. Please do report bugs or if there are features you'd like to be added.

Donations

You can donate to me through PayPal to support my development. Thank you!
  • Like
Reactions: ASchneider
Author
CodeYan
Downloads
12,827
Views
41,854
First release
Last update
Rating
4.75 star(s) 4 ratings

More resources from CodeYan

Latest updates

  1. 0.1.2

    Starting from Version 0.1.0, the minimum requirement is OBS 31, and I am glad to announce that...
  2. 0.1.1

    Starting from Version 0.1.0, the minimum requirement is OBS 31, and I am glad to announce that...
  3. 0.1.0

    Starting from this version (0.1.0), the minimum requirement is OBS 31, and I am glad to announce...

Latest reviews

win11 24h2 ,obs31.0.1,After installing the plugin, there is no Media Playlist Source in the Add Source menu.
C
CodeYan
Resolved in 0.1.1
Perfect alternative to the VLC playlist. Thank you!
Seems it works well with OBS 31. Maybe it's me but it seems less ressource hungry than Obs Vlc video source
Audio doesnt stutter like the VLC version does in some use cases. Interesting being able to access individual files directly in properties. Excellent alternative.
Top