vlc vs mplayer vs mpv vs other?

I used to use
Code:
vlc -Z *

Looks like VLC has issues upstream so tried
Code:
mplayer -shuffle *

Not too happy there or with gmplayer either

So have settled on
Code:
mpv --shuffle *

Main gripe was trying to forward to the next song/video

What are some other alternatives I wonder?
 
Thanks for the suggestions :-)

My issue wasn't very well explained, I can play music using VLC but trying to forward to the next song makes VLC core dump, after limited testing when using nvidia driver only

I have settled on mpv --shuffle *

Plays random songs in the directory, using Enter key to forward to next song and 0 or 9 keys to adjust volume
 
couple of mpv tips

mpv has conditional auto profiles


Which allows you to create profiles that are only applied when they match a particular url
so you can have different profiles for different urls and enable different settings just for that profile, like disabling the cache

Code:
~/.config/mpv/mpv.conf

Code:
# mpv.conf

# list profiles with: mpv --profile=help

# load hwdec profile automatically
profile=hwdec

# hardware acceleration profile
[hwdec]
profile-desc="hardware acceleration, no cache, yt-dlp 1080 or less"
vo=gpu
hwdec=vaapi

# hide: GNOME's wayland compositor lacks support for the idle inhibit protocol.
#msg-level=ffmpeg=fatal,vo/gpu/wayland=no
msg-level=ffmpeg=fatal

# cache no for internet streams
cache=no

# yt-dlp best format 1080 or less
ytdl-format="bestvideo[height<=?1080]+bestaudio/best"

# show milliseconds in the on screen display
osd-fractions

# audio device
audio-device=oss//dev/dsp1

# youtube subs - J to switch to subs
sub-auto=fuzzy
ytdl-raw-options=sub-lang="en",write-sub=,write-auto-sub=
sub-font='NotoColorEmoji'

# screenshot timecode
screenshot-template="%F-[%P]v%#01n"

# cache profile: mpv --profile=cache
[cache]
profile-desc="hardware acceleration, cache, yt-dlp 1080 or less"
# include hwdec profile
profile=hwdec
# override hwdec profile cache setting
cache=auto

# youtube conditional auto profile match any youtube url
[youtube]
profile-desc="youtube hardware acceleration, cache"
profile-cond=path:find('youtu%.?be') ~= nil
# include hwdec profile
profile=hwdec
# override hwdec profile cache setting
cache=no
# fullscreen 2nd display
fs
fs-screen-name=DP-3


# invidious conditional auto profile match any youtube url
[invidious]
profile-desc="invidious hardware acceleration, cache"
profile-cond=path:find('http://127.0.0.1:3000') ~= nil
# include hwdec profile
profile=hwdec
# override hwdec profile cache setting
cache=no
# fullscreen 2nd display
fs
fs-screen-name=DP-3


# archive.org conditional auto profile match any archive.org url
[archive]
profile-desc="archive hardware acceleration, cache"
profile-cond=path:find('archive.org') ~= nil
# include hwdec profile
profile=hwdec
# override hwdec profile cache setting
cache=auto
# fullscreen 2nd display
fs
fs-screen-name=DP-3


# bbc iplayer conditional auto profile match any bbc iplayer url
[iplayer]
profile-desc="iplayer hardware acceleration, cache"
profile-cond=path:find('bbc.co.uk/iplayer') ~= nil
# include hwdec profile
profile=hwdec
# override hwdec profile cache setting
cache=yes
# fullscreen 2nd display
fs
fs-screen-name=DP-3


# bbc iplayer conditional auto profile match any bbc iplayer url
[bbc]
profile-desc="bbc hardware acceleration, cache"
profile-cond=path:find('bbc:pips:service') ~= nil
# include hwdec profile
profile=hwdec
# override hwdec profile cache setting
cache=no
# fullscreen 2nd display
fs
fs-screen-name=DP-3

# kodi invidious conditional auto profile match any youtube url
[kodi]
profile-desc="kodi invidious hardware acceleration, cache"
profile-cond=path:find('http?s://inv.tux.pizza') ~= nil
# include hwdec profile
profile=hwdec
# override hwdec profile cache setting
cache=no
# fullscreen 2nd display
fs
fs-screen-name=DP-3

You can also create keyboard shortcuts that apply ffmpeg audio filters
like loudnorm, dynaudnorm and superequalizer

Code:
~/.config/mpv/input.conf

press F1 to show the audio filters

Code:
F2: loudnorm
F3: dynaudnorm
F4: low Bass
F5: low Treble

Code:
# vim keybindings
l seek  5
h seek -5
k seek  60
j seek -60

# subtitles
J cycle sub
K cycle sub down

# Audio filters:
F1 show-text "F2: loudnorm | F3: dynaudnorm | F4: low Bass | F5: low Treble" 2000

# loudnorm:
F2 af toggle lavfi=[loudnorm=I=-16:TP=-3:LRA=4]

# dynaudnorm:
F3 af toggle lavfi=[dynaudnorm=g=5:f=250:r=0.9:p=0.5]

# lowered bass:
F4  af toggle "superequalizer=6b=2:7b=2:8b=2:9b=2:10b=2:11b=2:12b=2:13b=2:14b=2:15b=2:16b=2:17b=2:18b=2"

