My thoughts on Slackware, life and everything

Finally: VLC 3

largeVLCIt took the VideoLAN developers several years of development to leave the ageing v2 releases of their VLC player behind and release a shiny new version ‘3’. This is also the first version which unifies the releases for all platforms the player can run on.
Lots of changes went under the hood and I encourage you to read the release notes. The new release contains working ChromeCast support using a software stack the developers wrote from scratch, where the video’s you cast are transcoded on the fly if necessary. The UPnP support which was broken for many years, has been re-written and finally works again, so that you can watch the movies you make available on your LAN using for instance Plex or Universal Media Server.

When I compile the VLC package I try to follow the VideoLAN guidelines for its supporting libraries, so that the user experience and functionality matches that of the official binaries as closely as possible. That resulted in several changes to the libraries used by VLC:

  • Updated internal libraries: libass, libdvdcss, libdvdnav, libdvdread, libbluray, ffmpeg, live555, libssh2, x262, x264.
  • New internal libraries: microdns, sdm, srt.
  • Removed libraries (no longer used internally): aacenc, daap, faad, faac, vcdimager.

A note about dependencies for the new package:
My Slackware packages for VLC are mostly self-contained with all of the supporting libraries compiled into the package. This makes for a minimal dependency on external libraries/packages. But there are some caveats with the new release: most importantly, its interface has switched from Qt4 to Qt5. While Slackware contains a ‘qt4’ package, it does not contain ‘qt5’ and therefore, the vlc-3.0.0 package introduces three new dependencies, all related to the Qt5 GUI: libxkbcommon, qt5 and qt5-webkit. On Slackware 14.2, two more packages are needed which are already incorporated into slackware-current: libinput and libwacom (the latter one only for 64bit).

A warning to users who built a ‘qt5’ package themselves, using the SlackBuild script at slackbuilds.org:
Un-install that ‘qt5’ package please and install mine. The ‘qt5’ package built with the SBo script will make VLC crash with a segmentation fault.

A note on compiling:
When you want to compile VLC 3 yourself, be sure to install java8 and apache-ant or your build will fail.

Where to find the new VLC packages:

Rsync access is offered by the mirror server: rsync://slackware.nl/mirrors/people/alien/restricted_slackbuilds/vlc/ .

For BluRay support, read a previous article for hints about the aacs keys that you’ll need.

Note that I only built packages for Slackware 14.2 & -current. I stopped creating packages for Slackware 14.1 and earlier because of the effort it takes to build 4 packages for every Slackware release.

My usual warning about patents: versions that can not only DEcode but also ENcode AAC audio can be found in my alternative repository where I keep the packages containing code that might violate stupid US software patents.

45 Comments

  1. Gérard Monpontet

    It’s the big class vlc plus plasma5 now, splendid !! 😉

    • userx-bw

      I installed the files,
      vlc-3.0.8-x86_64-1alien.txz
      libxkbcommon-0.8.4-x86_64-1alien.txz
      qt5-webkit-5.212.0_alpha3-x86_64-2alien.txz
      qt5-5.13.1-x86_64-2alien.txz

      into your dvd current iso install, not updated. I get it to work in the terminal without any controls, but trying to open it up off menu or right click on movie, no go. and all I am seeing is the video without any controls when it is running.

      what am I missing here?
      what more information do you need?

      • alienbob

        I do not know what you mean by “dvd current iso install, not updated.”… A new slackware64-current ISO is re-created from scratch every time there’s an update in Slackware64-current’s ChangeLog.txt.

        You can verify from which date your ISO file is. Let me show you an example commandline and its output. What do you see?

        $ isoinfo -i slackware64-current-install-dvd.iso -d | grep -E ‘(Application id|Data preparer id)’
        Setting input-charset to ‘ISO-8859-1’ from locale.
        Data preparer id: Slackware-current build for x86_64 by Eric Hameleers
        Application id: Slackware-current DVD – build 29_Oct_2019

        To anyone running Slackware64-current, I request that you first upgrade your installation to the latest set of packages available online before you ask me questions about stuff that does not seem to work.
        Also, you share *zero* information about any error output if you run the vlc program on the commandline. If something is amiss, you should see it if you start vlc in a terminal.

        • userx-bw

          it is them iso you put out, but that is a never mind because I just updated it to get rid of some error messages I was seeing on the boot screen, nothing for you to worry about. and now that I have ran
          sudo slackpkg update
          sudo slackpkg install-new
          sudo slackpkg upgrade-all

          an ran vlc in the terminal, everything is fine. you can kick back into chill mode, thanks for replying.

          • alienbob

            It is as I said: if you run -current… *first* update to the latest set of packages. Then check if anything is broken. If your -current is too old, my packages for it will not work (ffmpeg, libreoffice, qbittorrent, vlc etc).

  2. Darth Vader

    Eric, congratulations for this stellar batch of updates! Specially for the VLC3.

    And talking of Plasma, looks like “something has changed” in your KTown, then the things are ready for syncing and upgrading OR we should wait your announce?

    BTW, why LibreOffice 6.0 packages has suddenly disappeared?

  3. Mohammad Etemaddar

    I liked vlc very much. But it’s keyboard shortcuts are not the same as other players. It’s the down side of VLC I think. If we could create a script to make them the same as other players would be much fine.

  4. Boris

    I have a weird issue with 3.0. My DE is Xfce. If I have vlc working as the foreground application it’s color in the workspace switcher is a dark shade of blue, and its window button is selected. If it’s running in windowed mode, and I hold my mouse cursor over the seek bar it’s color in the workspace switcher changes to the background shade, and it’s window button is deselected. If it’s running in full-screen mode holding the mouse cursor over the seek bar will overlay the Xfce panels on top of the video. It only happens with the seek bar. Leaving the mouse over any other part of the control interface does not cause any of these issues.

    Anyone else experience this?

  5. Geremia

    I’m impressed. It plays back some MP4 files I have with asynchronous timestamping smoother now.

  6. Jen

    Can your qt5 package be installed on 14.2 without conflicting with its existing qt installation?

  7. alienbob

    Jen, the qt5 package does not conflict with Slackware’s qt package. All versions of qt can co-exist on a single system.

  8. alienbob

    I have added a ‘vlc2’ package to my repository. It’s the old 2.2.8 release of VLC and the packages for Slackware 14.2 and -current are renamed from ‘vlc’ to ‘vlc2’ to be able to distinguish them in your package management tool.
    Note that vlc (3.x) and vlc2 (2.x) can not be installed at the same time, because they use the same directories. Install one, not both. Pick the one you like best and stick to it.

  9. Isaac Gomez

    Thank you for the vlc2 package 😀

  10. gegechris99

    Thanks for keeping a vlc2 package. I mechanically upgraded to VLC 3 before reading your post (my bad). As I didn’t want to install all the new dependencies on my slackware64 14.2, I was going to beg you to provide a VLC 2 package. But you already thought about it 🙂
    Thanks again.

  11. Desiderius

    Thanks a lot for all your work Eric !

    As I plan to acquire a tablet built upon a Rasperry Pi ( https://www.diskiopi.com/ ) that runs Slackware, I begin to look for ARM packages for Slackware.

    I have found the basic packages for the OS but I will also need VLC 3.0 and Libreoffice 6.

    In your repository for ARM, I have found packages for VLC and Open Office but dated on 2013. Do you have more recent ARM packages for these softs ?

    Thanks again

  12. alienbob

    Desiderius, I do not have the time or resources at the moment to work on anything ARM related. The SlackBuild scripts as I have them will probably not work on ARM without modification.

  13. metageek

    Thanks for this super pacakge release.
    Unfortunately with VLC 3 I get an access violation. I have all the dependencies installed on a pure 64bit 14.2 (all patches installed). If I just run vlc –help from the command line it produces all the help and no access violation, but if I run it without argument or with a media file input it just bombs out immediately:

    VLC media player 3.0.0 Vetinari (revision 3.0.0-30-gef4c265336)
    Segmentation fault

    I guess I will go back to VLC2 for the time being.
    Thanks again!

  14. alienbob

    metageek do you have my qt5 package (and its dependencies) installed, or did you compile qt5 yourself from the script available at slackbuilds.org?
    I have had reports that the qt5 package created from the SBo script generates segfaults when you start vlc3.

  15. metageek

    Ah! that must be it. I do have the qt5 packages built from SBo. I will try using your qt5 packages.

  16. metageek

    Sure enough it works fine with your qt5 packages. Thanks!

  17. aocab

    just curious. should casting to chromecast work? I’m not seeing any build options related to chromecast?

  18. alienbob

    ChromeCast support is a native VLC functionality since VLC 3. There’s nothing to configure.
    When you have a ChromeCast in your network, the “Playback > Renderer…” menu will show it as available below the “local” entry.
    I have not tried yet to actually cast a movie to it, something to try later.

  19. aocab

    my chromecast device is listed under renderer but I can’t seem to get anything to cast. I get an error “stream chain failed”. in windows 10 on the same machine I am able to cast to my chromecast device with vlc 3 no problems.

    read somewhere to make sure vlc was built with –enable-sout and –enable-chromecast. I do not see them listed in the vlc -vv output.

  20. alienbob

    OK… my build log shows this:

    configure: WARNING: Library protobuf-lite >= 2.5.0 needed for chromecast was not found

    I guess I’ll have to investigate further.

  21. alienbob

    Indeed, protobuf was missing. Once I added it to the package, ChromeCast started working. I am now looking at a video VLC is casting onto my TV screen.
    I’ll try to come up with a full set of updated vlc packages for my repositories (I need to compile 8 of them…)

  22. Matt

    When I installed VLC3 on my 14.2 system with your Plasma 5 packages, amarok stopped playing back MP3 files. Nothing would happen. Oddly enough, Ogg Vorbis files played back fine. As soon as I uninstalled VLC3 and installed your VLC2 package, amarok worked with MP3s again. Any idea why this might be?

    Also interestingly enough, I could play MP3s in VLC3 itself just fine.

  23. aocab

    Not sure if this is also related to the missing protobuf but I also cannot convert an mp4->mp3.

  24. alienbob

    A warning to users who built a ‘qt5’ package themselves, using the SlackBuild script at slackbuilds.org:
    Un-install that ‘qt5’ package please and install mine. The ‘qt5’ package built with the SBo script will make VLC crash with a segmentation fault.

    I have also added this text to the main article above.

  25. alienbob

    aocab – a mp4 file is video plus audio, and a mp3 file contains just audio. How do you want to convert one to the other?
    It has nothing to do with a “missing” protobuf library since that is completely irrelevant.

  26. alienbob

    I have uploaded recompiled vlc-3.0.0 packages with a protobuf internal library added and explicit “–enable-chromecast” added to the configure command.
    This was sufficient to make casting to a ChromeCast work.

  27. alienbob

    Matt I don’t have Amarok installed on my computers (they run the Plasma5 for -current which no longer has anything KDE4-based in it), so must guess.

    Is your phonon configuration set to using the VLC backend? Perhaps the VLC3 library is not compatible with phonon-vlc.

  28. aocab

    I am taking an mp4 (video w/audio) and converting just the audio to mp3 so I am left with just the audio from the file in mp3 format. used to work just fine. still works in vlc in arch.

  29. Matt

    It is using VLC as the backend. Oddly enough using GStreamer as a backend will also cause amarok to not be able to play MP3s. At least I know it functions with VLC2. I’ll have to do some further research.

    I’ve always had a love/hate relationship with amarok. It is as quirky as all get out but I’ve not found a suitable replacement. I’ve seen some stuff on Elisa, but haven’t tried it.

  30. alienbob

    aocab I just tried here with the new VLC 3 package and using the “Convert” menu I could successfully convert the audio track of a MP4 movie to a new MP3 file…

  31. moldavia

    I had the same issue as Boris on XFCE. When in windowed mode, VLC 3 would lose focus when hovering over the controls on the bottom section of the window. Also, audio would not work with Pulseaudio selected as the output device. Changing to ALSA would work, but it would give several errors when playback started.
    I have since switched to the VLC2 package.

  32. aocab

    I must have messed up the settings in vlc somehow because after resetting the settings to their default settings converting to mp3 is working again. Casting to chromecast is also working now. Thank you for all your hard work.

  33. Boris

    along with the hovering issue I mentioned previously, I also appear to have artifacts in videos when I use hardware accelerated decoding. I don’t have this issue with vlc2. Will stay on that for the time being.

  34. slackerson

    I am using a chromebook 720p running slackware64-14.2 from a usb3 external drive.
    I typically connect to an external monitor via hdmi.

    For some reason qt5 apps never display to the external monitor using your qt5 package nor
    from slackbuilds.org.

    however when for example running openshot ( which uses qt5 ) from its AppImage file
    it seems to work just fine.

    your vlc package will work but only on the laptop monitor.

    are you aware of this issue and/or how to resolve it?

  35. alienbob

    slackerson can you be more specific?
    Is the Plasma 5 desktop displaying on the external monitor but the applications cannot be displayed there? Or does the Plasma 5 desktop not recognize the external monitor at all?

    I do not recognize your problem and therefore have no solution or answer for you. Have you checked the KDE bugtracker already for similar reports?

  36. slackerson

    I don’t use plasma5 or kde anything. I was just using your new vlc package
    along with its dependencies: qt5 etc… from your sbrepos repository.

    if i start vlc while using the laptop monitor it will run but if i start vlc
    using the external hdmi monitor it crashes. complaining about not finding screen
    one or something.

    the problem is not with vlc but qt5. this bug occurs on every qt5 application
    I try to run while using my external monitor.

    I found a bug report at https://bugs.archlinux.org/task/43986 about this issue
    but they claim it was solved with qt5-5.6.0? I also read of others having
    the same type issue with plasma5 and wayland.

    It appears that some qt5 developers are aware of this problem and have a patch
    for it or something. I can’t find it and qt5-5.7.1 is definately not fixed.

  37. Jen

    Just got around to installing qt5 and vlc 3.0. It’s so pretty! 😉 Thanks for the update!

  38. Boris

    just wanted to mention that the vlc 3.0.3 package uploaded yesterday fixed my issue.

  39. alienbob

    Boris: good news! Thanks for the feedback.

  40. Patrick

    Maybe someday, a good soul would put an option to disable changing the original filenames in playlist to the meta-data filenames when played. It is simply annoying.

  41. alienbob

    Patrick – unless you create a bug report for the VLC developers, nothing is going to change.
    On the other hand, I find it useful how it’s currently implemented: meta information is used in playlists instead of actual filnenames.
    Since opinions differ, you can create a feature request in the VLC bug tracker for adding a switch in the preferences.

Leave a Reply to alienbob Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

© 2024 Alien Pastures

Theme by Anders NorenUp ↑