-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
What can the Pion team do to make WebRTC easier #1981
Comments
Zero Configuration TURN ServerMany users get turned away from WebRTC because setting up a TURN server is too difficult. They can be difficult to install, and if configured incorrectly can be hard to debug. To improve things we should provide A TURN server that a single binary that configures itself. It would run health checks and make sure everything works without user configuration. It would have features like the following.
|
WebRTC State ExplainerDebugging WebRTC is hard for new and old users. So many different things can go wrong and users aren't even sure where to look. This happens at all stages of WebRTC usage. From the first days when learning, all the way to massive production deployments. We should provide a utility that analyzes a PeerConnection and getStats and gives users a useful diagnostic output in a single page. I would like to see details like.
We should level things. We don't want to burden users with informational details if an error was encountered. |
Zero-Configuration WebRTC Stats GatheringDetermining the quality of WebRTC connections is a difficult process. Answer questions like:
Having a way for Pion to release stats which can be easily collected by a third party server (promotheus?) for monitoring or historical analysis. TODO:
|
Zero Configuration TURN Server - Not important - to me that is a whole project - I just went to Xirsys - free or low end plan. WebRTC State Explainer - SOUNDS GREAT Zero-Configuration WebRTC Stats Gathering - Would be cool. Could even be used to see what percentage of minutes are billed, etc. |
For me, the hardest thing is to find consistent and easy examples. The best way to learn is through examples, and many of the pion examples don't apply to real life others try to do too much and don't work like this one https://github .com/pion/mediadevices, here is a good example that you look at and immediately understand how it works Until today there is no example of audio and video communication, input and output The decision to use gstreamer and the gst.go library makes the job more difficult because gstreamer has many plugins, and when using the examples it doesn't tell you which plugin is missing, you should reconsider and create examples with ffmpeg. This is my opinion, but I would also like to congratulate you because the pion is an excellent tool and your work is very important to me. |
To me the importance of ICE candidate exchange was difficult to grasp, I feel like none of the documentation really explains it very well. |
Is there an example of how to use Pion as BOTH the server and the client (for audio only calls, and no web browser involved)? I've just about exhausted all other languages and webrtc frameworks that are capable of doing this and I have yet to see any examples of them. (I also need this to work on Raspberry Pi Zero W) |
https://github.com/pion/webrtc/tree/master/examples/pion-to-pion |
This looks like only data exchange, no audio or video? |
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I think #1998 can help |
UI based configuration setup. |
According to my practical experience, gstreamer is indeed more complicated than ffmpeg. I personally think that examples of both gstreamer and ffmpeg should be provided, ffmpeg is suitable for beginners, and gstreamer is suitable for advanced users. There are areas where ffmpeg is excellent, but there are areas where gstreamer is the obvious choice. For example, I am currently developing a device remote control project. When collecting audio and video, I found that gstreamer is easier than ffmpeg to configure parameters that may change at any time, and it also allows me to customize many behaviors (of course, gstreamer is in some areas use is still a nightmare). I will help improve the examples in my free time, let more people know and use ffmpeg, gstreamer, webrtc, these are very useful tools, they can help us achieve many things that were previously powerless faster and better, which is very exciting Excited. |
Using pending candidate, It's cumbersome and awkward, I think the pion can hide it for the user. I found a solution from stackoverflow which calling setRemoveDescription using the offer creating locally. It seems counter-intuitive, so I haven't try it. |
I would like to see an http server example with authentication necessary to view the streams. |
@frbrno Does https://github.com/glimesh/broadcast-box fit that need? |
I'm new to this project but one of the first things I ran into was wanting to run some of the code myself (e.g. copying code from https://github.com/pion/webrtc/tree/master/examples/play-from-disk and running into |
Thanks for the feedback @bradleypeabody ! That exists so we can have shared code in the examples, but not have it a public API I am going to undo that. The examples will be more verbose, but you don’t have to deal with internal problems. does that sound like a good idea/would have been a better experience |
Thanks @Sean-Der and great. As another suggestion, renaming the "examples/internal" to be something like "examples/exampleutil" would be an easy fix, solve the problem, and also help communicate the concept that the signaling code there is just for examples and intended to be re-implemented according to each application's needs. |
Users find it frustrating that example code doesn't work out of tree. This makes copying the examples out of the repo easier. Relates to #1981
Users find it frustrating that example code doesn't work out of tree. This makes copying the examples out of the repo easier. Relates to #1981
Users find it frustrating that example code doesn't work out of tree. This makes copying the examples out of the repo easier. Relates to #1981
Users find it frustrating that example code doesn't work out of tree. This makes copying the examples out of the repo easier. Relates to #1981
Users find it frustrating that example code doesn't work out of tree. This makes copying the examples out of the repo easier. Relates to #1981
@bradleypeabody I just merged the change! When you get a chance mind checking it out? See if that was a experience you would prefer |
Users find it frustrating that example code doesn't work out of tree. This makes copying the examples out of the repo easier. Relates to #1981
@Sean-Der Yeah, it looks great now, thanks! Definitely more new-user-friendly :) |
Users find it frustrating that example code doesn't work out of tree. This makes copying the examples out of the repo easier. Relates to pion/webrtc#1981
Users find it frustrating that example code doesn't work out of tree. This makes copying the examples out of the repo easier. Relates to pion/webrtc#1981
Users find it frustrating that example code doesn't work out of tree. This makes copying the examples out of the repo easier. Relates to pion/webrtc#1981
Users find it frustrating that example code doesn't work out of tree. This makes copying the examples out of the repo easier. Relates to pion/webrtc#1981
Users find it frustrating that example code doesn't work out of tree. This makes copying the examples out of the repo easier. Relates to pion/webrtc#1981
Users find it frustrating that example code doesn't work out of tree. This makes copying the examples out of the repo easier. Relates to pion/webrtc#1981
Users find it frustrating that example code doesn't work out of tree. This makes copying the examples out of the repo easier. Relates to pion/webrtc#1981
This issue is for everyone to vote and suggest different ideas on how we can make WebRTC better. The ideas don't have to relate to Pion at all. Try to think of ideas that don't just help you today. Things you wish existed when learning WebRTC.
If you see a project that looks like something you would find interesting you should go build it!
The text was updated successfully, but these errors were encountered: