mpv media player for Precise Puppy, tahrpup, Slacko

Audio editors, music players, video players, burning software, etc.
Message
Author
jlst

mpv media player for Precise Puppy, tahrpup, Slacko

#1 Post by jlst »

Tested in:
- Precise Puppy 5.7.1
- tahrpup
- Slacko Puppy 5.7 (needs the attached file)

Download: mpv-20150814-git-i686-precise.pet

mpv is a modern media player.

Website: http://mpv.io
Manual: http://mpv.io/manual/master/

This brings an enormous update specially to Precise Puppy, with full support for x264 10bit, vp9 and x265 among other new formats.

-----------------------------------------------

To play cd audio: #mpv cdda://1
To play dvds : #mpv dvd://1
To play bds: #mpv bd://1

In conjuction with youtube-dl it can also play youtube videos (youtube-dl must be installed):
mpv https://www.youtube.com/watch?v=73nMvmrfSuQ
Attachments
mpvdeps-1.0-4slacko.pet
libva and libvdpau taken from precise puppy (tiny libs)
(55.11 KiB) Downloaded 924 times
Last edited by jlst on Tue 18 Aug 2015, 20:13, edited 15 times in total.

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#2 Post by musher0 »

Thanks for this, jlst.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

jplt

#3 Post by jplt »

Hi,

i installed the mpv pet in precise puppy when i launch it i have this error :

Code: Select all

mpv: error while loading shared libraries: libexpat.so: cannot open shared object file: No such file or directory

jlst

#4 Post by jlst »

jplt wrote:Hi,

i installed the mpv pet in precise puppy when i launch it i have this error :

Code: Select all

mpv: error while loading shared libraries: libexpat.so: cannot open shared object file: No such file or directory
I tested this binary in a clean Precise 5.7.1 and Precise 5.7.1 Retro... no errors.

But I see why you're having that error, try this

Code: Select all

ln -sv libexpat.so.1 /lib/libexpat.so
If that doesn't work, then
ln -sv libexpat.so.1 /usr/lib/libexpat.so

Or download the file I attached. Next time I build this I'll add a static libexpat, and perhaps a few other static libs...
Attachments
expat-2.1.0-i686-precise.pet
(54.34 KiB) Downloaded 770 times

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#5 Post by musher0 »

Hello, jlst.

Could you please give us an example of a command line to play a movie on
dvd from /dev/dvd or /dev/sr1 with mpv? It would be much appreciated.

Thanks in advance.

musher0
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

jlst

#6 Post by jlst »

It does play DVDs, try with:

mpv /dev/dvd
mpv /dev/sr0
Last edited by jlst on Wed 05 Aug 2015, 20:39, edited 2 times in total.

jlst

#7 Post by jlst »

Right now there's no CD or Bluray support, I'm compiling static libs of the latest releases of libcdio, libdvdcss, libdvdread, libdvdnav, libbluray, uchardet, libenca, etc... This increseases complexity and will possibly make my next build fail.

jlst

#8 Post by jlst »

*Update*

step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

#9 Post by step »

I would like to try compiling mpv static for Fatog64-701. Would you please publish your build configuration and the exact list of source links to be downloaded (not simply links to project homepages) for all libraries involved?
No pressure, whenever, if you can. Thanks.
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]

jlst

#10 Post by jlst »

step wrote:I would like to try compiling mpv static for Fatog64-701. Would you please publish your build configuration and the exact list of source links to be downloaded (not simply links to project homepages) for all libraries involved?
No pressure, whenever, if you can. Thanks.
Yes, here is the script I use, I keep editing it every time I compile something.. it's about 450 lines (17kb), it used be 600.

I use it to compile static versions of ffmpeg and mpv.

You have to be very careful and edit it according to your needs.

First try putting and 'exit' command after each step to make sure the static libs are compiled.

I commented out the openssl part, because it did not obey the settings, but you can enable that part, compile and then copy the resulting lib/include dirs to the build directory. Then disable it again.

It's a huge and painful work..
Last edited by jlst on Fri 07 Aug 2015, 03:26, edited 1 time in total.

step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

#11 Post by step »

Thanks!
jlst wrote: Yes, here is the script I use, I keep editing it every time I compile something.. it's about 450 lines (17kb), it used be 600.

I use it to compile static versions of ffmpeg and mpv.

You have to be very careful and edit it according to your needs.

First try putting and 'exit' command after each step to make sure the static libs are compiled.
I used bash -e instead of 'exit'
I commented out the openssl part, because it did not obey the settings, but you can enable that part, compile and then copy the resulting lib/include dirs to the build directory. Then disable it again.
I'm thinking I will keep libssl shared, as it keeps being patched for new exploits...
It's a huge and painful work..
Actually, it was less of a pain for me, just because I leveraged all your work! I was able to compile it on Fatdog64 and it works (more testing needed).
However, did you notice that when the script is calling waf to build the mpv binary there is apparently no way to tell waf to link against the shared libs? I mean, setting LD_LIBRARIES_PATH is irrelevant, waf needs additional configuration.
On my system I have shared versions of libexpat and libjpeg. They remain shared in the mpv binary that waf produces, even though there are static versions of libexpat and libjpeg in the build/lib directory. I checked that is the case with ldd sources/mpv/build/mpv.
I ran the same ldd command on the mpv binary extracted from your .pet file and libexpat is shared rather that static - libjpeg is static.

I patched the script in a few places, I think they will benefit you too. See attached tar.gz.

