Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. A few questions about Qt Mobility Multimedia (master branch)
Qt 6.11 is out! See what's new in the release blog

A few questions about Qt Mobility Multimedia (master branch)

Scheduled Pinned Locked Moved Mobile and Embedded
3 Posts 2 Posters 5.5k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F Offline
    F Offline
    Faid
    wrote on last edited by
    #1

    I'm playing around with the multimedia APIs of Qt Mobility and I've got a few questions.. I realize that not all features are in place yet and that the API has yet to stabilize. I'm running Ubuntu 9.10 Karmic, Qt 4.7.0 and I've got a Labtec webcam attached via USB.

    • If I pass QCamera::CaptureVideo to QCamera::setCaptureMode, that makes my QCameraViewfinder draw black, while if I pass QCamera::CaptureStillImage the widget draws the camera output. Any idea what this is caused by? At this point I don't have a QMediaRecorder attached to the camera.

    • Is there an example that shows how to set up video recording, or is video recording currently not supported?

    • Video with audio - In the 1.0.0 beta there was a good example: http://qt.gitorious.org/qt-mobility/qt-mobility/blobs/1.0.0-beta1/tests/cameracapture_s60/cameracapture.cpp. Though in the example the camera is the audio source as well. How would you set it up if the audio source is a microphone and the "video source" is the camera?

    • The "sub controls" of QCamera; QCameraExposure, QCameraFocus and QCameraImageProcessing, don't seem to be supported yet. For example, if I look in QCameraExposurePrivate::initControls() where the QCameraExposureControl is fetched (qobject_cast<QCameraExposureControl *>(service->requestControl(QCameraExposureControl_iid))) then it always returns NULL, which I guess is because it's missing in qt-mobility/plugins/multimedia/gstreamer/mediacapture/qgstreamercaptureservice.cpp. Is there any public road map or feature list that says what is implemented and what is left to do?

    • How are bugs handled on the master branch? What I mean is, would you be interested in people posting bugs on the master branch or rather wait until the APIs are released as TP, beta etc?

    Thanks,

    Fredrik

    1 Reply Last reply
    0
    • D Offline
      D Offline
      dmytro.poplavskiy
      wrote on last edited by
      #2

      [quote author="Faid" date="1280149393"]

      • If I pass QCamera::CaptureVideo to QCamera::setCaptureMode, that makes my QCameraViewfinder draw black, while if I pass QCamera::CaptureStillImage the widget draws the camera output. Any idea what this is caused by? At this point I don&#39;t have a QMediaRecorder attached to the camera.
        [/quote]

      Do you call QCamera::start() after QCamera::setCaptureMode?
      If you do there should be a bug in the backend implementation.

      [quote]

      • Is there an example that shows how to set up video recording, or is video recording currently not supported?
        [/quote]

      The current camera example supports both photo capture and video recording.

      [quote]

      • Video with audio - In the 1.0.0 beta there was a good example: http://qt.gitorious.org/qt-mobility/qt-mobility/blobs/1.0.0-beta1/tests/cameracapture_s60/cameracapture.cpp. Though in the example the camera is the audio source as well. How would you set it up if the audio source is a microphone and the "video source" is the camera?
        [/quote]

      It's supported right now, but we don't have a convenient way to select the audio input device.

      [quote]

      • The "sub controls" of QCamera; QCameraExposure, QCameraFocus and QCameraImageProcessing, don&#39;t seem to be supported yet. For example, if I look in QCameraExposurePrivate::initControls() where the QCameraExposureControl is fetched (qobject_cast&lt;QCameraExposureControl *&gt;(service-&gt;requestControl(QCameraExposureControl_iid))) then it always returns NULL, which I guess is because it&#39;s missing in qt-mobility/plugins/multimedia/gstreamer/mediacapture/qgstreamercaptureservice.cpp. Is there any public road map or feature list that says what is implemented and what is left to do?

      [/quote]

      Currently there are two gstreamer camera backends on linux:
      the camerabin based one (you have to install gst-plugins-bad and gst-photography, this backend is used on N900), and the mediacapture backend which builds capture pipeline itself.
      The advanced camera controls like QCameraExposureControl require gst-photography
      and are available only in the camerabin case.

      Could you try to install gst-photography and reconfigure/rebuild qtmobility?
      But I don't expect QCameraExposureControl to be very useful in your case, since
      v4l2src doesn't support the photography API for webcams yet.

      Those controls are much more useful on mobile devices, where camera module/driver provides much more control.

      [quote]

      • How are bugs handled on the master branch? What I mean is, would you be interested in people posting bugs on the master branch or rather wait until the APIs are released as TP, beta etc?
        [/quote]

      Bug reports and especially the API feedback are very welcome, I expect the backends to have bugs at this stage. You can submit the bugreports to http://bugreports.qt.nokia.com/.

      1 Reply Last reply
      0
      • F Offline
        F Offline
        Faid
        wrote on last edited by
        #3

        [quote]Do you call QCamera::start() after QCamera::setCaptureMode?
        If you do there should be a bug in the backend implementation.

        [/quote]

        Yes. I didn’t have error logging on earlier but the errors I get now are, in order of appearance:

        Could not get/set settings from/on resource.

        Could not get/set settings from/on resource.

        Could not negotiate format

        I also get this in the Camera example application when I click on the Video tab.
        Edit: It's worth mentioning that trying to record video in Cheese just locks the application.

        [quote]
        Currently there are two gstreamer camera backends on linux:
        the camerabin based one (you have to install gst-plugins-bad and gst-photography, this backend is used on N900), and the mediacapture backend which builds capture pipeline itself.
        The advanced camera controls like QCameraExposureControl require gst-photography
        and are available only in the camerabin case.
        Could you try to install gst-photography and reconfigure/rebuild qtmobility?
        But I don't expect QCameraExposureControl to be very useful in your case, since
        v4l2src doesn't support the photography API for webcams yet.
        Those controls are much more useful on mobile devices, where camera module/driver provides much more control.

        [/quote]

        Is gst-photography its own package or is it part of gst-plugins-bad? I couldn’t find the package, but I found some files in the MeeGo Multimedia git repo that seem to indicate that it’s part of gst-plugins-bad. I installed gst-plugins-bad, though I suspect the version isn’t recent enough (0.10.14ubuntu1.1). If I could successfully set up a Meego chroot with Qt Mobility and camera working, I’d be happy to work there but so far I haven’t managed to get my app working. An odd thing is that when I was working against Qt Mobility 1.0.0beta1, I could get some camera settings like Focus Mode, though only AutoFocus was available and the webcam in reality only has manual focus.

        Thanks,

        Fredrik

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved