MPV can't play files over samba share anymore because of FFMPEG

mpv smb://192.168.10.12/download/1.mp4 2.mp4
Playing: smb://192.168.10.12/download/1.mp4
[ffmpeg] Protocol not found. Make sure ffmpeg/Libav is compiled with networking support.
Failed to open smb://192.168.10.12/download/1.mp4.

2 Likes

Seconded. This is kind of disastrous, despite being with VLC as an alternative but it would have interfered many people who regularly plays movies, and [cough] especially animes from NAS on LAN. And I am sure that many developers and homies are quite disturbed by this already. Hopefully there are some quick updates that has FFmpeg re-compiled with the --enable-libsmbclient and pushed into the new release cycle.

It is not impossible to re-compile it by ourselves but most don’t want to break their own systems when the orthodox fix kicks in. Of if, by chance, that there won’t be a foreseeable timeline that this will be added, I would be appreciated if anyone points out. Thanks.

I found this thread by chance after some choice keyword searching. Thankfully I’m not the only one experiencing this problem, but I wish it wasn’t changed.

I’m just a casual Linux user getting back into things after 15 years away. Sad to see things have advanced so much yet these libraries break functionality so easily.

Here’s hoping mpv will work again soon.

If the smb share is not just present somewhere, but actually mounted,
as it usually is (I think)
the movie file can be accessed just like any other file via it’s path, no need to use the special smb:// protocol
no?
Can’t test/verify - don’t have such a share to play with.

It fails to open videos via dolphin and the command line. Correct me if I’m wrong, but all operations from the command line require a protocol. It just refuses when I try “mpv 192.168.xxx…” while the error for smb is very specific that it doesn’t support network operations. It’s like it wasn’t compiled with networking support, either deliberatly or via oversight.

user@manjaro-vm ~]$ mpv smb://192.168.xxx.xxx/shared/20201002_130317.mp4
[ffmpeg] Protocol not found. Make sure ffmpeg/Libav is compiled with networking support.
Failed to open smb://192.168.xxx.xxx/shared/20201002_130317.mp4.

but when the smb share is mounted - let’s say it is mounted to /shared … because that is where you chose to mount it to …
the path to the file would then be
/shared/20201002_130317.mp4
and mpv (or any other tool) could access it going that way
mpv /shared/20201002_130317.mp4 should work
no need to go through smb with the player itself when the directory the file is in is already part of the filesystem structure because it is … mounted to there

That was my reasoning - which I can’t test, because I have no smb shares to mount, which then should be accessible like any other file on the system.

… there should be no need for the smb protocol in the player (or any other tool) - the work is already done by way of mounting it to some place/directory (which is itself done via the smb protocol)

the share mount (through smb) does the “heavy lifting”
the player just needs to know how to access local files …

Ok, I see what you’re saying. I was using this method earlier but gave up since i had to “umount -a” after each boot… maybe the fstab syntax wasn’t correct since it never auto-mounted.
I added it as a quick location in Dolphin which is recognized as a smb share and mpv refuses to open due to the ffmpeg issues.

I started looking at downgrading the ffmpeg package last night to a version earlier than December, as that’s when the problem started.

So there was a Chinese post stating this problem pretty much at the meantime of the initiation of this post. I later have tried a few ways and found the solution by building ffmpeg-git with customization of PKGBUILD file. Then I wrote the solution here in Chinese: 不能播放samba中的视频,貌似和ffmpeg有关 - #4 by Wieczorkiewicz

You can find the solution by pasting it into any translate software, then it’s all cakewalk.

https://bugs.archlinux.org/task/69798

I requested to readd smb support to ffmpeg/mpv, but it was denied.
These Arch guys are so kind and helpful.

You have your answer in the bug report.

With Arch/Manjaro its is really easy to compile it yourself. Use the PGKBUILD file and adjust it to your liking.

You can use smbget and pipe the ouput to mpv:

smbget -U=<USER>%<PASSWORD> -O smb://<FILENAME> | mpv --stream-buffer-size=2m -

Unfortunately this gives an error “Cannot seek backward in linear streams!” on streams larger than buffer size, but maybe mpv has options to play a piped stream.