swtching streams within webrtcbin

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

swtching streams within webrtcbin

Alexander Yanin
Hi! 
I was glad to know that gstreamer now has its own webrtc implementation.

My purpose is to use webrtcbin for live media streaming to multiple clients (browsers) without receiving any media from them. The streamed media consists of one video stream and several audio streams. My purpose is to have a possibility for a client to switch from one audio track to another. For simplicity, other clients will also receive the same selected audio track. 

How this can be achieved? What is the most correct way to do that? 

Cheers,
Alex

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: swtching streams within webrtcbin

Matthew Waters
Hi!

Two options:

1. Send all the media all the time and switch client side.
2. Selectively send the required stream based on notifications from the client.

The ideal choice depends on the bandwidth and switching latency requirements you need with 1 using more bandwidth and switching is ~instantaneous. 2 uses less bandwidth but switching requires at least a roundtrip through the signaling.

2 requires adding some extra signaling for notifying about stream switches but that is relatively to easy add into the existing webrtc signaling channel.  The current snag is that webrtcbin still has a very much work-in-progress renegotiation handling which means that 1 is really the easiest option at the moment.  I would very much like to get 2 working with webrtcbin though.

Cheers
-Matt

On 27/03/18 19:23, Alexander Yanin wrote:
Hi! 
I was glad to know that gstreamer now has its own webrtc implementation.

My purpose is to use webrtcbin for live media streaming to multiple clients (browsers) without receiving any media from them. The streamed media consists of one video stream and several audio streams. My purpose is to have a possibility for a client to switch from one audio track to another. For simplicity, other clients will also receive the same selected audio track. 

How this can be achieved? What is the most correct way to do that? 

Cheers,
Alex


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: swtching streams within webrtcbin

Alexander Yanin
I think both options can be used, each has its own advantages. In my case number of audio tracks greatly varies (from 1 to ~40 or more), so option 2 sounds more appropriate because of narrower bandwidth and lower cpu usage (no coding and packing of unnecessary audio tracks).
So, is option 2 applicable at the moment or it needs webrtcbin updating?

2018-03-27 15:12 GMT+03:00 Matthew Waters <[hidden email]>:
Hi!

Two options:

1. Send all the media all the time and switch client side.
2. Selectively send the required stream based on notifications from the client.

The ideal choice depends on the bandwidth and switching latency requirements you need with 1 using more bandwidth and switching is ~instantaneous. 2 uses less bandwidth but switching requires at least a roundtrip through the signaling.

2 requires adding some extra signaling for notifying about stream switches but that is relatively to easy add into the existing webrtc signaling channel.  The current snag is that webrtcbin still has a very much work-in-progress renegotiation handling which means that 1 is really the easiest option at the moment.  I would very much like to get 2 working with webrtcbin though.

Cheers
-Matt


On 27/03/18 19:23, Alexander Yanin wrote:
Hi! 
I was glad to know that gstreamer now has its own webrtc implementation.

My purpose is to use webrtcbin for live media streaming to multiple clients (browsers) without receiving any media from them. The streamed media consists of one video stream and several audio streams. My purpose is to have a possibility for a client to switch from one audio track to another. For simplicity, other clients will also receive the same selected audio track. 

How this can be achieved? What is the most correct way to do that? 

Cheers,
Alex


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: swtching streams within webrtcbin

Matthew Waters
Option 2 most likely requires modifying webrtcbin to support renegotiation.

Cheers
-Matt

On 28/03/18 01:27, Alexander Yanin wrote:
I think both options can be used, each has its own advantages. In my case number of audio tracks greatly varies (from 1 to ~40 or more), so option 2 sounds more appropriate because of narrower bandwidth and lower cpu usage (no coding and packing of unnecessary audio tracks).
So, is option 2 applicable at the moment or it needs webrtcbin updating?

2018-03-27 15:12 GMT+03:00 Matthew Waters <[hidden email]>:
Hi!

Two options:

1. Send all the media all the time and switch client side.
2. Selectively send the required stream based on notifications from the client.

The ideal choice depends on the bandwidth and switching latency requirements you need with 1 using more bandwidth and switching is ~instantaneous. 2 uses less bandwidth but switching requires at least a roundtrip through the signaling.

2 requires adding some extra signaling for notifying about stream switches but that is relatively to easy add into the existing webrtc signaling channel.  The current snag is that webrtcbin still has a very much work-in-progress renegotiation handling which means that 1 is really the easiest option at the moment.  I would very much like to get 2 working with webrtcbin though.

Cheers
-Matt


On 27/03/18 19:23, Alexander Yanin wrote:
Hi! 
I was glad to know that gstreamer now has its own webrtc implementation.

My purpose is to use webrtcbin for live media streaming to multiple clients (browsers) without receiving any media from them. The streamed media consists of one video stream and several audio streams. My purpose is to have a possibility for a client to switch from one audio track to another. For simplicity, other clients will also receive the same selected audio track. 

How this can be achieved? What is the most correct way to do that? 

Cheers,
Alex


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (499 bytes) Download Attachment