Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: [SOLVED]vlc won't play MJPEG videos on bare metal installation, will inside vbox (Read 1036 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[SOLVED]vlc won't play MJPEG videos on bare metal installation, will inside vbox

As a new Artix user, I started by installing Artix into a (vbox) virtual machine.  Then I installed it onto a disk partition.

In the VM, vlc will happily play MJPEG videos.  In the "bare metal" Artix, vlc complains it can't play them (using the very same video file in both cases).

Both systems were updated at (more or less) the same instant.  The md5sums of not only vlc but also the libraries that
Code: [Select]
ldd /usr/bin/vlc
reports are identical.

In case it was something in my personal config somewhere on the "bare metal" machine, I created a new user with no files, logged in, and tried playing the same video, with again the complaint about not being able to play MJPEG files.

I compared the list of installed packages, and except for some things which I hope are not relevant (e.g., the vbox VM has the vbox client package, the host has the vbox host package), there is nothing I can see there.

I'm at a bit of a loss as to where to look next. 

Any Artix wizards care to suggest what might be causing this, or what other things I could do?
Thanks.

Re: vlc won't play MJPEG videos on "bare metal" installation, will inside vbox

Reply #1
Following up... I thought I had watched a non-MJPEG video, but trying other video formats, I see it won't play them either.  It will play some audio formats.

Re: vlc won't play MJPEG videos on "bare metal" installation, will inside vbox

Reply #2
I tried this mjpeg video here:
https://filesamples.com/formats/mjpeg
sample_960x400_ocean_with_audio.mjpeg
VLC wouldn't play it, it came up with a blank window and no sound for 10 seconds like it tried but failed. (I can usually play most videos I encounter in vlc OK)
I transcoded it to mp4 with ffmpeg:
$ ffmpeg -i sample_960x400_ocean_with_audio.mjpeg -threads 8 sample_960x400_ocean_with_audio2.mp4
This played OK in VLC but had no sound, it was 44 seconds long. The video was quite blocky and low quality, I think due to heavy compression as it's 960 x 400.
mjpegtools is supposed to play mjpegs but the /usr/bin/lavplay command is not present in the package, although there is a lavplay manpage.
Installing mplayer, that played it, again with no sound, the command line output seemed to show it was using ffmpeg to play it. Image quality was the same as in VLC with the mp4 version.
What does VLC say when it complains to you incidentally? If you post the errrors someone might be able to provide some more specific advice. VM's can have graphics passthrough to the hardware or use software emulation graphics.

Re: vlc won't play MJPEG videos on "bare metal" installation, will inside vbox

Reply #3
I'm not sure what would be different in the VM case (maybe it falls back to some 2d method or something), but I was not able to play a random mjpeg file with vlc (nor mpv for that matter). ffplay managed to open it however so it may just be something that needs to be fixed upstream. As for non-mjpeg files, those should certainly work.

Re: vlc won't play MJPEG videos on "bare metal" installation, will inside vbox

Reply #4
In case anyone has a similar probablem and comes across this, here is the answer.

After comparing files inside the VM with those on the "bare metal", I found that libwebp.so.7.1.2 was differernt on the two installations.  I reinstalled the package, and that solved the problem.  (Why the copy was different remains a mystery, but I hope it isn't a hardware issue...)

Re: vlc won't play MJPEG videos on "bare metal" installation, will inside vbox

Reply #5
I'm not sure what would be different in the VM case (maybe it falls back to some 2d method or something), but I was not able to play a random mjpeg file with vlc (nor mpv for that matter). ffplay managed to open it however so it may just be something that needs to be fixed upstream. As for non-mjpeg files, those should certainly work.

I didn't see the above until I posted my "solution".  It is interesting that you have an issue with MJPEG files too.  Maybe you want to check your libwebp.so.7.1.2.  For what it's worth, here is the md5sum of mine:
Code: [Select]
b28e7d9cb05d5c32cb440969ad430739  /usr/lib/libwebp.so.7.1.2

Thanks for replying.

Re: vlc won't play MJPEG videos on "bare metal" installation, will inside vbox

Reply #6
Could it have been the libwebp from the Arch repo "extra" rather than the Artix build from "world"?
Code: [Select]
extra/libwebp
a5fdc090e950338b408c178bab7f3ed0  /usr/lib/libwebp.so.7.1.2
world/libwebp
b28e7d9cb05d5c32cb440969ad430739  /usr/lib/libwebp.so.7.1.2

 

Re: vlc won't play MJPEG videos on "bare metal" installation, will inside vbox

Reply #7
Could it have been the libwebp from the Arch repo "extra" rather than the Artix build from "world"?
Code: [Select]
extra/libwebp
a5fdc090e950338b408c178bab7f3ed0  /usr/lib/libwebp.so.7.1.2
world/libwebp
b28e7d9cb05d5c32cb440969ad430739  /usr/lib/libwebp.so.7.1.2

Good question, and one that I am not able to directly answer at this point.

In pacman.conf I do have Arch's extra, but it is after Artix's world.  I suppose if I was offered the choice I might have accidentally picked the wrong one, but I don't recall that happening.  On my install iso (xfce4 version) there is libwebp-1.2.0-1 and that was apparently upgraded when I did a pacman -Syu after getting the system installed.  (There are many packages in /var/lib/pacman/local with very similar times, and I'm guessing that was from my doing the -Syu.)

Having said that, the file in /var/cache/pacman/pkg is dated Sept 15, and it has the correct libwebp.so.7.1.2 in it, so I don't think I went to the wrong repository.

Maybe my CPU was hit by a neutrino when it was unpacking libwebp.so.