I also tried to fix the waf configuration with its own patch labelled PATCH1 in the script. PATCH1 works, meaning it modifies the waf script, but the new waf script still doesn't link all static libraries as it should. I suspect I didn't interpret correctly waf documentation on how to link static libraries - it's in section 10.3.3 of the "waf book" (see URL in the attached script). I have no previous experience with waf and the documentation is somewhat lacking. Note that PATCH1 is applied after git cloning only.

Another way to link all static libraries is to rename the dynamic libraries temporarily, in my case libjpeg and libexpat, in your case just libexpat. I didn't do it in the attached script, but you could.

edit: attached obsolete script removed per jlst's request
Last edited by step on Fri 07 Aug 2015, 06:49, edited 1 time in total.
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]

jlst

#12 Post by jlst »

step wrote: I patched the script in a few places, I think they will benefit you too. See attached tar.gz.
Thanks for the advice, I'll look into it.

By the way, I just noticed I made an unforgivable mistake. Damn, this affects the whole project... that should be the reason some packages fail to build correctly (like libxml2), it also trigger warnings in some packages that may or may not compile. It also must be the cause of misdetection of some static libraries in the build directory.unforgivable

This:

Code: Select all

sed -i "s|^libdir=.*|prefix=${BUILDDIR}|" ${BUILDDIR}/lib/*.la
Should be:

Code: Select all

sed -i "s|^libdir=.*|libdir=${BUILDDIR}/lib|" ${BUILDDIR}/lib/*.la
To fix an existing "project" you must add this line too:

Code: Select all

sed -i "s|^prefix=.*|libdir=${BUILDDIR}/lib|" ${BUILDDIR}/lib/*.la
Well, I've been modifying the script for my next build, so I upload it again with this critical fix.
Attachments
ffmpeg_project.sh.tar.gz
(3.78 KiB) Downloaded 518 times

step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

#13 Post by step »

I rewrote my waf PATCH1 code and now I'm positive it does what it's supposed to do, adding linker options that force linking the static versions of the libraries. However, there's an exception. If a dynamic library depends on the dynamic version of a static library, the linker will pull in the _dynamic_ dependency. There is apparently no way around this. That is the reason for the static versions of libexpat and libjpeg to be ignored on Fatdog64 when mpv gets linked. Ultimately, this isn't a problem at all.

I'm attaching my changes here, mostly of interest for the code that patches the waf build script, see shell function PATCH1().
Attachments
ffmpeg_project.tar.gz
(4.64 KiB) Downloaded 527 times
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]

Pelo

Plays my Mp3 files

#14 Post by Pelo »

Plays my Mp3 files, but my goal is to read my CDs with Pujibaro Jessie, Pmusic does not see the source
:D magic, it does it ! Other cd players were always missing something (libcdio and so on ... )

Exiting... (End of file)
┌─[root][04:39 AM][~]
└─[pup_jessie][$] mpv cdda://
Playing: cdda://
[cdda] Switched to track 1
(+) Audio --aid=1 (pcm_s16le)
AO: [alsa] 48000Hz stereo 2ch s16
A: 00:02:52 / 00:51:10 (5%)
[cdda] Switched to track 2
A: 00:05:35 / 00:51:10 (10%)
[cdda] Switched to track 3
A: 00:06:55 / 00:51:10 (13%)
Last edited by Pelo on Fri 04 Nov 2016, 04:07, edited 1 time in total.

Pelo

Mpv refused by X-tahr !

#15 Post by Pelo »

For DVD how do you launch chapters ?
Mpv refused by X-tahr PPM
Last edited by Pelo on Fri 29 Jul 2016, 11:03, edited 3 times in total.

step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

#16 Post by step »

I don't know exactly. My guess is that there's a command line option to open DVD chapters. The online manual is here https://mpv.io/manual/
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]

Pelo

Chapters dvdnav is often the solution

#17 Post by Pelo »

Merci step, i shall search. I will write the answer here, if there is one.
Attachments
Brigitte.jpg
La console parle anglais, what does that mean ?
(76.46 KiB) Downloaded 1125 times
Last edited by Pelo on Fri 29 Jul 2016, 11:05, edited 1 time in total.

jlst

#18 Post by jlst »

mpv is based on mplayer/mplayer2, in order to continue development it has removed lots of code, including support for dvd menus. That was probably not a good idea, but now it's the most advanced player for linux.

When I want to just watch DVDs (the main title) or any video file, i use mpv.. when I want a menu, etc. I use mplayer and its gui frontends.

However xine is a complete media player as well, and the most dvd friendly i guess, however, i wouldn't use it to play anything else, so I had a Xine pet (with many components removed), only to play dvds.

Pelo

your strategy looks like mine

#19 Post by Pelo »

your strategy looks like mine :!:
Gnome-mplayer should do anything including DVDs. a solution is to retrofit version to older one (Pupjibaro jessie).
Then like everybody, i like to try something different, like mpv. Well noted, about DVDs and the menu (i never buy DVDs, the few that i have are gifts)
Merci pour les reponses.
Attachments
Ini Kamoze.jpg
Puppy Stretch : mp3, Mpeg and MP4 tested . No trouble.
(21.88 KiB) Downloaded 579 times
Last edited by Pelo on Sat 05 Aug 2017, 11:20, edited 1 time in total.

Pelo

cmus vs mpv

#20 Post by Pelo »

console lovers, biltoo offers a new pet for cmus in X-Slacko Slim topic.
MPV is my peference (the one i prefer).
Cmus offered gratis, last version, by Billtoo
Last edited by Pelo on Fri 29 Jul 2016, 11:01, edited 1 time in total.

Post Reply