Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebRTC and stream with same camera #161

Closed
indoorrobot opened this issue Jan 28, 2020 · 2 comments
Closed

WebRTC and stream with same camera #161

indoorrobot opened this issue Jan 28, 2020 · 2 comments
Labels
question Further information is requested

Comments

@indoorrobot
Copy link

Hi,

I would like to have the ability to stream to KVS, but also to open a webrtc connection, with the same v4lsrc source (H264) camera.
Is that possible?

@MushMal
Copy link
Contributor

MushMal commented Jan 29, 2020

@indoorrobot thanks for the question. Yes, you can. It depends on your scenario. Here are some ideas:

GStreamer plugin model:
* Use "tee" element to split the pipeline
* One going into GST KVS plugin
* Create a plugin (which we don't have) that will use KVS WebRTC Embedded SDK for WebRTC

GStreamer plugin model without tee:
* Create a custom app sink and get the frames
* In the app sink, create WebRTC embedded SDK peer connection object and signaling object for WebRTC communication (similar to the Master sample in the SDK) and create KVS Stream using KVS C Producer SDK for persistent streaming.
* Inside the app sink, feed the frame received from the into WebRTC transeiver and KVS Stream

GStreamer native application:
* Create an application that uses GStreamer to get frames/encode frames from the video source
* Inside the native application use KVS SDK and WebRTC SDK to feed the received frame into KVS stream and WebRTC peer connection - similar to the GStreamer plugin model

Note on the networking side. Depending on the streaming mode (P2P vs TURN) webRTC networking will use UDP or TCP. The network bandwidth will be shared among that connection and the KVS stream which is TCP based. On bandwidth pressures it could result in dropped packets for UDP or in case of TCP it can result in broken TCP connection.

@MushMal MushMal added awaiting response question Further information is requested labels Jan 29, 2020
@disa6302
Copy link
Contributor

disa6302 commented Mar 2, 2020

@indoorrobot , feel free to reopen the issue/create a new one if you face any problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants