Camera skill is not working in my env

I installed camera skill in mycroft which runs on virtualbox Ubuntu 20.04 env. When I requested “take a selfie” or “Open the camera”. I can hear mycroft is replying “starting the camera” but screen shows only all black. I tried cheese camera app in my ubuntu env which is working properly.
Anyone knows how to solve this issue? Is this caused by running in Virtualbox env?

Thanks a lot.

you need to have all the gstreamer plugins and qt multimedia packages installed on your ubuntu focal system

Thanks a lot for the help. After I installed gstreamer plugins and qt multimedia packages I can trigger event but seems taking photo still got failed. I copied detail debug console output below. seems issue in qml? I’m a newbie to qml. Really appreciate if you could kindly help to suggest.

Launching Mycroft Core
Already up to date.
Starting all mycroft-core services
Initializing…
Already up to date.
Initializing…
Launching GUI
Attribute Qt::AA_ShareOpenGLContexts must be set before QCoreApplication is created.
QMetaProperty::notifySignal: cannot find the NOTIFY signal usePTTClient in class GlobalSettings for property ‘usePTTClient’
qrc:/main.qml:38:5: Unable to assign [undefined] to int
qrc:/main.qml:37:5: Unable to assign [undefined] to int
qrc:/main.qml:36:5: Unable to assign [undefined] to int
qrc:/main.qml:35:5: Unable to assign [undefined] to int
qrc:/main.qml:34:5: Unable to assign [undefined] to int
qrc:/main.qml:33:5: Unable to assign [undefined] to int
qrc:/main.qml:225:17: Unable to assign ApplicationWindow_QMLTYPE_56 to QQuickItem
qrc:/main.qml:252:17: Unable to assign null to QStringList
qml: Trying to connect to Mycroft
Main Socket connected, trying to connect gui
Received port 18181 for gui “{185cc1b9-2425-4795-b039-24212fad65c3}”
Arrived mycroft.gui.list.insert, delegateUrls are (“file:///opt/mycroft/skills/mycroft-date-time.mycroftai/ui/idle.qml”)
file:///opt/mycroft/skills/mycroft-date-time.mycroftai/ui/idle.qml:28: TypeError: Cannot call method ‘replace’ of undefined
file:///opt/mycroft/skills/mycroft-date-time.mycroftai/ui/idle.qml:41:13: Unable to assign [undefined] to QString
file:///opt/mycroft/skills/mycroft-date-time.mycroftai/ui/idle.qml:55:13: Unable to assign [undefined] to QString
file:///opt/mycroft/skills/mycroft-date-time.mycroftai/ui/idle.qml:70:9: Unable to assign [undefined] to QString
Created a new DelegateLoader DelegateLoader(0x55d287b06c30) which will load QUrl(“file:///opt/mycroft/skills/mycroft-date-time.mycroftai/ui/idle.qml”) for the skill “mycroft-date-time.mycroftai”
QQuickItem::stackBefore: Cannot stack QQuickControl_QML_15(0x55d287b01a10, parent=0x55d287c8c5c0, geometry=0,0 0x-40) before QQuickRepeater(0x55d287844350), which must be a sibling
Arrived mycroft.gui.list.insert, delegateUrls are (“file:///opt/mycroft/skills/camera.mycroftai/ui/Camera.qml”)
defaultServiceProvider::requestService(): no service found for - “org.qt-project.qt.camera”
The camera doesn’t support zooming.
qml: undefined
file:///opt/mycroft/skills/camera.mycroftai/ui/Camera.qml:10:5: Unable to assign [undefined] to bool
Created a new DelegateLoader DelegateLoader(0x55d2878f82b0) which will load QUrl(“file:///opt/mycroft/skills/camera.mycroftai/ui/Camera.qml”) for the skill “camera.mycroftai”
QQuickItem::stackBefore: Cannot stack QQuickControl_QML_15(0x55d288008e00, parent=0x55d287c444b0, geometry=0,0 0x0) before QQuickRepeater(0x55d287f991e0), which must be a sibling
Both point size and pixel size set. Using pixel size.
qml: /home/glj/Pictures
qrc:/main.qml:297: TypeError: Cannot read property ‘longDuration’ of undefined
Current skill: “camera.mycroftai”
Current intent: “”
QCameraImageCapture error: “Device does not support images capture.”
Arrived mycroft.gui.list.insert, delegateUrls are (“file:///opt/mycroft/skills/mycroft-date-time.mycroftai/ui/idle.qml”)
Created a new DelegateLoader DelegateLoader(0x55d287b579e0) which will load QUrl(“file:///opt/mycroft/skills/mycroft-date-time.mycroftai/ui/idle.qml”) for the skill “mycroft-date-time.mycroftai”
QQuickItem::stackBefore: Cannot stack QQuickControl_QML_15(0x55d287c36bd0, parent=0x55d287876cb0, geometry=0,0 935x640) before QQuickRepeater(0x55d287bc85f0), which must be a sibling
Current skill: “camera.mycroftai”
Current intent: “”
QCameraImageCapture error: “Device does not support images capture.”
Arrived mycroft.gui.list.insert, delegateUrls are (“file:///opt/mycroft/skills/mycroft-date-time.mycroftai/ui/idle.qml”)
Created a new DelegateLoader DelegateLoader(0x55d288030f40) which will load QUrl(“file:///opt/mycroft/skills/mycroft-date-time.mycroftai/ui/idle.qml”) for the skill “mycroft-date-time.mycroftai”
QQuickItem::stackBefore: Cannot stack QQuickControl_QML_15(0x55d287865b40, parent=0x55d287c38f50, geometry=0,0 935x640) before QQuickRepeater(0x55d287c5b820), which must be a sibling