Mplayer Shuffle Command: Play Files In Random Order

Posted on in Categories last updated October 1, 2011

How do I play files in random order using the mplayer command line player under Linux / Unix operating systems?

You can play most files such as MPEG/VOB, AVI, ASF/WMA/WMV, RM, QT/MOV/MP4, Ogg/OGM, MKV, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM and RoQ files in random order using the following command syntax:

mplayer -shuffle -playlist YOUR-PLAY-LIST-HERE

How Do I Generate a Playlist?

mplayer can play files according to a playlist file type such as ASX, Winamp, SMIL, or one-file-per-line format. You can use the find command to generate a playlist for mplayer:
$ cd /path/to/music/dir
$ find -type f -iname \*.mp3 > playlist.txt

mplayer Shuffle Mode Command

Type the following command:
$ mplayer -shuffle -playlist playlist.txt

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

20 comment

  1. Vivek:

    I have been wondering how to do what you so wonderfully explained for many years!
    Thanks for your help — and thanks for helping the whole Linux/Gnu community!

    1. relic, lol, I miss dos.. Found another one tho! mplayer */* for your whole collection, it will do all in this directory, and all in one directory down.. I’ve also used mplayer */*/* to play two folders down.. =]

  2. i am actually almost disturbed at the amount of people praising this advice.
    its RIDICULOUS!
    so, on the one hand you have this simple idea of composing a command for terminal, BUT then you HAVE TO THEN ADD THE WHOLE BLOODY PLAYL;IST THAT YOU HAVE ALREADY GOT IN YOUR PLAYER?
    how impractical and long winded is that?
    stupid idea. really dumb.
    and to cut a long story short:
    WHERE IS THE BLOODY RANDOM/SHUFFLE BUTTON? (like any sensible decently designed player has)

    1. not our server at work, no GUI.. plus on top of that, each employee has their own music folder, so depending on who’s working, is who has control over the music server via SSH.. so no buttons, except the ones at the keyboard, and no mouse control.. period..

  3. If I understand correctly the several comments in this post, it is not possible to remove the -shuffle when we are in slave mode?
    By example, I have start mplayer in slave mode, I currently have script to “loadlist toto.m3u >/tmp/my.mplayerontroller” and I want to add the option to play my playlist with our without shuffle.
    Will I have to kill mplayer and restart it to achieve this? or is there a slave mode command like “shuffle true >/tmp/my.mplayerontroller”

  4. MPlayer shuffle is not random at all. I know good random generators are not trivial to make, but there are good, free solutions out there. This is really getting irritating. After using it for a while, I can predict which folder it will visit, which also means the mplayer RNG does not cover all the files.

Leave a Comment