# lowered treble:
F5  af toggle "superequalizer=1b=2:2b=2:3b=2:4b=2:5b=2:6b=2:7b=2:8b=2:9b=2:10b=2:11b=2:12b=2"

for emacs users
mpv.el lets you control mpv using emacs

 
In my humble experience, mpv is the best video player. Personally, I've never had any problems with it. Both in the Debian Linux environment and in the FreeBSD environment. Works just great! What I can't say about VLC. I had problems with this player in the FreeBSD environment, but after disabling hardware acceleration, it also work perfectly. The worst of them is mplayer. It works just tragically badly. On both Debian Linux and FreeBSD it "hangs" the system. Only ssh and reboot help...
 
I switched to mpv years ago, but think it was related to hardware-acceleration. I used VLC fine on Windows years prior and a bit on Linux. I just reinstalled FreeBSD earlier and decided to install VLC instead of mpv.

Playing from USB capture cards and arbitrary internet streams is way easier from VLC's GUI!
 
My issue wasn't very well explained, I can play music using VLC but trying to forward to the next song makes VLC core dump, after limited testing when using nvidia driver only
Like meine to me audio/cmus is the one.
It's light, fast and can easily manage big collection of sounds without pain.

I was a big fan of audio/moc years ago but its development is terribly slow I would say almost abandoned, so bugs are likely.
Fortunately there is now audio/musikcube which curiously looks a lot like audio/moc, I am discovering it today and it seems to be a pretty good choice since it can also be used as a music server which is nice.

fwiw, fooyin is now in ports :-)
nice one :cool:
Didn't even know that foobar was forked, I prefer cli tools but it's good to have alternatives like this, better than amarok or things like that.
 
development is terribly slow I would say almost abandoned, so bugs are likely.
It's an amazing music player that works great on both Linux and FreeBSD environments.



Screenshot_2024-11-19_14-36-21.png
 
I used mplayer extensively. I found it more stable than VLC in the elder days (today I don't think VLC crashes too much).

Hanging up the whole machine sounds like something I would blame the display driver for.
 
hi, i'm a big fan of TUIs and i've tried a lot of them along the years...
MOC is great, like a midnight commander type ui
cmus is also pretty nice and can be scripted to appear on conky or whatever if you're into that...
at the moment i'm using musikcube which has a lot of nice features, that's on my laptop with a small collection of files, i find it modern and nice to use.
there was another one but i forgot :) probably not worth it!

one can find a nice selection here (most of them work on freebsd) https://www.linuxlinks.com/best-free-open-source-terminal-based-music-players/

however if you have a large collection, maybe running a mpd server is a good thing. i have a raspberry connected to a nas and there i run mpd with ncmcpp as a front end (via ssh) which is very good a suffle-ing large collections... (i also use audioloader for a web ui which is tiny and robust... the phone can access it via m.a.l.p. on android via fdroid)

hope it helps...
 
I use mpv with a very customized config (I'll try to remember to come back and post it once I'm on that box) and for audio I use ncmpcpp as a front end for mpd. ncmpcpp is a bit of a pain to initially set-up but once you have it going it's really nice. It is TUI.

mpv is also fine for audio and what I typically use for streaming services (mostly youtube). With a bit of configuration you can make it display cover/album art. You'll probably want to combine it with yt-dlp. Which allows you to stream/download content from youtube. For subscriptions you can use RSS feeds so you don't need a youtube account to follow channels (hopefully google doesn't remove those). It's a bit of a cat and mouse game between google and yt-dlp so you'll want to stay on top of keeping it updated. From time to time they attempt to throttle yt-dlp users and if you try to dump entire large channels you'll get throttled of course.

It has a pretty good wiki and IRC channel (https://github.com/mpv-player/mpv/wiki) and (https://github.com/yt-dlp/yt-dlp/wiki)

I have multiple configurations for testing things since I do a lot of a/v work. It'll be less tedious for someone that simply wants to view media others have created. I prefer it over stuff like VLC because it's more correct (VLC is very hacky) and mplayer because the latter hasn't been updated in a long time.

These days I try to keep my media off individual boxes if I can help it. I highly suggest looking into setting up a home server that runs both mpd and jellyfin. That way you can stream your media collection to any box on your LAN and even to the internet if you open some ports. For Jellyfin you'll need to set-up a small server somewhere (I use a cheap VPS) to handle authentication if you want to access it from outside of your LAN. You can support a lot of users on very little bandwidth. You don't need a powerful home server if you use a modern codec like x265 or x264 at sane bitrates. If you do feel the need to store full bluray dumps you can support a handful of users with a modest CPU transcoding in real time. Audio isn't a huge deal obviously. Transcoding it in real time doesn't require as much processing power. For devices that can't natively handle FLAC I typically transcode in 320kbps mp3 or 192kbps opus.

Anyway, with that kind of set-up you can watch your video content and listen to your audio content from anywhere in the world provided your device has an internet connection. Much better than relying on third party services that constantly remove media or nag for app updates. It will take you about half a day to set everything up and only costs a few dollars a month in server fees+yearly domain name renewal. There are services like PleX that you can use for free but in return they gather a lot of metadata about your library and watching habits. PleX has also become kind of bad lately (latest versions of the server removed support for plug-ins in addition to attempting to monetize things via their own services).
 
Back
Top