Bug 17670 - Backport Candidate: bring mpv to Mageia 5
Summary: Backport Candidate: bring mpv to Mageia 5
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: Backports (show other bugs)
Version: 5
Hardware: All Linux
Priority: Normal enhancement
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: MGA5-32-OK MGA5-64-OK
Keywords: Backport
Depends on:
Blocks:
 
Reported: 2016-02-03 15:46 CET by José Jorge
Modified: 2016-03-27 00:29 CET (History)
6 users (show)

See Also:
Source RPM: mpv
CVE:
Status comment:


Attachments

Description José Jorge 2016-02-03 15:46:10 CET
Description of problem:
mpv is current the only video player that uses efficiently VAAPI hardware acceleration, which is the only api with intel hardware. So it is the best option for watching movies on laptop's battery.

My own tests with an Haswell i3 gives 30% more playing time for 1080p videos.

Mpv was not packaged for MGA5, so I will provide a backport for end users convenience.

Reproducible: 

Steps to Reproduce:
José Jorge 2016-02-03 15:46:30 CET

Keywords: (none) => Backport
CC: (none) => lists.jjorge

Comment 1 José Jorge 2016-02-03 16:43:47 CET
RPMS in core 

mpv-0.15.0-1.mga5.x86_64.rpm
lib64mpv1-0.15.0-1.mga5.x86_64.rpm
lib64mpv-devel-0.15.0-1.mga5.x86_64.rpm

SRPM :

mpv-0.15.0-1.mga5.src.rpm

Status: NEW => ASSIGNED

Comment 2 David GEIGER 2016-02-03 17:11:25 CET
Since mga5 it is: s/Suggests/Recommends/  , take care! :)

CC: (none) => geiger.david68210

Comment 3 Lewis Smith 2016-02-08 19:57:05 CET
Testing M5 x64 under LXDE - OK

I used the following advice to install this backport:
 # urpmi.update --no-ignore "backports"
 # urpmi.update -a
 # urpmi mpv lib64mpv1
 # urpmi.update --ignore "backports"

but this was equally advised:
 # urpmi.update ""   // to update all repos, even the non-active ones
 # urpmi --searchmedia "backports" mpv lib64mpv1

It is very sparse, with no menus, icons, but a huge man page. Started from the normal application menu, it presents only a blank window to drag files into [presume from a file manager window]. This worked fine for an audio file - a difficult .wma format. To play a DVD was not obvious: Ctrl/O has no effect. In a file manager window, it appeared as two directories (sound & vision) dragging which killed mpv. But from the command line:
 $ mpv /dev/sr0
worked a treat (despite a lot of complaints) on the DVD film normally 'difficult'.

So well done!

CC: (none) => lewyssmith
Whiteboard: (none) => MGA5-64-OK

Comment 4 claire robinson 2016-02-09 13:25:58 CET
José, currently mpv does not require or recommend lib(64)mpv1. Should it do so?

# urpmi.update "Core Backports Testing"
# urpmi --searchmedia "Core Backports Testing" mpv
To satisfy dependencies, the following packages are going to be installed:
  Package                        Version      Release       Arch    
(medium "Core Release")
  lib64guess1                    1.2          0.git.201311> x86_64  
  lib64mowgli-2_0                2.0.0        4.mga5        x86_64  
  lib64rubberband2               1.8.1        6.mga5        x86_64  
(medium "Core Backports Testing")
  mpv                            0.15.0       1.mga5        x86_64  
(medium "Tainted Updates")
  lib64wayland-egl1              10.5.9       3.mga5.taint> x86_64  
2.5MB of additional disk space will be used.
948KB of packages will be retrieved.
Proceed with the installation of the 5 packages? (Y/n) y

Tested with an HD video clip..

$ mpv --hwdec auto Videos/SomeVideo_hd1080.mov
<snip>
libva info: VA-API version 0.36.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
Using software decoding.

$ urpmf /usr/lib64/dri/i965_drv_video.so
vaapi-driver-intel:/usr/lib64/dri/i965_drv_video.so

