A few questions about Qt Mobility Multimedia (master branch)
-
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
-
-
[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'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'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?
[/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/.
- 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.
-
[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