Comments (4)
Welcome @rosimildo.
A quick overview of what we have right now. If you look at the gstreamer-send
example you'll see the following line:
webrtc.RegisterDefaultCodecs()
This line initializes some default 'codecs' which are shipped with the library.
Note that when referring to a 'codec' we mean a collection of:
- Some meta data that defines the codec. This is used in WebRTC to find matching capabilities between the peers.
- A Payloader used to split the stream of media data into packets for sending over the network.
The actual conversion of video is (at least currently) out of scope of our efforts.
In addition, you can define your own codec. One way to do this is used in the save-to-disk example:
webrtc.RegisterCodec(webrtc.NewRTCRtpOpusCodec(webrtc.DefaultPayloadTypeOpus, 48000, 2))
You can even go further and define a completely new codec. You can use the contents of NewRTCRtpOpusCodec
as an example.
We also support multiple peer connections with different codecs. This can be done by creating your own MediaEngine
and registering it with the peer connection using SetMediaEngine
.
A fully generic way to ingest media would have to identify the codec and supply the required details to the library as described above. I currently don't know of any such efforts.
Hopefully this provides some insight. Let me know if you have any additional questions.
from webrtc.
Thanks Backkem for your quick answer!
For now, I am browsing the project to get familiar with, and hopefully soon to be able to play with the examples..... thanks!
from webrtc.
Great, If you have any questions while browsing you can always find us in the #pion channel of the Gopher slack.
from webrtc.
Hey @rosimildo, thanks for checking out pion-WebRTC!
We have examples of GStreamer generating RTP traffic (and consuming it) I am happy to add more examples though (I think this covers what your looking for though)
Feel free to reopen this if you have a specific example that would help developers learning this library! And always happy to chat in Slack.
from webrtc.
Related Issues (20)
- Bug with AV1 support? HOT 2
- Permission issue with PION WebRTC under GOMOBILE Android >= 11 (SDK 30) - EDIT: SOLVED BY https://github.com/golang/go/pull/61089 HOT 85
- Decoding Opus packets HOT 1
- How to play rtp_mpegts stream on client side HOT 2
- How to send my video captured by Gocv to the Browser with WebRTC
- How should exchange ICE Candidates via OnICECandidate ?‘<-gatherComplete’ taking too much time to respond to webrtc connection. HOT 1
- Data channel does not close if dataChannel.Close is called in the OnDataChannel handler
- Missing remote-inbound-rtp and remote-outbound-rtp stats in Firefox and Chrome HOT 2
- Sending RTCP Reports as RFC8888 via PeerConnection HOT 1
- Ability to configure ice candidates gathering timeouts
- PeerConnection should drop reference to datachannel when it's closed
- Trickle ICE not working properly HOT 1
- OnTrack will not be fired HOT 10
- Pion cannot connect with Janus without manually specifying Candidates SDPMid
- Improve pluggability and testability across pion modules though Interfaces HOT 1
- Single Port mode second connect failed HOT 3
- rtp-to-webrtc H264 via gstreamer issue HOT 4
- Sending two separate video streams with rtp-to-webrtc under two different ports HOT 1
- data-channels-detach-create example is missing HOT 1
- Is there any example where the original h264 data can be sent to pion directly at the interface layer? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webrtc.