mpv-player / mpv-build

🔨 Helper scripts to compile mpv on Linux
http://mpv.io
414 stars 108 forks source link

Failed to initialize a decoder for codec 'av1'. #135

Closed mrkapqa closed 4 years ago

mrkapqa commented 4 years ago

Hello,

i built mpv with vaporsynth support according to these instructions here

https://www.svp-team.com/wiki/SVP:Linux

echo --enable-libx264 >> ffmpeg_options echo --enable-vapoursynth >> mpv_options echo --enable-libmpv-shared >> mpv_options ./rebuild -j4 sudo ./install cd ..

now when playing some video through youtube-dl-hook+mpv i got the error

mpv https://www.youtube.com/watch?v=Dt-PEVm8754 (+) Video --vid=1 () (av1 1280x720 29.970fps) (+) Audio --aid=1 --alang=eng () (opus 2ch 48000Hz) Subs --sid=1 --slang=en 'vtt' (webvtt) (external) Failed to initialize a decoder for codec 'av1'. Video: no video

could you please show me which options i would need to get full ffmpeg support here?

Thank you very much.

CounterPillow commented 4 years ago

install libdav1d and --enable-libdav1d in ffmpeg_options

mrkapqa commented 4 years ago

thanks!

in ubuntu 20.04 there is only "libdavix0v5" under "libdav*" that won't be the right package i assume?

mrkapqa commented 4 years ago

https://repology.org/project/libdav1d/versions

mrkapqa commented 4 years ago

alright, found it here

https://code.videolan.org/videolan/dav1d/-/wikis/compilation-guide

mrkapqa commented 4 years ago

on ubuntu 20.04 could not get libdav1d to install

1.option here

https://snapcraft.io/install/dav1d/ubuntu

would not install libdav1d and error is ERROR: dav1d >= 0.4.0 not found using pkg-config

  1. option here

https://code.videolan.org/videolan/dav1d/-/wikis/compilation-guide

after ninja one is supposed to add ninja install which on my computer fails

`git clone https://code.videolan.org/videolan/dav1d.git Cloning into 'dav1d'... remote: Enumerating objects: 20, done. remote: Counting objects: 100% (20/20), done. remote: Compressing objects: 100% (20/20), done. remote: Total 8063 (delta 4), reused 0 (delta 0), pack-reused 8043 Receiving objects: 100% (8063/8063), 2.57 MiB | 9.28 MiB/s, done. Resolving deltas: 100% (6054/6054), done. rich@rich-System-Product-Name:~$ cd dav1d rich@rich-System-Product-Name:~/dav1d$ meson build The Meson build system Version: 0.54.2 Source dir: /home/rich/dav1d Build dir: /home/rich/dav1d/build Build type: native build Project name: dav1d Project version: 0.7.0 C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0") C linker for the host machine: cc ld.bfd 2.34 Host machine cpu family: x86_64 Host machine cpu: x86_64 Run-time dependency threads found: YES Checking for function "clock_gettime" : YES Library dl found: YES Checking for function "dlsym" with dependency -ldl: YES Check usable header "stdatomic.h" : YES Check usable header "unistd.h" : YES Check usable header "io.h" : NO Checking for function "getopt_long" : YES Checking for function "_aligned_malloc" : NO Checking for function "posix_memalign" : YES Compiler for C supports arguments -fvisibility=hidden: YES Compiler for C supports arguments -Wundef: YES Compiler for C supports arguments -Werror=vla: YES Compiler for C supports arguments -Wno-maybe-uninitialized -Wmaybe-uninitialized: YES Compiler for C supports arguments -Wno-missing-field-initializers -Wmissing-field-initializers: YES Compiler for C supports arguments -Wno-unused-parameter -Wunused-parameter: YES Compiler for C supports arguments -Werror=missing-prototypes: YES Compiler for C supports arguments -Wshorten-64-to-32: NO Compiler for C supports arguments -fomit-frame-pointer: YES Compiler for C supports arguments -ffast-math: YES Compiler for C supports arguments -mpreferred-stack-boundary=6: YES Program nasm found: YES (/usr/bin/nasm) Configuring config.asm using configuration Configuring config.h using configuration Configuring version.h using configuration Program doxygen found: YES (/usr/bin/doxygen) Program dot found: NO Configuring cli_config.h using configuration Library m found: YES Program objcopy found: YES (/usr/bin/objcopy) Build targets in project: 15

Found ninja-1.10.0 at /usr/bin/ninja rich@rich-System-Product-Name:~/dav1d$ cd build rich@rich-System-Product-Name:~/dav1d/build$ ninja [122/122] Linking target tests/libfuzzer/dav1d_fuzzer rich@rich-System-Product-Name:~/dav1d/build$ ninja install [1/2] Installing files. Installation failed due to insufficient permissions. Attempting to use polkit to gain elevated privileges... Traceback (most recent call last): File "/home/rich/.local/bin/meson", line 5, in from mesonbuild.mesonmain import main ModuleNotFoundError: No module named 'mesonbuild' FAILED: meson-install /home/rich/.local/bin/meson install --no-rebuild ninja: build stopped: subcommand failed. `

mrkapqa commented 4 years ago

error has been solved; has been onmy part - thank you.

mrkapqa commented 4 years ago

however, after

ninja install

[1/2] Installing files. Installation failed due to insufficient permissions. Attempting to use polkit to gain elevated privileges... Installing src/libdav1d.so.4.0.1 to /usr/local/lib64 Installing tools/dav1d to /usr/local/bin Installing /home/rich/dav1d/include/dav1d/common.h to /usr/local/include/dav1d Installing /home/rich/dav1d/include/dav1d/data.h to /usr/local/include/dav1d Installing /home/rich/dav1d/include/dav1d/dav1d.h to /usr/local/include/dav1d Installing /home/rich/dav1d/include/dav1d/headers.h to /usr/local/include/dav1d Installing /home/rich/dav1d/include/dav1d/picture.h to /usr/local/include/dav1d Installing /home/rich/dav1d/build/include/dav1d/version.h to /usr/local/include/dav1d Installing /home/rich/dav1d/build/meson-private/dav1d.pc to /usr/local/lib64/pkgconfig

and afterwards building mpv with these options

echo --enable-libx264 >> ffmpeg_options echo --enable-vapoursynth >> mpv_options echo --enable-libmpv-shared >> mpv_options echo --enable-libdav1d >> ffmpeg_options ./rebuild -j4

would still result in

make: Leaving directory '/home/rich/Programs/mpv-build/libass' Auto-enabling OpenSSL (creates a non-redistributable binary). Using ffmpeg options: --enable-gpl --disable-debug --disable-doc --enable-pic --enable-libx264 --enable-libx264 --enable-libdav1d --enable-libx264 --enable-libdav1d --enable-libx264 --enable-libdav1d --enable-libx264 --enable-libdav1d --enable-libx264 --enable-libdav1d --enable-libx264 --enable-libdav1d --enable-nonfree --enable-openssl ERROR: dav1d >= 0.4.0 not found using pkg-config

mrkapqa commented 4 years ago

thank you, this has been solved by adapting

$PKG_CONFIG_PATHto whatever is the location thatninjainstalleddav1d.pcto, in my case/usr/local/lib64/pkgconfig/(i.e.export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig`).