$ rpm -q vaapi-driver-intel
package vaapi-driver-intel is not installed

Installed vaapi-driver-intel and tried again..

$ mpv --hwdec auto Videos/SomeVideo_hd1080.mov 
Playing: Videos/SomeVideo_hd1080.mov
 (+) Video --vid=1 (*) (mjpeg)
libva info: VA-API version 0.36.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_36
libva info: va_openDriver() returns 0
[vo/opengl/vaapi] mapping VAAPI EGL image failed
Using software decoding.

Installed lib64mpv1 and tried again..
# urpmi --searchmedia "Core Backports Testing" lib64mpv1


$ mpv --hwdec auto Videos/SomeVideo_hd1080.mov 
Playing: Videos/SomeVideo_hd1080.mov
 (+) Video --vid=1 (*) (mjpeg)
libva info: VA-API version 0.36.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_36
libva info: va_openDriver() returns 0
[vo/opengl/vaapi] mapping VAAPI EGL image failed
Using software decoding.

Have temporary access to a haswell i3 laptop. It plays video but is using software decoding - which sort of defies the point. I'll log out/in/reboot and try it again.
Comment 5 claire robinson 2016-02-09 16:44:10 CET
$ mpv --hwdec vaapi --vo=vaapi Videos/SomeVideo_hd1080.mov 
Playing: Videos/SomeVideo_hd1080.mov
 (+) Video --vid=1 (*) (mjpeg)
libva info: VA-API version 0.36.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_36
libva info: va_openDriver() returns 0
Using software decoding.
Using conversion filter.
VO: [vaapi] 1920x1080 yuyv422


Does this mean it is using gpu acceleration, as it should?
Comment 6 claire robinson 2016-02-09 17:31:16 CET
It seems different gpu's have different decoding capabilities.

Tested with a different video file (mp4) and all is well.
(with or without lib64mpv1 installed, so it appears not to be needed)

$ mpv --hwdec vaapi --vo=vaapi Videos/AnotherVideo.mp4 
Playing: Videos/AnotherVideo.mp4
 (+) Video --vid=1 (*) (h264)
 (+) Audio --aid=1 --alang=und (*) (aac)
libva info: VA-API version 0.36.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_36
libva info: va_openDriver() returns 0
AO: [pulse] 48000Hz stereo 2ch float
Using hardware decoding (vaapi).
VO: [vaapi] 720x390 vaapi

All appears normal. Ready to be pushed.
Comment 7 José Jorge 2016-02-09 18:20:28 CET
(In reply to claire robinson from comment #5)

> Using software decoding.
> Does this mean it is using gpu acceleration, as it should?

No : software decoding should be hardware decoding.

Hint : vainfo will tell what hardware does.
Comment 8 José Jorge 2016-02-09 18:51:40 CET
Another point : libmpv is not needed by mpv but by other GUIs. So it is normal it is not required by mpv package.

vainfo example where hardware works :

vainfo: Driver version: Intel i965 driver for Intel(R) Bay Trail - 1.4.1
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
Comment 9 José Jorge 2016-02-09 18:56:53 CET
Hardware decoding play :

libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_36
libva info: va_openDriver() returns 0
AO: [pulse] 48000Hz 5.1(side) 6ch float
Using hardware decoding (vaapi).
VO: [vaapi] 1920x1040 vaapi
Comment 10 Herman Viaene 2016-02-20 11:40:29 CET
MGA5-32 on Acer D620 Xfce
Wondering what mpv would do on older hardware with home made DVD
at CLI
$ vainfo
libva info: VA-API version 0.36.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/r300_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

libva package is installed
played DVD with

 mpv /dev/sr0
Playing: /dev/sr0
[ffmpeg/demuxer] mpeg: Could not find codec parameters for stream 3 (Audio: mp2, 0 channels): unspecified frame size
[ffmpeg/demuxer] Consider increasing the value for the 'analyzeduration' and 'probesize' options
 (+) Video --vid=1 (mpeg2video)
 (+) Audio --aid=1 (mp2)
     Audio --aid=2 (mp2)
[vo/opengl] Could not create EGL context!
AO: [pulse] 48000Hz stereo 2ch s16
VO: [opengl] 720x576 => 1024x576 yuv420p
[osd/libass] fontconfig: cannot find font 'sans-serif', falling back to 'DejaVu Sans'
AV: 00:00:04 / 00:20:38 (0%) A-V:  0.000
 (+) Video --vid=1 (mpeg2video)
 (+) Audio --aid=1 (mp2)
     Audio --aid=2 (mp2)
     Subs  --sid=1 (dvd_subtitle)
AV: 00:00:05 / 00:20:38 (0%) A-V:  0.000
Invalid audio PTS: 6.000000 -> 0.315344

and some more on audio...
Exiting... (End of file)
The sound was perfectly in sync when playing But mpv did not handle the DVD menu, it just started playing the VTS_01_0.VOB file and exited when this file was finished. VLC player did all the DVD menu stuff correctly.

CC: (none) => herman.viaene

Comment 11 William Kenney 2016-02-22 17:01:59 CET
In VirtualBox, M5, KDE, 32-bit

Package(s) under test:
mpv librubberband2

default install of mpv & librubberband2

[root@localhost wilcal]# urpmi mpv
Package mpv-0.15.0-1.mga5.i586 is already installed
[root@localhost wilcal]# urpmi librubberband2
Package librubberband2-1.8.1-6.mga5.i586 is already installed

mpv seems to behave properly at least in vbox. I'll give it a
challenge later today on a low power laptop and some mov files.
It would be really nice if it did well there.

CC: (none) => wilcal.int

Lewis Smith 2016-02-22 20:11:02 CET

CC: lewyssmith => (none)

Comment 12 William Kenney 2016-02-22 23:58:33 CET
On real hardware, M5, KDE, 64-bit

Package(s) under test:
mpv

default install of mpv

[root@localhost wilcal]# urpmi mpv
Package mpv-0.15.0-1.mga5.x86_64 is already installed

Test file:
455MB, 1min 22sec, MOV, Video: h264, yuvj420p, 1920x1080, 45934 kb/s, 29.97 fps
Platform:
Dell Vostro 1015 Laptop
Celeron 925  2.3Ghz  64-bit  1MB L2 cache  800Mhz FSB
RTL8111/8168B PCI Express 1Gbit Ethernet
Atheros AR9285 WiFi adapter
1ea Crucial 4GB 204-Pin
DDR3 SO-DIMM DDR3 1333
HD: Samsung 240GB SSD

When played with VLC playback studders badly.
When played with mpv playback is smooth as silk.

Nice.
Comment 13 William Kenney 2016-02-23 21:21:18 CET
On real hardware, M5, KDE, 32-bit

Package(s) under test:
mpv

default install of mpv

[root@localhost wilcal]# urpmi mpv
Package mpv-0.15.0-1.mga5.i586 is already installed

Platform:
Intel, P4 530J 3.0 GHz, 800MHz FSB, 1MB L2, LGA 775
GigaByte  GA-81915G Pro F4  i915G  LGA 775  MoBo
 Marvel Yukon 88E8001 Gigabit LAN
 Intel High Def Audio, Azalia (C-Media 9880) (snd-hda-intel)
 Intel Graphics Media Accelerator 900 (Intel 82915G)

mpv playback is ok and very much improves the
video performance of this 12 year old beast.
Comment 14 William Kenney 2016-02-24 18:53:06 CET
This looks fine. I'm gonna validate it in 24-hours
unless someone else objects.

Whiteboard: MGA5-64-OK => MGA5-32-OK MGA5-64-OK

William Kenney 2016-03-08 17:33:52 CET

Keywords: (none) => validated_update
CC: (none) => sysadmin-bugs

claire robinson 2016-03-08 22:25:57 CET

Keywords: validated_update => (none)

Comment 15 Thomas Backlund 2016-03-27 00:29:20 CET
Moved to backports

Status: ASSIGNED => RESOLVED
CC: (none) => tmb
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.