pion / mediadevices

Go implementation of the MediaDevices API.
https://pion.ly/
MIT License
540 stars 123 forks source link

Implement custom mediadevice #397

Closed Coimbra1984 closed 2 years ago

Coimbra1984 commented 2 years ago

Summary

Possibility to implement a custom media device

Motivation

I have an RTSP camera here which I want to bridge to webrtc. Currently I use https://github.com/aler9/gortsplib as a client library to receive the camera stream and push the data through webrtc using pion/webrtc (PeerConnection). Unfortunately as far as I understand, there is also an RTCP channel, where I receive incoming messages like NACK, PLI and other packages. As far as I understand, this mediadevices library already also handles these messages correctly but only work for input devices on the PC. Is there a possibility to implement my own mediadevice as described above?

EmrysMyrddin commented 2 years ago

It is already possible to create your own Adapter and register a device using this adapter using driver.Manager.Register.

You can find example how to implement your adapter and register your device by looking to already implemented ones in the pkg/driver folder. For example using video, take a look to [screen] (https://github.com/pion/mediadevices/blob/master/pkg/driver/screen/screen.go) or camera.

EmrysMyrddin commented 2 years ago

I close this issue assuming your question has been answered.

If it's not the case and you still have question about this, don't hesitate to reopen or open a new issue.