Author Topic: What are we mising to run "Jitsi" on the Browser ?  (Read 1524 times)

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 254
  • -Receive: 49
  • Posts: 1708
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
What are we mising to run "Jitsi" on the Browser ?
« on: January 04, 2017, 04:18:08 pm »
Hi

Jitsi is an open source SIP tool for videconference.  It can run the client side on the browser (There are stand alone clients too https://jitsi.org/), and you can download it to run your own server.  You can use the free service at: https://meet.jit.si/ which I had tried on other platforms and it is quite interesting.

What  I understand that OS/2's port of Firefox is missing to run it is called "WebRTC."
According to this test (http://iswebrtcready.appear.in/) we are missing:
- getUserMedia() - Web camera access
- RTCPeerConnection - Peer to Peer connection
- ICE Connection - Not supported

Outside Firefox I think we also miss a way to connect Wim Brul's USBECD (webcam driver) to firefox.

Any thoughts about this subject?

Regards
« Last Edit: January 04, 2017, 04:45:40 pm by Martin Iturbide »


Martin Iturbide
OS2World NewsMaster
... just share the dream.

Ian Manners

  • Global Moderator
  • Full Member
  • *****
  • Thank You
  • -Given: 30
  • -Receive: 18
  • Posts: 249
  • I am the computer, it is me.
    • View Profile
    • OS/2 Site
Re: What are we mising to run "Jitsi" on the Browser ?
« Reply #1 on: January 04, 2017, 07:12:11 pm »
Hi Martin,

I would say that if getUserMedia() and RTCPeerConnection are implemented in Firefox then Web camera access might follow.

I wouldn't worry about the 'ICE Connection' NAT traversal to the same degree as that is often implemented in home routers, it is in my Netcomm and Cisco router's.
Cheers
Ian B Manners

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 254
  • -Receive: 49
  • Posts: 1708
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: What are we mising to run "Jitsi" on the Browser ?
« Reply #2 on: January 04, 2017, 11:05:09 pm »
Hi Ian, thanks for the reply.

I was wondering on other platforms, when Firefox uses the webcam, it is using some kind of standard library (API) of the OS that connects to the driver? Any ideas how it works on Windows or Linux? If Linux has a library for webcam (that is used on several open source apps) it can be interesting to know more about it.

Regards.
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Dave Yeo

  • Hero Member
  • *****
  • Thank You
  • -Given: 8
  • -Receive: 91
  • Posts: 1176
    • View Profile
Re: What are we mising to run "Jitsi" on the Browser ?
« Reply #3 on: January 05, 2017, 12:57:17 am »
I believe that most of this stuff such as the webcam support use system APIs. Looking quickly (stuff has moved around), all I can find is Gonk, which apparently is mostly for Android.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 254
  • -Receive: 49
  • Posts: 1708
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: What are we mising to run "Jitsi" on the Browser ?
« Reply #4 on: January 05, 2017, 02:48:00 pm »
Hi

I really don't know if on each platform that Firefox has webcam support does each port of Firefox connects directly to the OS API for the webcam driver, or if there is something in the middle.

Checking some answers on the internet (not related to firefox) they say that for example Linux has the "Video4Linux API" and "V4L2 API". But I still not sure if that is used in Firefox in Linux.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 254
  • -Receive: 49
  • Posts: 1708
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: What are we mising to run "Jitsi" on the Browser ?
« Reply #5 on: January 05, 2017, 03:15:03 pm »
Hi.

I also forgot that we have libusb ported to OS/2. Libusb.dll (the one ported to OS/2) connects to USBCALLS.DLL.
So maybe that can be interesting, but not sure if Firefox uses it on other platforms.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Wim Brul

  • Full Member
  • ***
  • Thank You
  • -Given: 3
  • -Receive: 28
  • Posts: 133
    • View Profile
    • Wim's home page
Re: What are we mising to run "Jitsi" on the Browser ?
« Reply #6 on: January 05, 2017, 07:56:42 pm »
Hi Martin,

Quote
Outside Firefox I think we also miss a way to connect Wim Brul's USBECD (webcam driver) to firefox.

The way to go is via the generic usbcalls interface. My specific usbecd.sys driver should not be used. The current OS/2 port of libusb needs to be enhanced to include support for isochronous transfers.

Perhaps an implementation based on Webcamd - a FreeBSD userspace Linux Kernal Drive framework could be used? Webcamd is a small daemon that enables about 1500 different USB based webcam, DVB and remote control USB devices under the FreeBSD-8.0 and later operating system. The webcam daemon is basically an application which is a port of Video4Linux USB drivers into userspace on FreeBSD. The daemon currently depends on libc, pthreads, libusb and libcuse4bsd.

Perhaps one or more of the Webcam programs working with webcamd in FreeBSD could be ported?

 

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 254
  • -Receive: 49
  • Posts: 1708
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: What are we mising to run "Jitsi" on the Browser ?
« Reply #7 on: January 06, 2017, 09:59:16 pm »
Hi Wim
The way to go is via the generic usbcalls interface. My specific usbecd.sys driver should not be used. 
Just curious, when you say "usbecd.sys driver should not be used" do you mean that it should not be called directly by an application? or that is should not be used at all?

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Ian Manners

  • Global Moderator
  • Full Member
  • *****
  • Thank You
  • -Given: 30
  • -Receive: 18
  • Posts: 249
  • I am the computer, it is me.
    • View Profile
    • OS/2 Site
Re: What are we mising to run "Jitsi" on the Browser ?
« Reply #8 on: January 07, 2017, 01:05:45 pm »
Hi Martin,

I think Wim means that HIS version of usbecd.sys should not be used. usbecd.sys is the USB v2.x specific driver so it is required for USB v2.x devices. By using the standard version with the usbcalls library, it ensures we do not end up with different USB driver versions going forward.

At least that is how I've interpreted it :)

usbecd.sys = USB 2.0 Extended Control Driver
« Last Edit: January 07, 2017, 01:09:53 pm by Ian Manners »
Cheers
Ian B Manners

Wim Brul

  • Full Member
  • ***
  • Thank You
  • -Given: 3
  • -Receive: 28
  • Posts: 133
    • View Profile
    • Wim's home page
Re: What are we mising to run "Jitsi" on the Browser ?
« Reply #9 on: January 07, 2017, 03:38:55 pm »
Hi Martin,
The way to go is via the generic usbcalls interface. My specific usbecd.sys driver should not be used. 
Just curious, when you say "usbecd.sys driver should not be used" do you mean that it should not be called directly by an application? or that is should not be used at all?
No and No. This is what I meant: To access webcams from an application like firefox you should not use my usbecd.sys driver. There are 2 reasons for that. First of all you would need a very specific device driver statement in config.sys for the particular webcam that a user wants to use. Plugging in a different webcam would require config.sys to be changed. And secondly usbecd.sys has by design insufficient isochronous buffering capability to sustain high speed and high bandwidth operation especially on larger image sizes.