Package Details: vlc-luajit 3.0.17.4-10

Git Clone URL: https://aur.archlinux.org/vlc-luajit.git (read-only, click to copy)
Package Base: vlc-luajit
Description: Multi-platform MPEG, VCD/DVD, and DivX player built with luajit for OBS Studio compatibility
Upstream URL: https://www.videolan.org/vlc/
Keywords: luajit media obs obs-studio vlc
Licenses: GPL2, LGPL2.1
Conflicts: vlc, vlc-dev, vlc-plugin, vlc-stable-git
Provides: vlc
Submitter: tytan652
Maintainer: tytan652
Last Packager: tytan652
Votes: 12
Popularity: 0.71
First Submitted: 2021-05-11 19:45 (UTC)
Last Updated: 2022-07-27 04:44 (UTC)

Required by (152)

Sources (5)

Pinned Comments

Latest Comments

tytan652 commented on 2022-07-20 18:46 (UTC) (edited on 2022-07-20 18:53 (UTC) by tytan652)

I just forgot to remove the optional deps.

And latest versions VLC 3 do support being built with FFmpeg 5 just without VAAPI.

https://code.videolan.org/videolan/vlc/-/merge_requests/1245

Sorry to disappoint you but I stick with FFmpeg 5.

I forgot to specify that on Arch Linux side ffmpeg4.4 will be progressively phased out.

https://archlinux.org/todo/ffmpeg44-removal/

HurricanePootis commented on 2022-07-20 17:34 (UTC) (edited on 2022-07-20 17:43 (UTC) by HurricanePootis)

I'm rather confused by the fact that while this package lists VAAPI drivers as optional dependencies, and at line 266 --enable-libva is listed, why at line 335 is there a conflicting --disable-libva?

EDIT: So, vlc 3.0x is not supposed to be built with ffmpeg 5, which your package is doing incorrectly. If you look at the official VLC package, they use ffmpeg4.4 because VAAPI won't work with VLC on ffmpeg5, and even the official vlc developers said they have no plans to support ffmpeg5 on the vlc 3.0 branch here.

Here is a patch file to build with ffmpeg4.4 and re-enable VAAPI

diff --git a/PKGBUILD b/PKGBUILD
index 7cd6f81..e23965b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ _vlcver=3.0.17.4
 # optional fixup version including hyphen
 _vlcfixupver=
 pkgver=${_vlcver}${_vlcfixupver//-/.r}
-pkgrel=8
+pkgrel=9
 pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player built with luajit for OBS Studio compatibility'
 url='https://www.videolan.org/vlc/'
 arch=('i686' 'x86_64' 'aarch64')
@@ -26,7 +26,7 @@ depends=(
   'a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'libproxy' 'luajit' 'libidn'
   'libmatroska' 'taglib' 'libmpcdec' 'faad2' 'libmad'
   'libmpeg2' 'xcb-util-keysyms' 'libtar' 'libxinerama' 'libsecret'
-  'libarchive' 'qt5-base' "ffmpeg>=5"
+  'libarchive' 'qt5-base' "ffmpeg4.4"
   'qt5-x11extras' 'qt5-svg' 'freetype2' 'fribidi' 'harfbuzz'
   'fontconfig' 'libxml2' 'gnutls' 'libplacebo' 'wayland-protocols'
 )
@@ -233,6 +233,7 @@ build() {
   export LUA_LIBS="$(pkg-config --libs luajit)"
   export LUA_CFLAGS="$(pkg-config --cflags luajit)"
   export RCC=/usr/bin/rcc-qt5
+  export PKG_CONFIG_PATH="/usr/lib/ffmpeg4.4/pkgconfig/:$PKG_CONFIG_PATH"

   ./configure \
     --prefix=/usr \

Alkaris commented on 2022-06-26 03:21 (UTC)

Why is it this package has to conflict with itself. vlc-luajit is required by OBS, but when you go to install VLC, it complains its in conflict with itself, despite the fact it's the exact same package used by OBS, and wants to uninstall itself when trying to install VLC. Instead I have to jump through hoops to ignore the vlc-luajit package altogether by extracting the package and adding an ignore rule to it. Because if I don't do that, it fucks with OBS that's already installed, preventing OBS from working at all.

lwg-galuise commented on 2022-05-06 19:54 (UTC)

That worked! Thank you thank you thank you very much!

tytan652 commented on 2022-05-06 19:00 (UTC)

@lwg-galuise I just happen to have pushed the fix with the 3.0.17.4-5

lwg-galuise commented on 2022-05-06 18:53 (UTC) (edited on 2022-05-06 18:55 (UTC) by lwg-galuise)

I can't seem to get this to build. It's complaining about the dav1d encoder code:

In file included from codec/dav0d.c:33:
codec/dav0d.c: In function ‘vlc_entry__3_0_0f’:
codec/dav0d.c:66:57: error: ‘DAV1D_MAX_FRAME_THREADS’ undeclared (first use in this function); did you mean ‘DAV1D_MAX_THREADS’?
    65 |     add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_FRAME_THREADS,
        |                                                         ^~~~~~~~~~~~~~~~~~~~~~~
../include/vlc_plugin.h:245:54: note: in definition of macro ‘vlc_config_set’
  245 | #define vlc_config_set(...) vlc_set (opaque, config, __VA_ARGS__)
        |                                                      ^~~~~~~~~~~
../include/vlc_plugin.h:433:5: note: in expansion of macro ‘change_integer_range’
  433 |     change_integer_range( i_min, i_max )
        |     ^~~~~~~~~~~~~~~~~~~~
codec/dav0d.c:66:5: note: in expansion of macro ‘add_integer_with_range’
    65 |     add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_FRAME_THREADS,
        |     ^~~~~~~~~~~~~~~~~~~~~~
codec/dav0d.c:66:57: note: each undeclared identifier is reported only once for each function it appears in
    65 |     add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_FRAME_THREADS,
        |                                                         ^~~~~~~~~~~~~~~~~~~~~~~

I did try swapping out the "extra/dav1d 1.0.0-1" Arch package for https://aur.archlinux.org/packages/dav1d-git to no avail.

ArchBoxHero commented on 2022-03-01 17:10 (UTC) (edited on 2022-03-01 17:12 (UTC) by ArchBoxHero)

Thanks for the info @tytan652. I have no issue getting it to build manually replacing the "ffmpeg" version to the "ffmpeg-amd-full" version and looks good.

tytan652 commented on 2022-03-01 14:57 (UTC) (edited on 2022-03-01 14:59 (UTC) by tytan652)

I can't add it, every FFmpeg package should add in there provide this "ffmpeg=$pkgver". But this is not a requirement.

It allow me to avoid that this package is built with FFmpeg 4. You can replace "ffmpeg>=5" by "ffmpeg" in VLC PKGBUILD. Or ask the maintainer of your FFmpeg package to add "ffmpeg=$pkgver" in provided package.

ArchBoxHero commented on 2022-03-01 14:53 (UTC)

Hey @tytan652 -I've swapped out the ffmpeg>=5 with ffmpeg-amd-full>=5 in the PKBUILD. Could you add it? Thanks.

tytan652 commented on 2022-03-01 07:27 (UTC)

@ArchBoxHero I can't help if you don't gave me the full error.

ArchBoxHero commented on 2022-02-28 23:35 (UTC) (edited on 2022-02-28 23:42 (UTC) by ArchBoxHero)

No chance of building this using ffmpeg-amd-full version? I can't build it with that ffmpeg. And I'd really much rather keep that ffmpeg version. Any help? Thanks.

ngoonee commented on 2022-02-21 02:22 (UTC)

Thanks this works @tytan652

tal commented on 2022-02-20 20:24 (UTC) (edited on 2022-02-20 21:35 (UTC) by tal)

I'm still getting this when trying to build. is there any workaround for it?

error: libva is present but libavcodec/vaapi.h is missing

Edit:

It looks like it's not finding the ffmpeg-5.0.patch:


==> Retrieving sources...
  -> Found vlc-3.0.16.tar.xz
  -> Found update-vlc-plugin-cache.hook
  -> Found vlc-3.0.11.1-srt_1.4.2.patch
  -> Found vlc-live-media-2021.patch

RESOLVED:

Looks like I had a dirty PKGBUILD cached. I was using paru, and paru -Scc still wasn't getting rid of old pkgbuild files. a full paru -Sccd and some manual cache deletion seems to have resolved the problem

tytan652 commented on 2022-02-18 11:46 (UTC)

@Freso because Arch Linux vlc package did the same thing because of ffmpeg4.4 but I think I can add it back since I use FFmpeg 5.

Freso commented on 2022-02-18 11:36 (UTC) (edited on 2022-02-18 12:45 (UTC) by Freso)

Why did you --disable-chromaprint/AcoustID support?

Edit: I saw that this was done in Arch’s package too, due to extra/vlc linking against ffmpeg4.4 library: https://github.com/archlinux/svntogit-packages/commit/7fc77909e1788686a2cc7e5f08cc9c9506d121e7 – but this package depends on ffmpeg>=5, so this shouldn’t be an issue here, right?

tytan652 commented on 2022-02-18 08:25 (UTC) (edited on 2022-02-18 08:25 (UTC) by tytan652)

@Ngonoee with some patch from commit from the future 3.0.17, I can build VLC 3 with FFmpeg 5 with only one sacrifice libva is not available with FFmpeg 5 in VLC 3.

Building VLC with ffmpeg4.4 and having ffmpeg installed was causing issue, so I got no choice to chose FFmpeg 5.

ngoonee commented on 2022-02-18 07:39 (UTC)

Oof just saw the vlc3/ffmpeg5 discussions. That's not gonna get solved anytime soon...

tytan652 commented on 2022-02-18 06:34 (UTC)

Not a new toolchain, but VLC 3 can't be built against FFmpeg 5 so i try to switch to ffmpeg4.4. I'm actually trying to solve the issue, sorry for the inconvenience.

ngoonee commented on 2022-02-18 02:20 (UTC)

collect2: error: ld returned 1 exit status libtool: error: error: relink 'libavformat_plugin.la' with the above command before installing it

Getting the above, I think its related to the new toolchain updates?

Tio commented on 2022-01-26 12:25 (UTC)

Works. Thank you!

tytan652 commented on 2022-01-24 14:04 (UTC) (edited on 2022-01-26 12:39 (UTC) by tytan652)

@Tio fixed in 3.0.16-5

Tio commented on 2022-01-24 13:53 (UTC)

I get this error when trying to update:

Building vlc-luajit...
==> Making package: vlc-luajit 3.0.16-4 (lun 24 ene 2022 14:52:08)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found vlc-3.0.16.tar.xz
  -> Found update-vlc-plugin-cache.hook
  -> Found vlc-3.0.11.1-srt_1.4.2.patch
  -> Found vlc-live-media-2021.patch
  -> Found vlc-luajit.hook
  -> Found vlc-luajit.sh
==> ERROR: Integrity checks (sha256) differ in size from the source array.
Failed to build vlc-luajit

tytan652 commented on 2021-12-13 20:02 (UTC) (edited on 2021-12-13 20:04 (UTC) by tytan652)

All of them seems to be optional depedencies and are related to plugins for VLC.

It's almost the same PKGBUILD as the original vlc package, just LuaJIT and disable DeckLink (was causing issue) changes.

zeroconf commented on 2021-12-13 19:57 (UTC)

After updating system, rebuilding package:

yay --cleanmenu --rebuild -Syu vlc-luajit

... rebooting system, checkrebuild command claims that package vlc-luajit still needs to be rebuilt, although it is working properly. I hope this can be fixed. Below is the verbosed output of missing libraries locations.

$ checkrebuild -v

foreign vlc-luajit

ldd /usr/lib/vlc/plugins/visualization/libprojectm_plugin.so

    libprojectM.so.3 => not found

ldd /usr/lib/vlc/plugins/visualization/libgoom_plugin.so

    libgoom2.so.0 => not found

ldd /usr/lib/vlc/plugins/stream_filter/libaribcam_plugin.so

    libaribb25.so.0 => not found

ldd /usr/lib/vlc/plugins/demux/libts_plugin.so

    libaribb24.so.0 => not found

ldd /usr/lib/vlc/plugins/control/liblirc_plugin.so

    liblirc_client.so.0 => not found

ldd /usr/lib/vlc/plugins/codec/libsdl_image_plugin.so

    libSDL_image-1.2.so.0 => not found

ldd /usr/lib/vlc/plugins/codec/libkate_plugin.so

    libtiger.so.5 => not found

ldd /usr/lib/vlc/plugins/codec/libaribsub_plugin.so

    libaribb24.so.0 => not found

ldd /usr/lib/vlc/plugins/access/libnfs_plugin.so

    libnfs.so.13 => not found

tytan652 commented on 2021-06-22 08:02 (UTC)

@Gotchfutchian

VLC 3 only support SRT version between 1.2.2 and 1.3.0, the ArchLinux package patch this to make VLC work with SRT version beyond 1.3.0.

In your case it seems you don't get the patch applied so VLC refuse to be compiled against the actual SRT.

DON'T TRY TO DOWNGRADE SRT, it's really a bad idea, as example FFmpeg depends on the actual version and downgrading it well cause a real mess.

I repeat again it seems that your system doesn't patch in the prepare step of the package.

I already try to build it in a chroot (clean system) and no issue comes up. This is why I said it was on your side.

Remove srt and --enable-srt from the configure command if needed. But don't downgrade SRT to 1.2.2, this is not a good idea.

But note that you will be unable to open SRT stream in VLC if you do.

Gotchfutchian commented on 2021-06-21 18:52 (UTC)

@tytan652 Apparently mkpkg wasnt correctly resloving dependecies so i just threw it out of the build and it worked. I really only needed this for OBS-Studio-browser becasue in anything other than debian based its much harder to do -_-. If I do encounter any other issues when using ill be sure to rebuild with a manual install of srt 1.2.2 . Thanks for responding and being clear.

tytan652 commented on 2021-06-21 05:48 (UTC) (edited on 2021-06-21 05:52 (UTC) by tytan652)

@Gotchfutchian, this error comes from the fact that (I don't know why) the patch about SRT is not applied in the prepare stage when you build the package.

The issue is on your side.

Because this srt >= 1.2.2 srt < 1.3.0 should be patched into srt >= 1.2.2 only.

And other things to make more recent version of SRT compatible with VLC.

Gotchfutchian commented on 2021-06-21 00:57 (UTC) (edited on 2021-06-21 01:05 (UTC) by Gotchfutchian)

Error on makepkg / yay,

checking for ncursesw... yes
checking lirc/lirc_client.h usability... yes
checking lirc/lirc_client.h presence... yes
checking for lirc/lirc_client.h... yes
checking for lirc_init in -llirc_client... yes
checking for srt >= 1.2.2 srt < 1.3.0... no
configure: error: Library srt >= 1.2.2 srt < 1.3.0 needed for srt was not found
==> ERROR: A failure occurred in build().
    Aborting...

I have tried to get an older version of srt but pacman/yay wont let me for some odd reason. All help is appreciated since im a bit of a noob when it comes to arch.

Edit: removing srt seems to have allowed makepkg to work, will update when needed.

chilled commented on 2021-06-03 19:30 (UTC)

@tytan652

Skipping PGP signature check did it for me. Learned something new today...

Thanks a lot!

chilled commented on 2021-06-03 18:59 (UTC)

Hello!

Trying to build today, got the following error:

==> Verifying source file signatures with gpg... vlc-3.0.14.tar.xz ... FAILED (unknown public key 7180713BE58D1ADC) ==> ERROR: One or more PGP signatures could not be verified!

Entire output here: https://pastebin.com/1upBgBMq

Not sure how to find PGP signature to modify the PKGBUILD, any help will be appreciated.

tytan652 commented on 2021-06-02 22:34 (UTC)

If you use makepkg just simply edit the vlc-luajit PKGBUILD like I said

lorddickfist commented on 2021-06-02 22:18 (UTC)

That worked however I didn't use yay for it, I just manually made the pkg with makepkg -sri. Can you tell me what you meant about yay asking me if I want to edit?

tytan652 commented on 2021-06-02 21:38 (UTC) (edited on 2021-06-02 21:38 (UTC) by tytan652)

@lorddickfist

Here is a quick fix give it a try, this is maybe because you have a decklink package:

Add --disable-decklink \ to the PKGBUILD in the disable/enable list before $GLES

Yay will ask you if you want to edit the PKGBUILD file

lorddickfist commented on 2021-06-02 21:19 (UTC)

@tytan652

Here I believe this is all of it, let me know if you need something else. https://ghostbin.co/paste/gv45mh

tytan652 commented on 2021-06-02 20:48 (UTC) (edited on 2021-06-02 20:48 (UTC) by tytan652)

@lorddickfist

This is not the error in itself, scroll up and search the error emitted

Like that I may be able to help you

lorddickfist commented on 2021-06-02 20:35 (UTC) (edited on 2021-06-02 20:35 (UTC) by lorddickfist)

Getting error

make[4]: [Makefile:25054: video_output/libdecklinkoutput_plugin_la-decklink.lo] Error 1 make[4]: Leaving directory '/home/ldf/.cache/yay/vlc-luajit/src/vlc-3.0.14/modules' make[3]: [Makefile:27996: all-recursive] Error 1 make[3]: Leaving directory '/home/ldf/.cache/yay/vlc-luajit/src/vlc-3.0.14/modules' make[2]: [Makefile:12800: all] Error 2 make[2]: Leaving directory '/home/ldf/.cache/yay/vlc-luajit/src/vlc-3.0.14/modules' make[1]: [Makefile:1563: all-recursive] Error 1 make[1]: Leaving directory '/home/ldf/.cache/yay/vlc-luajit/src/vlc-3.0.14' make: *** [Makefile:1450: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting... error making: vlc-luajit

any help appreciated as I am a noob.