12 votes

Can VLC or some other Windows program shuffle through a playlist without ever repeating a file, while also storing that state for future sessions?

I am using Windows 10.

That is perhaps a silly question to ask, but I did not find an answer.

Suppose that I have a playlist with 100 videos on VLC or some other video player. I wish for it to play all the one hundred files in random order, with the exception that any video that was already played (or, possibly, played to completion) will be excluded, and will not be played again. A video not played to completion would resume from where it stopped.

This should be persistent, so the next time I fire up the playlist it starts from where I left it and also remembers the videos that were already played and should be skipped. Ideally, upon completion of the playlist, I should be able to learn that it was complete, so I could get new videos/episodes of whatever shows I am shuffling.

Thanks!

EDIT: I understand I can actually pre-shuffle the playlist to get something very similar to what I am asking. However, I would rather not know what is coming next. Like it used to be when I watched TV back in the day. Thanks! ;)

11 comments

  1. [5]
    arch
    Link
    You want foobar2000. I believe shuffle mode does this by default. Edit: stupid me didn't read closely to see that you need video, not audio. But foobar2000 likely supports whatever video you need...

    You want foobar2000. I believe shuffle mode does this by default.

    Edit: stupid me didn't read closely to see that you need video, not audio. But foobar2000 likely supports whatever video you need worst case through plugins

    9 votes
    1. [4]
      RheingoldRiver
      Link Parent
      this is indeed exactly how shuffle mode works in foobar, but can you play video in foobar?

      this is indeed exactly how shuffle mode works in foobar, but can you play video in foobar?

      5 votes
      1. [3]
        arch
        Link Parent
        Apparently you can now (I edited my original comment to add this after your reply)

        Apparently you can now (I edited my original comment to add this after your reply)

        4 votes
        1. [2]
          RheingoldRiver
          Link Parent
          oh very cool! this is great news and I'll have to try it out!

          oh very cool! this is great news and I'll have to try it out!

          1 vote
          1. [2]
            Comment deleted by author
            Link Parent
            1. RheingoldRiver
              Link Parent
              ah makes sense! I deliberately use Random instead of Shuffle because I don't like knowing what song is next if I'm listening to a playlist composed of multiple albums, and foobar gets restarted...

              ah makes sense! I deliberately use Random instead of Shuffle because I don't like knowing what song is next if I'm listening to a playlist composed of multiple albums, and foobar gets restarted precisely when my computer gets restarted

  2. kaffo
    Link
    I might be talking out my ass here because it's been a long time since I used it (and apparently it's not been updated since 2016) but Clementine used to do it (for music) I'm pretty sure. As...

    I might be talking out my ass here because it's been a long time since I used it (and apparently it's not been updated since 2016) but Clementine used to do it (for music) I'm pretty sure.
    As memory serves I had a huge playlist with a lot of files and I used to shuffle through them over multiple sessions, I think you could force it to never repeat?
    But again, pinch of salt and I dunno if I'd recommend it today.

    Good luck though trying to find something! Seems like a pretty specific use case.

    3 votes
  3. ChingShih
    Link
    I've never used this, but after some digging it sounds like ErsatzTV will do what you want and has the shuffle feature you're specifically asking for. There are versions for Windows, Linux, and...

    I've never used this, but after some digging it sounds like ErsatzTV will do what you want and has the shuffle feature you're specifically asking for. There are versions for Windows, Linux, and MacOS, and it can be paired with Plex if you want to do even more robust IPTV stuff.

    Shuffle: Items are randomly ordered and no item will be played a second time until every item from the collection has been played once. (link)

    It sounds like a playlist (schedule?) might need to be created so that you have the persistence across opening and closing the program, but hopefully that's a trivial issue. I was hoping there would be some program out there like Winamp that reopens the old playlist from a temp file and never bothers you about having to save it (I still use Winamp ... there are dozens of us).

    3 votes
  4. gco
    Link
    I believe (But am not 100% sure) that you should be able to get what you need with Kodi. It supports smart video playlist which can be shuffled and folders as well. It will remember where in the...

    I believe (But am not 100% sure) that you should be able to get what you need with Kodi. It supports smart video playlist which can be shuffled and folders as well. It will remember where in the video you were when you skip them. Just not sure about the playlist lasting between sessions but I would guess it does.

    1 vote
  5. [3]
    julesallen
    Link
    Edit: IDIOT ALERT! Sorry, just re-read and I see you’re on Windows. Will leave this up for Mac users that want to do the same thing. Sorry! — — — — — 8< — — — — IINA can do this. https://iina.io/...

    Edit: IDIOT ALERT! Sorry, just re-read and I see you’re on Windows. Will leave this up for Mac users that want to do the same thing. Sorry!

    — — — — — 8< — — — —

    IINA can do this. https://iina.io/

    In the current release version the shuffle has to be manually invoked (there’s an accepted bug to make it sticky). But if you want it to do this on launch you can invoke it from a shell:

    /Applications/IINA.app/Contents/MacOS/iina-cli --mpv-shuffle /path/to/vids/folder

    2 votes
    1. [2]
      lou
      Link Parent
      That's great. It seems like this is a program for macos though.

      That's great. It seems like this is a program for macos though.

      2 votes
      1. xk3
        (edited )
        Link Parent
        IINA is mpv for Mac OS. You can use mpv on Windows and Linux too. Unfortunately, when you restart your computer you will start over... unless you find a lua script which can keep track of that...

        IINA is mpv for Mac OS. You can use mpv on Windows and Linux too. Unfortunately, when you restart your computer you will start over... unless you find a lua script which can keep track of that session history or use a program that I wrote!

        It keeps track of the number of times you watched or listened to something.

        First install and create the file database:

        https://scoop.sh/

        scoop install mpv ffmpeg python  # or use choco
        
        pip install library
        library fsadd audio.db --audio .\Music\ .\Audiobooks\
        

        Then you can use something like:

        library listen audio.db --where play_count=0 --random
        

        That will play things in random until you've run out of things to play.

        In addition to the above, you can add --fetch-siblings each and that will make it so that files within each parent folder are played in order (for example ep1, ep2, etc). You can also use if-audiobook instead of each to only play in order when "audiobook" is part of the file's path.

        For videos the process is essentially the same. But use --video instead of --audio and watch instead of listen. You can also add --fs to force full screen.

        You should exit with ctrl-c when you want to stop and mark the video as incomplete or q to mark the video as watched and go to the next video.

        3 votes