Public bug reported: I can't seem to get a Camera qml object to record to a file. I get the error "Could not open file for video recording". I'm using the sample code below [1] and get the output below [2].
I'm using the camera, microphone, and video apparmor profiles. "/home/phablet/Videos/testing.testing/" did not exist. I tried making that directory in case that was the problem, but it didn't help (and I feel like QtMultimedia should make that if needed anyway). === [0] Environment === current build number: 154 device name: mako channel: ubuntu-touch/rc-proposed/bq-aquaris.en last update: 2015-11-08 11:33:25 version version: 154 version ubuntu: 20151106.1 version device: 20150911 version custom: mako-1.1 === [1] Code === import QtQuick 2.4 import QtMultimedia 5.4 import Ubuntu.Components 1.3 MainView { id: root applicationName: "testing.testing" width: units.gu(100) height: units.gu(75) Component.onCompleted: { camera.videoRecorder.record(); console.log("location:", camera.videoRecorder.actualLocation); } Page { title: i18n.tr("Testing") VideoOutput { anchors.fill: parent source: camera Camera { id: camera } } } } === [2] Output === Loading module: 'libubuntu_application_api_touch_mirclient.so.3.0.0' virtual QMediaService* AalServicePlugin::create(const QString&) "org.qt-project.qt.mediaplayer" Creating a new static Service instance virtual QMediaPlayer::State AalMediaPlayerControl::state() const virtual QMediaPlayer::MediaStatus AalMediaPlayerControl::mediaStatus() const virtual QMediaPlayer::MediaStatus AalMediaPlayerControl::mediaStatus() const void QMediaPlayer::setMedia(const QMediaContent&, QIODevice*) virtual void AalMediaPlayerControl::stop() PlaybackStatusChanged signal arrived via the bus (Status: PlaybackStatus::stopped) virtual void AalMediaPlayerControl::setMedia(const QMediaContent&, QIODevice*) Local file URI: "file:///system/media/audio/ui/camera_click.ogg" setMedia() media: QUrl( "file:///system/media/audio/ui/camera_click.ogg" ) virtual QMediaPlayer::MediaStatus AalMediaPlayerControl::mediaStatus() const Local file URI: "file:///system/media/audio/ui/camera_click.ogg" Setting media to: QUrl( "file:///system/media/audio/ui/camera_click.ogg" ) Setting player as current player virtual void AalMediaPlayerControl::setAudioRole(QMediaPlayer::AudioRole) Setting image resolution: QSize(3264, 1836) Image aspect ratio: 1.77778 Setting thumbnail resolution: QSize(512, 288) Thumbnail aspect ratio: 1.77778 virtual void AalMediaRecorderControl::applySettings() is not used shm_open() failed: Permission denied void AudioCapture::stopCapture() QMediaRecorder error: "Could not open file for video recording" qml: location: /home/phablet/Videos/testing.testing/video20151108_180108559.mp4 ** Application is now active virtual QSGVideoNode* ShaderVideoNodePlugin::createNode(const QVideoSurfaceFormat&) PlaybackStatus changed to: "stopped" Rendering not enabled, returning without presenting frame UbuntuWindow::handleSurfaceFocusChange(focused=true) UbuntuClipboard - Got invalid serialized mime data. Ignoring it. ** Affects: qtmultimedia-opensource-src (Ubuntu) Importance: Undecided Status: New ** Summary changed: - [touch] Can't record video to a file + [touch] Can't record camera video to a file -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to qtmultimedia-opensource- src in Ubuntu. https://bugs.launchpad.net/bugs/1514263 Title: [touch] Can't record camera video to a file Status in qtmultimedia-opensource-src package in Ubuntu: New Bug description: I can't seem to get a Camera qml object to record to a file. I get the error "Could not open file for video recording". I'm using the sample code below [1] and get the output below [2]. I'm using the camera, microphone, and video apparmor profiles. "/home/phablet/Videos/testing.testing/" did not exist. I tried making that directory in case that was the problem, but it didn't help (and I feel like QtMultimedia should make that if needed anyway). === [0] Environment === current build number: 154 device name: mako channel: ubuntu-touch/rc-proposed/bq-aquaris.en last update: 2015-11-08 11:33:25 version version: 154 version ubuntu: 20151106.1 version device: 20150911 version custom: mako-1.1 === [1] Code === import QtQuick 2.4 import QtMultimedia 5.4 import Ubuntu.Components 1.3 MainView { id: root applicationName: "testing.testing" width: units.gu(100) height: units.gu(75) Component.onCompleted: { camera.videoRecorder.record(); console.log("location:", camera.videoRecorder.actualLocation); } Page { title: i18n.tr("Testing") VideoOutput { anchors.fill: parent source: camera Camera { id: camera } } } } === [2] Output === Loading module: 'libubuntu_application_api_touch_mirclient.so.3.0.0' virtual QMediaService* AalServicePlugin::create(const QString&) "org.qt-project.qt.mediaplayer" Creating a new static Service instance virtual QMediaPlayer::State AalMediaPlayerControl::state() const virtual QMediaPlayer::MediaStatus AalMediaPlayerControl::mediaStatus() const virtual QMediaPlayer::MediaStatus AalMediaPlayerControl::mediaStatus() const void QMediaPlayer::setMedia(const QMediaContent&, QIODevice*) virtual void AalMediaPlayerControl::stop() PlaybackStatusChanged signal arrived via the bus (Status: PlaybackStatus::stopped) virtual void AalMediaPlayerControl::setMedia(const QMediaContent&, QIODevice*) Local file URI: "file:///system/media/audio/ui/camera_click.ogg" setMedia() media: QUrl( "file:///system/media/audio/ui/camera_click.ogg" ) virtual QMediaPlayer::MediaStatus AalMediaPlayerControl::mediaStatus() const Local file URI: "file:///system/media/audio/ui/camera_click.ogg" Setting media to: QUrl( "file:///system/media/audio/ui/camera_click.ogg" ) Setting player as current player virtual void AalMediaPlayerControl::setAudioRole(QMediaPlayer::AudioRole) Setting image resolution: QSize(3264, 1836) Image aspect ratio: 1.77778 Setting thumbnail resolution: QSize(512, 288) Thumbnail aspect ratio: 1.77778 virtual void AalMediaRecorderControl::applySettings() is not used shm_open() failed: Permission denied void AudioCapture::stopCapture() QMediaRecorder error: "Could not open file for video recording" qml: location: /home/phablet/Videos/testing.testing/video20151108_180108559.mp4 ** Application is now active virtual QSGVideoNode* ShaderVideoNodePlugin::createNode(const QVideoSurfaceFormat&) PlaybackStatus changed to: "stopped" Rendering not enabled, returning without presenting frame UbuntuWindow::handleSurfaceFocusChange(focused=true) UbuntuClipboard - Got invalid serialized mime data. Ignoring it. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/qtmultimedia-opensource-src/+bug/1514263/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp