Problems with displaying of web-camera stream and attaching video to <video> tag in html page through gstreamer with vaapi on wayland environment

Максим Гусев maxon1989 at gmail.com
Thu Jun 18 14:39:32 PDT 2015


Hello to all!

I set up environment in Tizen IVI 3.0 M2 for my Intel e38xx based
board with recomendations from
http://www.intel.ru/content/www/ru/ru/intelligent-systems/bay-trail/tizen-ivi-m2-kernel-ltsi-linux-support-package-atom-e3800-gsg.html
(january 2015 revision). Video playing and camera streaming works
through gst-launch-1.0 pipeline (displayed on wayland surface).
I need help with some issues. First of all, then i tried to open the
camera in webkit html app in <video> tag through GetUserMedia with all
needs privellegies, i don't see the stream from camera, although the
lamp on the camera is lit, which means it opened succesfully i think.
Below a log, when i try to open camera from trough GetUserMedia:

Jun 18 06:54:25 localhost wrt_launchpad_daemon[182]: launched

Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: (WebProcess:259):
GStreamer-WARNING **: 0.10-style raw video caps are being created.
Should be video/x-raw,format=(string).. now.
Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: (WebProcess:259):
GStreamer-CRITICAL **: gst_mini_object_unref: assertion `mini_object
!= NULL' failed

Jun 18 06:54:26 localhost kernel: ehci-pci 0000:00:1d.0: reused qh
f3f27f00 schedule
Jun 18 06:54:26 localhost kernel: usb 1-1.2: link qh16-0001/f3f27f00
start 4 [1/0 us]

Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: (WebProcess:259):
GLib-GObject-WARNING **: g_object_set_valist: object class
`GstVaapiSink' has no property named `wl-display'
Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: (WebProcess:259):
GLib-GObject-WARNING **: g_object_set_valist: object class
`GstVaapiSink' has no property named `display-mode'

Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: libva info:
VA-API version 0.34.0
Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: libva info:
va_getDriverName() returns 0
Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: libva info:
Trying to open /usr/lib/dri/emgd_drv_video.so
Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: libva info: Found
init function __vaDriverInit_0_34
Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: libva info:
va_openDriver() returns 0
Jun 18 06:54:26 localhost murphyd[168]:    --> client id:       259
Jun 18 06:54:26 localhost murphyd[168]:    --> data handle:     -1
Jun 18 06:54:26 localhost murphyd[168]:    --> request id:      0x0000
Jun 18 06:54:26 localhost murphyd[168]:    --> sound event:     0x0000
Jun 18 06:54:26 localhost murphyd[168]:    --> system resource: 0x0000
Jun 18 06:54:26 localhost murphyd[168]:    --> state:           0x0000
Jun 18 06:54:26 localhost murphyd[168]: REQUEST: REGISTER
Jun 18 06:54:26 localhost murphyd[168]: initialization error
Jun 18 06:54:26 localhost murphyd[168]: application real name: UbVabTZLTL
Jun 18 06:54:26 localhost murphyd[168]: Event CB: id 0, set 0x87c4ec0
Jun 18 06:54:26 localhost murphyd[168]: Resource class: player
Jun 18 06:54:26 localhost murphyd[168]: Advice 0x00000005, Grant 0x00000000
Jun 18 06:54:26 localhost murphyd[168]: callback for no request 0
Jun 18 06:54:26 localhost murphyd[168]:  <--   client id:       259
Jun 18 06:54:26 localhost murphyd[168]:  <--   alloc handle:    1
Jun 18 06:54:26 localhost murphyd[168]:  <--   command handle:  1
Jun 18 06:54:26 localhost murphyd[168]:  <--   sound command:   0x0000
Jun 18 06:54:26 localhost murphyd[168]:  <--   state:           0x0002
Jun 18 06:54:26 localhost murphyd[168]:  <--   former event:    -1
Jun 18 06:54:26 localhost murphyd[168]:  <--   check privilege: TRUE
Jun 18 06:54:26 localhost murphyd[168]:
Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: (WebProcess:259):
GStreamer-WARNING **: 0.10-style raw video caps are being created.
Should be video/x-raw,format=(string).. now.
Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: (WebProcess:259):
GStreamer-CRITICAL **: gst_mini_object_unref: assertion `mini_object
!= NULL' failed
Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: (WebProcess:259):
GLib-GObject-WARNING **: g_object_set_valist: object class
`GstTCPClientSrc' has no property named `protocol'
Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: (WebProcess:259):
GLib-GObject-WARNING **: g_object_set_valist: object class
`WebKitCameraSrc' has no property named `extra-headers'
Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: (WebProcess:259):
GLib-GObject-WARNING **: g_object_set_valist: object class
`WebKitCameraSrc' has no property named `user-agent'
Jun 18 06:54:26 localhost murphyd[168]:    --> client id:       259
Jun 18 06:54:26 localhost murphyd[168]:    --> data handle:     1
Jun 18 06:54:26 localhost murphyd[168]:    --> request id:      0x0004
Jun 18 06:54:26 localhost murphyd[168]:    --> sound event:     0x0000
Jun 18 06:54:26 localhost murphyd[168]:    --> system resource: 0x0000
Jun 18 06:54:26 localhost murphyd[168]:    --> state:           0x0004
Jun 18 06:54:26 localhost murphyd[168]: REQUEST: SET STATE
Jun 18 06:54:26 localhost murphyd[168]: requesting release of playback
rights for set '259.1' (id: 1)
Jun 18 06:54:26 localhost murphyd[168]: Event CB: id 1, set 0x87c4ec0
Jun 18 06:54:26 localhost murphyd[168]: Resource class: player
Jun 18 06:54:26 localhost murphyd[168]: Advice 0x00000005, Grant 0x00000000
Jun 18 06:54:26 localhost murphyd[168]: callback for release request 1
Jun 18 06:54:26 localhost murphyd[168]:
Jun 18 06:54:26 localhost wrt_launchpad_daemon[182]: pm socket
sendto() failed: No such file or directory
Jun 18 06:54:31 localhost kernel: usb 1-1.2: unlink qh16-0001/f3f27f00
start 4 [1/0 us]
Jun 18 06:54:33 localhost wrt_launchpad_daemon[182]: (WebProcess:259):
GStreamer-CRITICAL **: gst_object_unref: assertion `((GObject *)
object)->ref_count > 0' failed
Jun 18 06:54:33 localhost wrt_launchpad_daemon[182]: pm socket
sendto() failed: No such file or directory
Jun 18 06:54:33 localhost murphyd[168]:    --> client id:       259
Jun 18 06:54:33 localhost murphyd[168]:    --> data handle:     1
Jun 18 06:54:33 localhost murphyd[168]:    --> request id:      0x0004
Jun 18 06:54:33 localhost murphyd[168]:    --> sound event:     0x0000
Jun 18 06:54:33 localhost murphyd[168]:    --> system resource: 0x0000
Jun 18 06:54:33 localhost murphyd[168]:    --> state:           0x0003
Jun 18 06:54:33 localhost murphyd[168]: REQUEST: SET STATE
Jun 18 06:54:33 localhost murphyd[168]: requesting release of playback
rights for set '259.1' (id: 2)
Jun 18 06:54:33 localhost murphyd[168]: Event CB: id 2, set 0x87c4ec0
Jun 18 06:54:33 localhost murphyd[168]: Resource class: player
Jun 18 06:54:33 localhost murphyd[168]: Advice 0x00000005, Grant 0x00000000
Jun 18 06:54:33 localhost murphyd[168]: callback for release request 2
Jun 18 06:54:33 localhost murphyd[168]:
Jun 18 06:54:33 localhost murphyd[168]:    --> client id:       259
Jun 18 06:54:33 localhost murphyd[168]:    --> data handle:     1
Jun 18 06:54:33 localhost murphyd[168]:    --> request id:      0x0001
Jun 18 06:54:33 localhost murphyd[168]:    --> sound event:     0x0000
Jun 18 06:54:33 localhost murphyd[168]:    --> system resource: 0x0000
Jun 18 06:54:33 localhost murphyd[168]:    --> state:           0x0000
Jun 18 06:54:33 localhost murphyd[168]: REQUEST: UNREGISTER
Jun 18 06:54:33 localhost murphyd[168]:
Jun 18 06:54:33 localhost wrt_launchpad_daemon[182]: pm socket
sendto() failed: No such file or directory
Jun 18 06:54:33 localhost wrt_launchpad_daemon[182]: launched

Why a stream from camera was not show in <video> tag?

Second issue: When i opened a video in webkit html application in
<video> tag it was displayed on wayland surface in random place of the
window(it was same surface as from gst-launch pipeline) and not
attached at <video> tag surface.

Below a log, then i try to open webkit html application with <video> tag:

Jun 18 06:50:48 localhost wrt_launchpad_daemon[186]: launched
Jun 18 06:50:53 localhost wrt_launchpad_daemon[186]: pm socket
sendto() failed: No such file or directory
Jun 18 06:50:53 localhost wrt_launchpad_daemon[186]: pm socket
sendto() failed: No such file or directory
Jun 18 06:50:53 localhost wrt_launchpad_daemon[186]: (WebProcess:274):
GLib-GObject-WARNING **: g_object_set_valist: object class
`GstVaapiSink' has no property named `wl-display'
Jun 18 06:50:53 localhost wrt_launchpad_daemon[186]: (WebProcess:274):
GLib-GObject-WARNING **: g_object_set_valist: object class
`GstVaapiSink' has no property named `display-mode'
Jun 18 06:50:53 localhost wrt_launchpad_daemon[186]: libva info:
VA-API version 0.34.0
Jun 18 06:50:53 localhost wrt_launchpad_daemon[186]: libva info:
va_getDriverName() returns 0
Jun 18 06:50:53 localhost wrt_launchpad_daemon[186]: libva info:
Trying to open /usr/lib/dri/emgd_drv_video.so
Jun 18 06:50:53 localhost wrt_launchpad_daemon[186]: libva info: Found
init function __vaDriverInit_0_34
Jun 18 06:50:53 localhost wrt_launchpad_daemon[186]: libva info:
va_openDriver() returns 0
Jun 18 06:50:53 localhost murphyd[168]:    --> client id:       274
Jun 18 06:50:53 localhost murphyd[168]:    --> data handle:     -1
Jun 18 06:50:53 localhost murphyd[168]:    --> request id:      0x0000
Jun 18 06:50:53 localhost murphyd[168]:    --> sound event:     0x0000
Jun 18 06:50:53 localhost murphyd[168]:    --> system resource: 0x0000
Jun 18 06:50:53 localhost murphyd[168]:    --> state:           0x0000
Jun 18 06:50:53 localhost murphyd[168]: REQUEST: REGISTER
Jun 18 06:50:53 localhost murphyd[168]: initialization error
Jun 18 06:50:53 localhost murphyd[168]: application real name:
sampletest.DemoExpress
Jun 18 06:50:53 localhost murphyd[168]: Event CB: id 0, set 0x8aff3f8
Jun 18 06:50:53 localhost murphyd[168]: Resource class: player
Jun 18 06:50:53 localhost murphyd[168]: Advice 0x00000005, Grant 0x00000000
Jun 18 06:50:53 localhost murphyd[168]: callback for no request 0
Jun 18 06:50:53 localhost murphyd[168]:  <--   client id:       274
Jun 18 06:50:53 localhost murphyd[168]:  <--   alloc handle:    1
Jun 18 06:50:53 localhost murphyd[168]:  <--   command handle:  1
Jun 18 06:50:53 localhost murphyd[168]:  <--   sound command:   0x0000
Jun 18 06:50:53 localhost murphyd[168]:  <--   state:           0x0002
Jun 18 06:50:53 localhost murphyd[168]:  <--   former event:    -1
Jun 18 06:50:53 localhost murphyd[168]:  <--   check privilege: TRUE
Jun 18 06:50:53 localhost murphyd[168]:
Jun 18 06:50:53 localhost wrt_launchpad_daemon[186]: (WebProcess:274):
GLib-GObject-WARNING **: g_object_set_valist: object class
`GstFileSrc' has no property named `extra-headers'
Jun 18 06:50:53 localhost wrt_launchpad_daemon[186]: (WebProcess:274):
GLib-GObject-WARNING **: g_object_set_valist: object class
`GstFileSrc' has no property named `user-agent'
Jun 18 06:50:53 localhost murphyd[168]:    --> client id:       274
Jun 18 06:50:53 localhost murphyd[168]:    --> data handle:     1
Jun 18 06:50:53 localhost murphyd[168]:    --> request id:      0x0004
Jun 18 06:50:53 localhost murphyd[168]:    --> sound event:     0x0000
Jun 18 06:50:53 localhost murphyd[168]:    --> system resource: 0x0000
Jun 18 06:50:53 localhost murphyd[168]:    --> state:           0x0004
Jun 18 06:50:53 localhost murphyd[168]: REQUEST: SET STATE
Jun 18 06:50:53 localhost murphyd[168]: requesting release of playback
rights for set '274.1' (id: 1)
Jun 18 06:50:53 localhost murphyd[168]: Event CB: id 1, set 0x8aff3f8
Jun 18 06:50:53 localhost murphyd[168]: Resource class: player
Jun 18 06:50:53 localhost murphyd[168]: Advice 0x00000005, Grant 0x00000000
Jun 18 06:50:53 localhost murphyd[168]: callback for release request 1
Jun 18 06:50:53 localhost murphyd[168]:
Jun 18 06:50:53 localhost pulseaudio[292]: [pulseaudio] source.c:
Default and alternate sample rates are the same.
Jun 18 06:50:53 localhost murphyd[168]: resource-native: client1 connected
Jun 18 06:50:53 localhost murphyd[168]: Accepted new client connection.
Jun 18 06:50:53 localhost murphyd[168]: Client pulse subscribed for
table audio_playback_users.
Jun 18 06:50:53 localhost murphyd[168]: Client pulse subscribed for
table audio_recording_users.
Jun 18 06:50:53 localhost murphyd[168]: Client pulse subscribed for
table speedvol.
Jun 18 06:50:53 localhost murphyd[168]: Client pulse subscribed for
table audio_playback_owner.
Jun 18 06:50:53 localhost murphyd[168]: Client pulse subscribed for
table amb_shift_position.

Why didn't the video attach to <video> tag and what can i do to solve
this problem? May be this problem is in webkit browser, that displays
html application, or Gstreamer didn't have some sink to attach video
to webkit window?
P.S. Versions of software, that i used: libdrm-2.4.45, mesa 9.2,
libva-1.2.1, intel-driver-1.2.1, gstreamer 1.0 with base-good-bad-ugly
plugins, gstreamer-vaapi-0.5.9.
Thanks for any help,
Best Regards,
Maks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150619/377d31e9/attachment-0001.html>


More information about the gstreamer-devel mailing list