Virtualbox - video capture not working

Hi,

Did anyone of you tried to use virtualbox video capture? I have the latest Oracle VB installed on opensuse 13.1x64 KDE but I can’t record any videos. Whenever I enable it a tiny .webm is created which opened in mplayer shows just a green screen a nothing else. A small size of that file is surprising like it would have problems with encoding or something?? (ffmpeg is present). Same behavior with 3d enabled/disabled. I downloaded a sample webm video just to check if I have required codecs and it opened successfully. Logs dont show anything interesting. Any clue?

Thx.

Some months back, with my Toshiba Ultrabook, I did a capture of a winXP session running under Virtualbox (inside an openSUSE-13.1 host). I used xvidcap running on openSUSE-13.1 to capture everything I wanted inside Virtualbox, and since the xvidcap audio was not working I dubbed in an audio track later.

You may or may not have the right codecs to play it. I didn’t try mplayer,
I just tried the same (VBox 4.3.8) and the video played fine in vlc player.
I suspect an alternative could be to play in Chrome.

TSU

No. I can reproduce the issue here, and the problem is definitely NOT in playing the video.

@eproxy:
Are you using the openSUSE packages or are you using VirtualBox from Oracle?
Maybe the openSUSE packages (which is what I use) are built without some necessary libraries (ffmpeg f.e.)?

PS: This seems to be a libvpx1 incompatibility (this is what VirtualBox uses to encode the video).
When I downgrade the libvpx1 to the 1.2.0 version from the standard OSS repo, it works. But that of course breaks most other multimedia stuff… :expressionless:

Thank you for all replies.

I tried both, the package from opensuse from oracle website and the package from opensuse “virtualization” repo, same version, same problem.

Great news (in a way :slight_smile: ) libvpx came to my mind this morning, I will check it when I reach home. Might be worth to raise a ticket to Virtualbox.

Well, I guess it would suffice to compile VirtualBox against libvpx1-1.3.0 to make it work with the libvpx1-1.3.0 from Packman.
I will build a package later. (might take a while until the package is built though)

Maybe even the Factory version would work (Factory does already contain libvpx1-1.3.0)? But I guess there would be problems with the dependencies… I will try that as well nevertheless. :wink:

Good news!
The Factory package installs and works fine on 13.1.
And since it is built against libvpx1-1.3.0, recording does work with the libvpx1 from Packman.

But please, don’t add the Factory repo to your system.
Just download the “virtualbox” rpm either from Factory (http://download.opensuse.org/factory/), or the Virtualization repo for Factory (http://download.opensuse.org/repositories/Virtualization/openSUSE_Factory) and install it manually.
You could even add the latter one to your system I think, because of YaST/zypper’s vendor stickyness feature it should not cause problems.

But only install “virtualbox” from Factory, the KMP packages won’t work of course as they are built for a different kernel.

Works perfect! :slight_smile: Thank you very much for your help! :slight_smile:

Installed VirtualBox 4.3.8_OSE r92496 and still recording a webm video with a green screen. The repo is http://download.opensuse.org/repositories/Virtualization/openSUSE_13.1/

What am I doing wrong?

You’re not reading the thread you’re replying to.

The answer is two posts before yours.

Hi

I read the answer, but I tried the solution and not working for me :frowning:

Using libvpx1-1.3.0.
In FACTORY there is vritualbox 4.3.8-113.6-x86_64 version, but in “BuildService - VirtualBox”, there is a most recent version: 4.3.8-113.10-x86_64. So, I think this last one is what I need to install. But all of them (even ORACLE version) has the same problem. Video is recording a green screen.

Which exact virtualbox package do you have installed?

rpm -qi virtualbox

According to your previous post you have the one from http://download.opensuse.org/reposit…openSUSE_13.1/, right?
This is built for/against 13.1 of course (with libvpx1-1.2.0), you need the package built for Factory, which has version 4.3.8-113.6 at the moment:
http://download.opensuse.org/repositories/Virtualization/openSUSE_Factory/

But as I already wrote before, please install only virtualbox itself from there. And better don’t add that repo to your system.
And you might want to lock that package so that you don’t get an update to the 13.1 version again.

Just now, this one:

Name : virtualbox
Version : 4.3.8
Release : 113.10
Architecture: x86_64
Install Date: dom 04 may 2014 14:43:25 CEST
Group : System/Emulators/PC
Size : 35321061
License : GPL-2.0+
Signature : RSA/SHA1, vie 02 may 2014 20:24:11 CEST, Key ID a193fbb572174fc2
Source RPM : virtualbox-4.3.8-113.10.src.rpm
Build Date : vie 02 may 2014 20:13:53 CEST
Build Host : cloud123
Relocations : (not relocatable)
Vendor : obs://build.opensuse.org/Virtualization
URL : http://www.virtualbox.org/
Summary : VirtualBox is an Emulator
Description :
VirtualBox is an extremely feature rich, high performance product
for enterprise customers, it is also the only professional solution
that is freely available as Open Source Software under the terms of the
GNU Public License (GPL).
Distribution: Virtualization / openSUSE_13.1

Yes, that’s the one for 13.1, it requires libvpx1-1.2.0.

You need the one for Factory if you have libvpx1-1.3.0, see my previous post.

To install it, this should work at the moment, f.e.:

sudo rpm -Uvh --oldpackage http://download.opensuse.org/repositories/Virtualization/openSUSE_Factory/x86_64/virtualbox-4.3.8-113.6.x86_64.rpm

Then lock the package in YaST to not get the 13.1 version again.

Fantastic

Now is recording correctly my VirtualBox screen. I’m using libvpx1 v1.3.0-9.2 and locked the package virtualbox on version 4.3.8-113.6, as you said, after execute your command.

I have a question, to finish: What to do when a new version of VB is ready on repositories?

Thank you very much

The problem is not the version of VirtualBox.

The problem is that libvpx1-1.2.0 is not compatible with libvpx1-1.3.0.

Packman includes 1.3.0, but openSUSE 13.1 has 1.2.0 (which was the latest one when 13.1 was released).

If you build a package (like virtualbox) against standard openSUSE 13.1, it will always be built for libvpx1-1.2.0, and thus not work with libvpx1 from Packman.

The package for Factory works, because Factory (i.e. the next openSUSE version) already contains libvpx1-1.3.0.

To fix the problem, I see those options:

  • release libvpx1-1.3.0 as update for 13.1.
    I don’t think this will ever happen, as openSUSE’s policy is to only release security and bugfix updates, no new versions.
  • provide virtualbox on Packman. Well, I don’t really see this happening either, but you might propose that on the Packman mailinglist.
  • include libvpx1-1.3.0 into the Virtualization repo. Then virtualbox in this repo will always be built against libvpx1-1.3.0, and work with Packman’s libvpx1 of course.
    If you want to see this, open a bugreport at http://bugzilla.novell.com/ (same username/password as here).

Oops, sorry. I misread your question.

In that case, you have two options I’d say:

  • stay at the current version. The update applet shouldn’t show you the newer one anyway, because of the lock and dependency conflicts.
  • update to the new version, and then install virtualbox built for Factory again.

Or download and install VirtualBox from http://virtualbox.org, that one should work with Packman’s libvpx1 (it’s either built against libvpx1-1.3.0 or includes its own version, I don’t know). You can even add their repo to your system like you did with the Virtualization repo.
But in this case, please uninstall openSUSE’s virtualbox* packages first.

Perfectly explained. I don’t know if I’ll be able to explain as you the bug, but I’ll try to do it, but certainly I can wait to the next OpenSUSE release, cause I think the problem will be solved then (I hope).

Thank you again