Last week, Robby Workman alerted me to a new release of the VLC media player by the VideoLAN team. I must confess that I had stopped following the development of my (yes, still) favorite media player. Looking a bit more closely, not only have they released version 2.2.8 without informing the world on their homepage (where they are still offering downloads for the now deprecated 2.2.6) but there’s now also a git repository called “vlc-3.0-git” and even a “vlc-4.0-dev” which seems to have been split off the 3.0 branch. I assume this is an indication – finally – that there is life beyond vlc-2.2.x and a 3.0 release is actually a possibility.
I built the 2.2.8 packages for VLC (Slackware 14.2 and -current) and uploaded those earlier today. Finishing these packages was a process that took longer than I had anticipated. The reason for that is that I wanted to apply some serious refreshing of the supporting libraries which I link statically into the package.
I usually follow the decisions of the VideoLAN team quite closely when it comes to the versions of supporting libraries to be used. For that reason, my vlc-2.x packages have historically been using a ffmpeg-2.x snapshot. But now I have finally updated the internal ffmpeg codebase from 2.x to 3.x, switching to the git snapshot which is being used in the (future) vlc-3.x. Since the vlc-2.x code does not support the use of ffmpeg-3.x I had to find and adapt the patches to make that possible.
There are several other libraries that did not make it into the new vlc packages: orc/schroedinger (no longer developed), libggi (obsoleted, unsupported), aacenc, faad2/faac (not used anymore by vlc nor ffmpeg).
And finally, it took me many days to try and link the libva and libvdpau libraries statically into the package. I failed, because even though the VLC player would work, several of the VLC plugin libraries had unresolved symbols related to libva and libvdpau. I could not guarantee that hardware acceleration would work. Therefore I reverted to a dynamic, runtime linking of the system libva and libvdpau libraries (both are present on Slackware >= 14.2). Problem solved.
Where to find the new VLC packages:
- http://slackware.com/~alien/slackbuilds/vlc/ (only containing the versions that do not violate US patents).
This repository is mirrored at https://slackware.nl/people/alien/slackbuilds/vlc/ .
If you want to play encrypted DVD’s please install the libdvdccss package separately. - https://slackware.nl/people/alien/restricted_slackbuilds/vlc/
(alternative repository containing packages capable of AAC encoding and encrypted DVD playback).
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.
Hi Eric,
I’m getting a segfault on this new package (64bit on -current):
vlc
VLC media player 2.2.8 Weatherwax (revision 2.2.7-14-g3cc1d8cba9)
[0000000001d357e8] core libvlc: Running vlc with the default interface. Use ‘cvlc’ to use vlc without interface.
Segmentation fault (core dumped)
Anything I can do to give you more info?
Regards, Robby
Fires up, but won’t play any video. Just a blank, black screen.
Tried starting it from command line and no errors were generated. When I have more time I’ll try again.
Just FYI.
I have also a segmentation error (slackware64-current without the recent libva update)
But my own vlc-2.2.8 (using dynamic libraries) works
I’m able to play, just fine, but when I seek or skip video, it’ll sometimes crash. (I’m on 14.2, x86_64.) It doesn’t do it all the time, though. Just on *.avi files? It’s not every avi file, though.
https://pastebin.com/aWDqQKsm
No crashes here on slackware64-current (fully up to date, Lenovo T460 laptop with Intel graphics).
I don’t see just a black screen, I do not have segfaults when starting vlc, and i can skip and randomly move around in movies with no adverse effects.
Try adding “–avcodec-hw none” to your vlc commandline to disable hardware decoding support, perhaps it makes a difference?
And try adding “-vvv” to see a lot more debug info – maybe that sheds light on segfaults.
OK, here we go, and this allows me play video. As you suggested,
************
vlc –avcodec-hw none
VLC media player 2.2.8 Weatherwax (revision 2.2.7-14-g3cc1d8cba9)
[0000000001ed07e8] core libvlc: Running vlc with the default interface. Use ‘cvlc’ to use vlc without interface.
[00007f63a00010b8] filesystem access error: cannot open file /home/mwnn/–avcodec-hw (No such file or directory)
[00007f63b4001da8] core input error: open of `file:///home/mwnn/%E2%80%93avcodec-hw’ failed
[00007f63a00021b8] filesystem access error: cannot open file /home/mwnn/none (No such file or directory)
[00007f63b4009a68] core input error: open of `file:///home/mwnn/none’ failed
[00007f6394cdb2c8] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library 384.98 Thu Oct 26 14:40:17 PDT 2017 for hardware decoding.
********************
Hi Eric,
once again, thanks for your work.
https://slackware.nl/people/alien/slackbuilds/vlc/pkg64/14.2/ is empty?
Index of /people/alien/slackbuilds/vlc/pkg64/14.2 – EMPTY!
Johannes… oversight. I will add the missing packages.
cwizardone it looks like your command-line parameter is missing one dash, which causes the two errors. It’s DASH DASH avcodec DASH hw SPACE none.
The VideoLAN team finally announced the release of verion 2.2.8 of VLC on their home page today and are now featuring it for download.
Would still be safer to stay on Mplayer.
getting segfaults with latest vlc on X64 current as well. Have to mention this doesn’t happen on all videos. The ones that crash start playing fine, but segfault if I skip forward but not 100% of the time; sometimes I need to skip 3,4, or 5 times to force it. adding –avcodec-hw none prevents the issue. Using the latest Nvidia binaries 387.34 drivers. Did not have this issue with the previous version.
lockywolf that is a personal choice of course. I like VLC more than MPlayer myself.
Summarizing, people with crashes are both on Slackware 14.2 and -current (64bit) and all crashes seem related to hardware decoding support.
I will try to find some time to modify vlc.SlackBuild so that it optionally uses ffmpeg2 instead of ffmpeg3 internally and build some packages so that people can test.
Then let’s see if the change in ffmpeg branch is the cause of these reported crashes.
I know, sorry. I am joking (just recalling my youth time holy-wars.). I use both for different tasks.
My version of vlc-2.2.8 works with ffmpeg-3.4 (also my own version) and gives these informations (with option -vvv) about avcodec :
[00007f505d0a2ce8] core decoder debug: looking for decoder module matching “any”: 45 candidates
[00007f505d0a2ce8] avcodec decoder debug: CPU flags: 0x000fd3db
[00007f505d0a2ce8] avcodec decoder debug: trying to use direct rendering
[00007f505d0a2ce8] avcodec decoder debug: allowing 4 thread(s) for decoding
[00007f505d0a2ce8] avcodec decoder debug: avcodec codec (H264 – MPEG-4 AVC (part 10)) started
[00007f505d0a2ce8] avcodec decoder debug: using frame thread mode with 4 threads
[00007f505d0a2ce8] core decoder debug: using decoder module “avcodec”
[00007f505d0a2ce8] avcodec decoder debug: available hardware decoder output format 109 (vdpau)
[00007f505d0a2ce8] avcodec decoder debug: available hardware decoder output format 53 (vaapi_vld)
[00007f505d0a2ce8] avcodec decoder debug: available software decoder output format 0 (yuv420p)
[00007f504808b728] vdpau_avcodec generic debug: video surface limits: 4096×4096
[00007f504808b728] vdpau_avcodec generic debug: decoder profile limits: level 41 mb 65536 4096×4096
[00007f505d0a2ce8] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library 387.34 Tue Nov 21 02:08:49 PST 2017 for hardware decoding.
todays current upgrade breaks Calibe and Libreoffice due to new icu4c
For those who are running VLC on slackware64-current, I have uploaded a package that uses ffmpeg2 internally instead of the ffmpeg3 snapshot of the original vlc-2.2.8 package.
Get it at https://slackware.nl/people/alien/testing/vlc/pkg64/current/ and tell me whether this changes anything in the crashing behaviour when hardware acceleration is enabled.
I do not experience crashes and the like with the ffmpeg3 nor with the ffmpeg2 version.
How can I see whether or not hardware acceleration is enabled?
😀
For the record: this is on Slackware64-current.
😀
burdi01 when you start “vlc -v” on the commandline it will tell you, once a movie starts playing, whether it is using VAAPI or VDPAU for hardware-assisted decoding.
With yesterday’s updates I see these messages:
root@riposo:~/works# vlc
VLC media player 2.2.8 Weatherwax (revision 2.2.7-14-g3cc1d8cba9)
[000000000145b978] core libvlc: Running vlc with the default interface. Use ‘cvlc’ to use vlc without interface.
Unable to find symbols in icui18n
Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
root@riposo:~/works#
But I still can view mp4’s, old mpeg’s and listen to mp3’s and wmv’s.
😀
Hmm: Our messages crossed:
root@riposo:~/works# vlc -v ‘/C/Etc/Himself/130813.Stefan.Chaplin.mp4′
VLC media player 2.2.8 Weatherwax (revision 2.2.7-14-g3cc1d8cba9)
[00000000025cc978] core libvlc warning: cannot load module `/usr/lib64/vlc/plugins/access/libvnc_plugin.so’ (libvncclient.so.1: cannot open shared object file: No such file or directory)
[00000000025cc978] core libvlc: Running vlc with the default interface. Use ‘cvlc’ to use vlc without interface.
Unable to find symbols in icui18n
[00007fd1d0c01dd8] mp4 demux warning: elst box found
[00007fd1d0c01dd8] mp4 demux warning: STTS table of 1 entries
[00007fd1d0c01dd8] mp4 demux warning: CTTS table of 1511 entries
[00007fd1d0c01dd8] mp4 demux warning: elst box found
[00007fd1d0c01dd8] mp4 demux warning: STTS table of 1 entries
Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
[00007fd1d0cb3ec8] avcodec decoder warning: disabling direct rendering
[00000000026c4e38] pulse audio output warning: starting late (-13363 us)
[00007fd1d0cb3ec8] core decoder warning: can’t get output picture
… and the video plays without problems.
😀
For as far as I can see the reported libraries are present.
Installed packages are:
root@riposo:~/works# ls /var/log/packages/{libvdpau,libva}*
/var/log/packages/libvdpau-1.1.1-x86_64-1
/var/log/packages/libva-2.0.0-x86_64-1
/var/log/packages/libva-utils-2.0.0-x86_64-1
😀
vlc test package fixes crashes for me. I can skip around indefinitely without issue.
The ffmpeg2test works fine. The original package crashes in either segmentation fault or “Error in `vlc’: corrupted double-linked list”. (burdi01: you need libvdpau-va-gl from slackbuilds.org, built after Dec 27 libva-2.0 update in current)
Sorry, libvdpau-va-gl built after Nov 27…
@Petri Kaukasoina: I built and installed libvdpau-va-gl from slackbuilds.org. I now see:
root@riposo:~/works# vlc -v ‘/C/Etc/Himself/130813.Stefan.Chaplin.mp4′
VLC media player 2.2.8 Weatherwax (revision 2.2.7-14-g3cc1d8cba9)
[00000000015f7978] core libvlc warning: cannot load module `/usr/lib64/vlc/plugins/access/libvnc_plugin.so’ (libvncclient.so.1: cannot open shared object file: No such file or directory)
[00000000015f7978] core libvlc: Running vlc with the default interface. Use ‘cvlc’ to use vlc without interface.
[00007f2c68c01df8] mp4 demux warning: elst box found
[00007f2c68c01df8] mp4 demux warning: STTS table of 1 entries
[00007f2c68c01df8] mp4 demux warning: CTTS table of 1511 entries
[00007f2c68c01df8] mp4 demux warning: elst box found
[00007f2c68c01df8] mp4 demux warning: STTS table of 1 entries
libva info: VA-API version 1.0.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
[00007f2c68cb3ed8] avcodec decoder: Using OpenGL/VAAPI backend for VDPAU for hardware decoding.
[00007f2c38001818] core vout display warning: VoutDisplayEvent ‘pictures invalid’
[00007f2c38001818] core vout display warning: VoutDisplayEvent ‘pictures invalid’
[00000000016d7618] pulse audio output warning: starting late (-13317 us)
So it looks like I am running with hardware decoding now.
😀
AlienBob wrote: “….Get it at https://slackware.nl/people/alien/testing/vlc/pkg64/current/ and tell me whether this changes anything in the crashing behaviour when hardware acceleration is enabled.”
Works as advertised. 🙂
No problems.
there is smth wrong with it – vlc usually hangs down all system without any msg in console (if run from it), especially if tried to fast forward. Tried on various movies.
Slack64-14.2/KF5/ffmpeg 3.4 with NVidia proprietary driver. No problems with SMplayer
Janis, is something wrong with the original vlc package or the one I uploaded for testing? You mention ffmpeg 3.4, did you compile your own vlc package? Mine contains a ffmpeg snapshot internally.
RE: VLC vs. MPlayer (as mentioned above).
I’ve stayed with VLC through the years, but the SMPlayer front end makes MPlayer very attractive, i.e., easy to use besides being good looking.
By default SMPlayer will remember where you stopped playing a video and pick up there the next time you view the same video.
I’ve also played the same video in both VLC and SMPlayer and the imagine is much sharper using SMPlayer. That might just be a function of changing a setting in VLC, but I don’t know.
Just FYI.
🙂
Is there a chance that there will be an updated vlc package for Slackware64 14.2 that fixes the segfault error that was reported?
I face the issue on my system.
Thanks.
I am going to switch back to using ffmpeg2 in the vlc 2.x packages gegechris99.
No, I used yor vlc 2.2.8 -1 package. FFmepg 3.4 mentioned just for the full picture (with it there were giltches in mplayer)
All packages taken from repository (except mplayer/smplayer)
Thanks for the rebuilt vlc package with internal ffmpeg 2.x.
No more segfault here (Slackware64 14.2)
Awesome, thanks! No more problems!
Slackware 14.2 64 bit. VLC package vlc-2.2.8-86_64-2alien.txz is still seg faulting on my system. Here are the last few lines when I invocte vlc -vv.
[00000000008d29b8] core libvlc debug: searching plug-in modules
[00000000008d29b8] core libvlc debug: loading plugins cache file /usr/lib64/vlc/plugins/plugins.dat
[00000000008d29b8] core libvlc warning: cannot read /usr/lib64/vlc/plugins/plugins.dat: No such file or directory
[00000000008d29b8] core libvlc debug: recursively browsing `/usr/lib64/vlc/plugins’
[00000000008d29b8] core libvlc warning: cannot load module `/usr/lib64/vlc/plugins/vdpau/libvdpau_avcodec_plugin.so’ (libvdpau.so.1: cannot open shared object file: No such file or directory)
[00000000008d29b8] core libvlc warning: cannot load module `/usr/lib64/vlc/plugins/packetizer/libpacketizer_avparser_plugin.so’ (libvdpau.so.1: cannot open shared object file: No such file or directory)
I did a md5sum check and it matches the one posted with the package.
Cliff, looks like you do not have libvdpau-1.1.1-x86_64-1.txz installed? Also, did you update your Slackware 14.2 with the latest patches?
I checked, I do have libvdpau-1.1.1-x86_64-1 installed. I have all the latest patches installed, except Firefox. I have mozilla-firefox-57.0.1-x86_64-1ro installed.
Cliff, do you perhaps have the Nvidia binary drivers installed?
Check that there actually is a symlink “/usr/lib64/libvdpau.so.1” on your system. It is possible that installations/upgrades of Slackware versus the Nvidia driver make that symlink disappear. If the symlink does not exist then create it. It should either point to /usr/lib64/libvdpau.so.1.0.0 (if you do not use the Nvidia driver) or else the appropriate Nvidia VDPAU library.
Yes, I have Nvidia an driver installed from the binary blob, not from sbo. I did not have a symlink in /usr/lib64/libvdpau.so.1. I created one with this command; ln -s /usr/lib64/vdpau/libvdpau_nvidia.so.304.137 /usr/lib64/libvdpau.so.1.0.0 , however, vlc is still seg faulting. When I looked in /usr/lib64/libvdpau/ there are several .so files. I’m not at all sure which one to point the link at.
I have :libvdpau_nouveau.so.1.0.0 ; and libvdpau_nvidia.so.304.137 ; and libvdpau_r300.so.1.0.0 ; andlibvdpau_r600.so.1.0.0 ; and libvdpau_radeonsi.so.1.0.0. Your thoughts?
My recommendation? Fix the install-gone-wrong of that Nvidia driver.
I reinstalled libvdpau-1.1.1-x86_64-1. That put the sym-link back and the file libvdpau.so.1.0.0.
vlc2.2.8 now launches successfully. I will continue to test. Thank-you for your help.
Got exactly the same error message that Cliff Morris reported Dec. 14, although I’ve never installed any Nvidia drivers and the “/usr/lib64/libvdpau.so.1” pointed to /usr/lib64/libvdpau.so.1.0.0 just as it should.
Following Cliff’s latest comment I simply reinstalled libvdpau-1.1.1-x86_64-1 and now everything seems to run smoothly.
Hi,
I have a problem with your vlc package on my current installation, whereas it works fine on my 14.2 system.
Trying to read a recent dvd, I’ve a black screen without sound, and those messages :
Get key for /VIDEO_TS/VTS_02_0.VOB at 0x003e6be3
libdvdread: Error cracking CSS key for /VIDEO_TS/VTS_02_0.VOB (0x003e6be3)
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x003e6be8
libdvdread: Error cracking CSS key for /VIDEO_TS/VTS_02_1.VOB (0x003e6be8)!!
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_0.VOB at 0x003e9274
libdvdread: Error cracking CSS key for /VIDEO_TS/VTS_03_0.VOB (0x003e9274)
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x003e9279
libdvdread: Error cracking CSS key for /VIDEO_TS/VTS_03_1.VOB (0x003e9279)!!
libdvdread: Elapsed time 0
libdvdread: Found 3 VTS’s
libdvdread: Elapsed time 0
libdvdread: Can’t seek to block 4090842
libdvdread: Can’t seek to block 4090842
libdvdread: Can’t seek to block 4090842
libdvdread: Can’t seek to block 4100706
libdvdread: Can’t seek to block 4100706
libdvdread: Can’t seek to block 4100706
libdvdread: Invalid IFO for title 2 (VTS_02_0.BUP).
libdvdread: Can’t seek to block 4100715
libdvdread: Can’t seek to block 4100715
libdvdread: Can’t seek to block 4100715
libdvdread: Can’t seek to block 4109493
libdvdread: Can’t seek to block 4109493
libdvdread: Can’t seek to block 4109493
libdvdread: Invalid IFO for title 3 (VTS_03_0.BUP).
libdvdread: Can’t seek to block 4100715
libdvdread: Can’t seek to block 4100715
libdvdread: Can’t seek to block 4100715
libdvdread: Can’t seek to block 4109493
libdvdread: Can’t seek to block 4109493
libdvdread: Can’t seek to block 4109493
libdvdread: Invalid IFO for title 3 (VTS_03_0.BUP).
[00007f2740000c08] core input error: ES_OUT_RESET_PCR called
[00007f2740000c08] core input error: ES_OUT_RESET_PCR called
[00007f273c00e3c8] vdpau_avcodec generic error: decoder profile not supported: 2
[00007f2720001cb8] vdpau_display vout display error: output surface creation failure: A catch-all error, used when no other error code applies.
[00007f2720001cb8] vdpau_display vout display error: output surface creation failure: A catch-all error, used when no other error code applies.
On older dvd, I’ve sound but a black screen too.
No problem reading a CD.
Thank you for your opinion.
Regards,
Sébastien
No idea. I don’t own video DVD’s anymore so I can not attempt to reproduce.
Ok, thanks
Hi,
Just for information, perhaps usefull: I managed to compile Ponce SBo vlc slackbuild, with all its dependencies (thanks sboui), on my slackware current system, and it’s now abble to read the dvd.
Happy end of this year !
Regards,
Sébastien