VLC binaries in RPMFusion don't include opus encoder or decoder

*nix specific usage questions
olagarde
New Cone
New Cone
Posts: 9
Joined: 21 Dec 2013 08:42

VLC binaries in RPMFusion don't include opus encoder or decoder

Postby olagarde » 01 Apr 2020 10:52

VLC binary dists for GNU Linux don't include opus, but other OSs do, can we get some love for GNU Linux?

"Tools"-->"Media Information"-->"Codec" correctly reports the stream0 mp4 and stream1 opus but throws
Codec not supported: VLC could not decode the format "Opus" (Opus Audio)
in a modal when trying to open the audio stream, and
avcodec decoder error: cannot start codec (opus)
main decoder error: Codec `Opus' (Opus Audio) is not supported.
in the logs with the expected libva error from vaInitialize() following that. Turns out the VLC 3.0.8 on the rpmfusion-free-updates repo doesn't have the opus codecs, which I figured ok, it's just not included by default... except that versions as early as 2.6x on OSX and as early as 2.8 on Windows do. Or at least '-l' says so and the binaries have no issues with opus audio, mkv containers or otherwise. Any idea if and/or when GNU Linux will get that extra love?

Environment:

VLC binary dist on CentOS 7 is currently 3.0.8-1.el7 (3.0.8 Vetinari 3.0.8-3-g410bff0959), assuming a boilerplate install plus the usual epel and rpmfusion, and the standard gstreamer+totem bits. Add ffmpeg (3.4.7-1.el7), gstreamer-ffmpeg (0.10.13-16.el7), and gstreamer1-libav (1.10.4-2.el7), plus the usual auditd totemvideothru allowance for thumbnailing and you've got a minimal setup to merge DASH parts from youtube into the default mkv containers, have their thumbnails show correctly, and play correctly in Totem. Packages for opus-devel, x264-libs, and dependents ride in on the coattails of the above install(s).

olagarde
New Cone
New Cone
Posts: 9
Joined: 21 Dec 2013 08:42

Re: VLC binaries in RPMFusion don't include opus encoder or decoder

Postby olagarde » 01 Apr 2020 10:58

Yes, I've already raised the issue with the rpmfusion forum. Less than stellar traction.

Rémi Denis-Courmont
Developer
Developer
Posts: 15265
Joined: 07 Jun 2004 16:01
VLC version: master
Operating System: Linux
Contact:

Re: VLC binaries in RPMFusion don't include opus encoder or decoder

Postby Rémi Denis-Courmont » 01 Apr 2020 16:19

Debian and its derivatives include the Opus support in their VLC packages just fine. This is an RPMfusion problem.
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

kwizart
Cone that earned his stripes
Cone that earned his stripes
Posts: 164
Joined: 18 Dec 2006 03:43

Re: VLC binaries in RPMFusion don't include opus encoder or decoder

Postby kwizart » 02 Apr 2020 14:58

Thanks for raising this point.

We have opus support enabled in all Fedora and EL8 build, so it's not a general issue there.
For EL7 it's also enabled (as a dependency) , but it's also silently discarded because the required dependency isn't high enough. (1.0.2 is available whereas 1.0.3 is required).

If vlc could lower the requirement it would allow us to use enable opus support for such an outXXXd distribution that is EL7.

olagarde
New Cone
New Cone
Posts: 9
Joined: 21 Dec 2013 08:42

Re: VLC binaries in RPMFusion don't include opus encoder or decoder

Postby olagarde » 06 Apr 2020 16:22

Per comment #4 on bug 5585 (Chauvet), trying [url]http://koji.rpmfusion.org/koji/taskinfo?taskID=399726[/url].

Looks good, mats container wth opus parsing correctly, no complaints from pulseaudio, correct audio stream output and control, only errors logged are the ignorable ones from lack of full vdpau support in my admittedly throwaway test sysimage.

I think these are all of the relevant bits in addition to the obvious, the test case is a fresh pull of the opus and mp4 dash components from [url]https://www.youtube.com/watch?v=NEx_aNkWIvg[/url] merged into an mkv (ffmpeg -loglevel error -i %audio -i %video -acodec copy -vcodec copy %output).
$ rpm -q libebml libaom libmatroska libaom libdav1d libmodplug vlc vlc-core ffmpeg
libebml-1.3.9-1.el7.x86_64
libaom-1.0.0-8.20190810git9666276.el7.x86_64
libmatroska-1.5.2-1.el7.x86_64
libaom-1.0.0-8.20190810git9666276.el7.x86_64
libdav1d-0.5.2-2.el7.x86_64
libmodplug-0.8.9.0-9.el7.x86_64
vlc-3.0.9-36.el7.x86_64
vlc-core-3.0.9-36.el7.x86_64
ffmpeg-3.4.7-1.el7.x86_64

$ vlc --version
VLC media player 3.0.9 Vetinari (revision )
VLC version 3.0.9 Vetinari ()
Compiled by mockbuild on buildvm-05.virt.rpmfusion.net (Apr 6 2020 09:41:19)
Compiler: gcc version 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC)
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute it under the terms of the GNU General Public License;
see the file named COPYING for details.
Written by the VideoLAN team; see the AUTHORS file.

$ vlc -l |grep -i opus
VLC media player 3.0.9 Vetinari (revision )
opus Opus audio decoder
opus Opus audio encoder

$ vlc Downloads/vlc-core-3.8-1.opus.testcase.mkv ## manually stopped once verified successful
VLC media player 3.0.9 Vetinari (revision )
[00000000010071c0] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/nouveau_drv_video.so
libva info: va_openDriver() returns -1
[00007fb960002970] glconv_vaapi_x11 gl error: vaInitialize: unknown libva error
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/nouveau_drv_video.so
libva info: va_openDriver() returns -1
[00007fb960002970] glconv_vaapi_drm gl error: vaInitialize: unknown libva error
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 1
libva error: va_getDriverName() failed with operation failed,driver_name=nouveau
[00007fb960002970] glconv_vaapi_drm gl error: vaInitialize: operation failed
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/nouveau_drv_video.so
libva info: va_openDriver() returns -1
[00007fb960002970] glconv_vaapi_drm gl error: vaInitialize: unknown libva error
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/nouveau_drv_video.so
libva info: va_openDriver() returns -1
[00007fb960002970] glconv_vaapi_drm gl error: vaInitialize: unknown libva error
Failed to open VDPAU backend libvdpau_nouveau.so: cannot open shared object file: No such file or directory
Failed to open VDPAU backend libvdpau_nouveau.so: cannot open shared object file: No such file or directory
[h264 @ 0x7fb97ccba0a0] get_buffer() failed
[h264 @ 0x7fb97ccba0a0] thread_get_buffer() failed
[h264 @ 0x7fb97ccba0a0] decode_slice_header error
[h264 @ 0x7fb97ccba0a0] no frame!
QObject::~QObject: Timers cannot be stopped from another thread
[olagarde@localhost ~]$


Return to “VLC media player for Linux and friends Troubleshooting”

Who is online

Users browsing this forum: No registered users and 22 guests