Mpv is based on the MPlayer and mplayer2 projects which it greatly improves.
It supports a wide variety of video file formats, audio and video codecs, and
subtitle types. Special input URL types are available to read input from
a variety of sources other than disk files. Depending on platform, a variety of
different video and audio output methods are supported.
===> The following configuration options are available for mpv-0.41.0_2,1:
ARCHIVE=on: bzip2/zip/iso9660 archive support
DOCS=on: Build and/or install documentation
EXAMPLES=on: Build and/or install examples
LCMS2=on: Little CMS 2.x support
MANPAGES=on: Build and/or install manual pages
MUJS=off: Use MuJS for Javascript language support
RUBBERBAND=off: High quality pitch correction with librubberband
UCHARDET=on: Guess subtitle encoding via uchardet
YTDLP=off: Support ytdl protocol (installs yt-dlp)
ZIMG=off: High quality software scaling via "z" library
====> Input
CDIO=off: CDIO support via libcdio
DVDNAV=on: DVD menu navigation
LIBBLURAY=off: Blu-ray discs support via libbluray
V4L=on: Video 4 Linux support
VAPOURSYNTH=off: VapourSynth filter bridge
====> Video Output
CACA=off: libcaca graphics library support
DRM=on: KMS console support
NVDEC=on: NVIDIA decoder with CUDA support
OPENGL=on: 2D/3D rendering support via OpenGL
SIXEL=off: Sixel graphics support
VAAPI=on: VAAPI (GPU video acceleration) support
VDPAU=on: VDPAU (GPU video acceleration) support
VULKAN=on: Vulkan output support
WAYLAND=on: Wayland (graphics) support
X11=on: X11 (graphics) support
====> Audio Output
ALSA=off: ALSA audio architecture support
JACK=off: JACK audio server support
OPENAL=off: Audio support via OpenAL
PIPEWIRE=off: PipeWire multimedia server support
PULSEAUDIO=off: PulseAudio sound server support
SDL=off: Simple Direct Media Layer support
SNDIO=off: Sndio audio support
====> Lua scripting language support: you have to select exactly one of them
LUA=off: Lua scripting language support
LUAJIT=on: Use LuaJIT instead of Lua scripting language support
LUA_NONE=off: Disable Lua scripting language support
===> Use 'make config' to modify these settings
multimedia/mpv: Disable YTDLP option by default
The www/yt-dlp dependency now requires npm and deno as dependencies (via
www/py-yt-dlp-ejs). This pulls in a bunch of build and run
dependencies which were not previously required.
There are two main downsides to this:
1. Exploding build times
2. Installing multimedia/mpv on a system now also installs a javascript
interpreter which violates POLA and is generally not desirable.
Therefore, we're disabling the YTDLP option by default.
PR: 293736
Approved by: makc (multimedia)
lang/luajit: update to v2.1
Disconnect lang/luajit-devel from the build, will be removed soon.
Bump PORTREVISIONs for the consumers.
Discussed with: adamw
PR: 225342
multimedia/mpv: Fix INDEX
after recent www/youtube-dl removal.
make_index: mpv-0.37.0_1,1: no entry for /usr/ports/www/youtube_dl
Also YOUTUBE radio option is removed since yt-dlp is the only option in
YOUTUBE after removing youtube-dl.
Approved by: portmgr (blanket)
multimedia/mpv: unbreak audio with YTDLP=on after 35a7667ec445
[ytdl_hook] EDL doesn't support fragmentswithout duration with MP4 DASH
EDL specifies no segments.'
EDL parsing failed.
Error in EDL.
EDL: source file 'edl://!mp4_dash,init=%910%https://...' has unknown duration.
PR: 270437
multimedia/mpv: unbreak with --auto-features=enabled
meson.build:363:0: ERROR: Feature win32-internal-pthreads cannot be enabled: the
os is not win32!
meson.build:391:0: ERROR: Dependency "appleframeworks" not found, tried
framework
meson.build:710:0: ERROR: Feature sdl2-gamepad cannot be enabled: sdl2 was not
found!
meson.build:772:0: ERROR: Dependency "appleframeworks" not found, tried
framework
meson.build:784:0: ERROR: Dependency "appleframeworks" not found, tried
framework
meson.build:817:0: ERROR: C shared or static library 'OpenSLES' not found
meson.build:848:0: ERROR: Feature sdl2-audio cannot be enabled: sdl2 was not
found!
meson.build:864:0: ERROR: C symbol IAudioClient not found in header
audioclient.h
meson.build:885:0: ERROR: Feature direct3d cannot be enabled: the build is not
GPL or this is not a win32 desktop!
meson.build:941:0: ERROR: Feature sdl2-video cannot be enabled: sdl2 was not
found!
meson.build:964:0: ERROR: Dependency "spirv-cross-c-shared" not found, tried
pkgconfig and cmake
meson.build:970:0: ERROR: Feature d3d11 cannot be enabled: Either is not a win32
desktop or shaderc nor spirv-cross were found!
meson.build:1067:0: ERROR: Feature gl-cocoa cannot be enabled: cocoa and GL were
not found!
(Only the first 15 lines of the commit message are shown above )
multimedia/mpv: track VDPAU dependency on X11
meson.build:1411:0: ERROR: Feature vdpau cannot be enabled: x11 was not found!
(or before 1d89ec25be62)
Checking for VDPAU acceleration : x11
not found
Checking for VDPAU with OpenGL/X11 :
vdpau not found
PR: 267816
Reported by: amdmi3
multimedia/mpv: define LICENSE_FILE to avoid stub
"or later" versions are treated as separate licenses thus not found
under /usr/ports/Templates/Licenses/.
multimedia/mpv: enable NVDEC by default after 9db4ec993805
$ man mpv
[...]
NOTE:
Most non-copy methods only work with the OpenGL GPU backend.
Currently, only the vaapi, nvdec and cuda methods work with
Vulkan.
PR: 264027
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
multimedia: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* Aaron LI <aly@aaronly.me>
* Alexander Botero-Lowry <alexbl@FreeBSD.org>
* Alexander Logvinov <ports@logvinov.com>
* Alexey Dokuchaev <danfe@FreeBSD.org>
* Anders Nordby <anders@FreeBSD.org>
* Andrew Pantyukhin <infofarmer@FreeBSD.org>
* Andrew Thompson <andy@fud.org.nz>
* Andrew Thompson <thompsa@FreeBSD.org>
* Angel Carpintero <ack@telefonica.net>
* Anish Mistry (with help from mean)
* Anonymous <swell.k@gmail.com>
(Only the first 15 lines of the commit message are shown above )
wayland: add more mostly leaf ports to virtual category
Caveats:
- emulators/rpcs3: install qt5-wayland and ensure Renderer is Vulkan (default)
- mail/thunderbird: add MOZ_ENABLE_WAYLAND=1 via environ(7)
- www/chromium: add --ozone-platform=wayland on command line
- www/firefox-esr: add MOZ_ENABLE_WAYLAND=1 via environ(7)
- www/firefox: add MOZ_ENABLE_WAYLAND=1 via environ(7)
multimedia/mpv: fix lua option handling
mpv supports
- no lua
- luajit
- lua51-52
The new options added support to select between these.
- LUA_NONE
- LUAJIT (previous OFF by default)
- LUA (previously on when LUAJIT=OFF)
So the default remains to use lang/lua5[12].
PR: 259598
Ports that depend on youtube-dl: Depend on yt-dlp
yt-dlp [1] is a youtube-dl fork with additional features and fixes. For
ports that depend on www/youtube-dl switch the dependency to www/yt-dlp.
For ports that have an optional dependency on www/youtube-dl, create a
new OPTIONS_RADIO that includes www/yt-dlp and make it the default.
[1] https://github.com/yt-dlp/yt-dlp
Other changes:
- www/yt-dlp: Turn the symlink option on by default
- www/py-pafy: Fix build when depending on www/yt-dlp
PR: 259944
Reported by: Oleh Vinichenko <moonlapse81@gmail.com>
Reviewed by: diizzy, Oleh Vinichenko <moonlapse81@gmail.com>,
VVD <vvd@unislabs.com>
Approved by: 0mp, adridg (kde@), rm, tcberner (multimedia@),
yuri (maintainers)
acm and nivit (maintainers, timeout)
Differential Revision: https://reviews.freebsd.org/D33090
multimedia/mpv: backport --hwdec=vaapi for --gpu-context=displayvk
Not to be confused with --hwdec=vaapi-copy which worked before but
has poor performance.
INSTALLS_ICONS: retire the macro and rework the related dependencies
While here, make sure gtk-update-icon-cache is only on run dependency
where added as a dependency
Enforce gtk3 to depend on gtk-update-icon-cache (previously it was
inheriting the dependency)
audio/jack: Update to Jack2: 0.125.0 -> 1.9.16
Big thank you to Florian Walpen <dev@submerge.ch> and
Goran Mekić <meka@tilda.center> for working on Jack2.
PR: 251125
Submitted by: Florian Walpen <dev@submerge.ch> (original version)
multimedia/mpv: unbreak fetch via local copy
Index abbreviation in git-format-patch(1) output seems to change
frequently, probably due to GitHub load balancing.
$ make checksum TRYBROKEN= MASTER_SITE_BACKUP= DISTDIR=$(mktemp -dt distfiles)
[...]
=> 62fb374349e0.patch doesn't seem to exist in /tmp/distfiles.kipot6aT/.
=> Attempting to fetch
https://github.com/mpv-player/mpv/commit/62fb374349e0.patch
fetch: https://github.com/mpv-player/mpv/commit/62fb374349e0.patch: size
mismatch: expected 2083, actual 2079
=> Couldn't fetch it - please try to retrieve this
=> port manually into /tmp/distfiles.kipot6aT/ and try again.
*** Error code 1
Reported by: LuMiWa (via multimedia@ list)
graphics/mesa-libs: Bump reverse deps for libglvnd
Per discussion with bapt on helping pkg handle the changing of these
deps and avoiding impossible upgrade senarios.
PR: 246767
Reviewed by: manu, bapt
Approved by: x11
Differential Revision: https://reviews.freebsd.org/D30824
multimedia/mpv: backport --gpu-context=displayvk
Similar to vkcube-display and --gpu-context=drm (OpenGL). For example,
$ mpv --vo=gpu --gpu-api=vulkan --gpu-context=displayvk --vulkan-display-plane=2
/path/to/video
I tested on the following configuration (consult --vulkan-display-* in the
manpage)
$ mpv --vulkan-display-plane=help
Vulkan Devices:
'Intel(R) HD Graphics 530 (SKL GT2)' (GPU ID 8086:1912)
Display 0: 'monitor' (3840x2160)
Modes:
Mode 00: 3840x2160 (60.000 Hz)
Mode 01: 3840x2160 (30.000 Hz)
(Only the first 15 lines of the commit message are shown above )
multimedia/mpv: add option for javascript
- Add an option for JS support via lang/mujs
- Make it default off for now
PR: 252955
Submitted by: Henry Hu <henry.hu.sh@gmail.com>
devel/vulkan-*: move to graphics/ where vulkan-loader is
Vulkan isn't used for generic compute workloads unlike OpenCL.
For example, waifu2x-ncnn-vulkan is still graphics-related.