chachmu / mpvdlna Goto Github PK
View Code? Open in Web Editor NEWA plugin to allow mpv to browse and watch content hosted on DLNA servers
License: MIT License
A plugin to allow mpv to browse and watch content hosted on DLNA servers
License: MIT License
Hello,
i'm using the latest version of your plugin, but having problems to browse through the folders of my dlna (minidlna).
I have to mention, that the same config does work without any problems on windows 10 but there is a problem on linux. It seems that it has to do with the slicing of '\n'.
I already changed:
221 var server = new DLNA_Server(sp[i].slice(0, -1), sp[i+1].slice(0, -1));
to
221 var server = new DLNA_Server(sp[i], sp[i+1]);
With this change, i was able to navigate to the first level of the server, and actually choosing it. The name of the server i want to browse is RPi3 but before the change it was only displayed as RPi and I was not able to go deeper into the structure behind it. Now I can select it and see the second level but there are also some chars missing and i can not choose "Browse Folder" or any other selectable items. Please see also attached screenshot, which shows the missing character for "Browse Folders", "Music", "Pictures" and "Video" - missing always the last character.
I was really excited to find this script - thanks in advance!
So my setup is SimpleDLNA - it's fast and lightweight, and I've had no issues with any of my other devices detecting or playing media from the server; at first mpvDLNA did not seem to detect it.
Doing some testing, it found PLEX just fine. I tried entering IP manually in the syntax
server_names: '{SDLNA}',
server_addrs: '{192.168.1.123:12345}',
eventually what worked was a blind
server_addrs: '{192.168.1.123:12345/mm-1/description.xml}',
After further testing, it seems that the VIEW filter (e.g. sdlna.exe -v music) was what was preventing it from being automatically detected - heads up for anyone out there on similar setup.
So at this point, I could play files in the top level directory, but none of the subfolders appear in the list to pick from.
Flattening all files is a possibility, but leads to messy order (tracks 01 01 01 01 etc) so actual folder browsing support would be desired.
For example, subfolder 'new' URL looks like
http://192.168.1.123:12345/mm-1/index/6B1381F5#0/v:new
I realize this may be an issue on upnpclient's end (inactive project?) but maybe there's still something that can be done. (And let me know if there's any more information I can provide to help.)
Thanks!
I do not understood what is to add to input.conf , mpv keep complains [1]
could you provide one example of input.conf file ? please
[1]
mpv --player-operation-mode=pseudo-gui
[input] Unknown key 'Toggle' at /home/sergio/.config/mpv/input.conf:1
[input] Unknown key 'Toggle' at /home/sergio/.config/mpv/input.conf:2
[input] Unknown key 'Toggle' at /home/sergio/.config/mpv/input.conf:3
First of all I congratulate you on your project.
I am on Ubuntu 20.04 platform. Though it has mpv 0.32.0
in the repository, I built the latest mpv 0.33.0-121-gf665149fc8
from github to test your plugin via mpv-build
I followed the instructions you wrote in README file.
I also installed upnpclient
python3 -m pip install upnpclient
However, I get the following error:
Cannot find main.* for any supported scripting backend in: /home/kenn/.config/mpv/scripts/mpvDLNA
I installed mpvDLNA on my windows pc. No problem worked first shot. On Slackware Linux Python 2.7 and Python 3.9 are installed. upnpclient installed to Python 3.9. I used the dbug feature of mpvDLNA and it said no module called upnpclient. I had to edit main.js and change python to python3 and then mpvDLNA worked properly. I know some other Linux distros have a similar python ecosystem, so it may be worthwhile to point out in the install instructions that main.js may need to be edited python>python3. Thanks for creating this plugin, it's awesome!
on line 119 of main.js [1] this.python == null , can be also if after upgrade python we don't had installed upnpclient,
so at least message should be : Please add the name of your python install to the .conf or check if you got pyhton upnpclient installed
[1]
https://github.com/chachmu/mpvDLNA/blob/main/main.js#L119
// None of the options worked, throw an error
if (this.python == null) {
throw new Error("Unable to find a correctly configured python call: \n \
in the following options: " + versions +
"\n Please add the name of your python install to the .conf file \n \
using the format: python_version=python \n \
or run mpv with the --msg-level=mpvDLNA=trace argument to see the errors");
}
mac os 10.15.7
Error: Unable to find a correctly configuration python call: in the following option: python3,python,python3
ls -R
input.conf script-settings scripts
./script-settings:
mpvDLNA.conf
./scripts:
mpvDLNA webtorrent.js
./scripts/mpvDLNA:
LICENSE README.md main.js modules.js mpvDLNA.py
./scripts/mpvDLNA/modules.js:
AssFormat.js MicroUtils.js Options.js README.md SelectionMenu.js
Hi.
I want use you plugin, but with libmpv in other apps.
I can't use mpv osd, I create my osd and display it from overlay-add command, in the future, generally output to a separate window.
I need to get info about the dlna servers and it's catalogs/files from libmpv, for example as playlist positions throught mpv_event_property MPV_OBSERVE_LIST_COUNT.
Can you do something like this?
Hey. Tried out latest build mpvDLNA 3.4.0 and noticed that it started spitting out errors (and breaking script, it's not just a warning). After some trial and error i traced it to a filename with special โ (U+201C) mark. The other special characters i tested all failed as well, such as ร Thorn.
I saw a pull request specifically UTF-8-related and that you had some previous issues #8 - but just wanted to bring your attention to the fact that this isn't resolved in latest build.
The offending files are in top level directory of the folder, if that's useful info.
[mpvDLNA] TypeError: cannot convert undefined to object
[mpvDLNA] at C:\Users\foo\AppData\Roaming/mpv/scripts/mpvDLNA/main.js:1115
[mpvDLNA] at C:\Users\foo\AppData\Roaming/mpv/scripts/mpvDLNA/main.js:1179
[mpvDLNA] at C:\Users\foo\AppData\Roaming/mpv/scripts/mpvDLNA/main.js:1294
[mpvDLNA] at C:\Users\foo\AppData\Roaming/mpv/scripts/mpvDLNA/modules.js/SelectionMenu.js:310
[mpvDLNA] at C:\Users\foo\AppData\Roaming/mpv/scripts/mpvDLNA/modules.js/SelectionMenu.js:243
[mpvDLNA] at key_cb (@/defaults.js:347)
[mpvDLNA] at dispatch_key_binding (@/defaults.js:274)
[mpvDLNA] at Function.prototype.apply (native)
[mpvDLNA] at dispatch_message (@/defaults.js:122)
[mpvDLNA] at dispatch_event (@/defaults.js:52)
[mpvDLNA] at mp_event_loop (@/defaults.js:762)
[mpvDLNA] at run_script (native)
Previous Version 3.3.1 handles these files just fine with SimpleDLNA.
Edit: Tested out with a different DLNA server (running on KODI) and got error with 3.3.1, but NOT with 3.4.0, which worked correctly in that case.
So i see there was a fix - but your fix ended up breaking mine which wasn't previously having any issue. Any ideas or other info i can provide?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.