I'm currently trying to implement a WebRTC peer client in pure Erlang. One of the most difficult things I've done because WebRTC relies on several hundred pages of RFCs.
0 - https://github.com/pions/webrtc
For one thing, I now have edge servers in my architecture. This means that I can now use my ability to serialize the state of a game instance server process, then inject it into another process without any participation from the client. This will make hot code updates really slick.
If there is anything we can do to make it better I would love to work on fixing anything that comes up, thanks for using Pion!
We have had a lot of churn, but I am really proud of how we split everything out. DTLS, SCTP, ICE and SRTP are a real pain but once it works it is amazing.
We are also working on https://pion.ly/knowledge-base I want to create a resource that pulls all WebRTC info together RFCS, summations and links to relevant code etc...
If anyone wants to help we would love to have you! Especially someone who has an eye for design, we have a resource but they aren't able to help often, I am always happy to chat in our Slack channel https://pion.ly/slack/
I still really want to tie your IFPS work together we something like https://github.com/pions/asciirtc then we can get decentralized chat that works in browsers and desktops (with a single static binary to run it locally) would be amazing
If there is anything I can do I would like to support your Erlang implementation! I can answer any questions you have, and would be happy to help get more eyes on your version as well.
It would be fantastic to see Go, Python, Erlang, C++ and Browsers all communicating directly without any software in the middle :)
It is very annoying that other browsers on iOS probably wont have access to these features and updates.
Right now, WKWebView and SFSafariViewController (and the authentication service variant, and Web.app which is used for shortcuts on the home screen) do not have WebRTC support - only MobileSafari.app does.
The whole point of the discussion surrounds what is possible in web views, not implementing your own browser engine.
For Steve's sake! Why not add VP8 and OPUS system-wide already when they already even are built in different parts of the system?
It's a bit arrogant for them to compare battery life of h264 to vp8, as they've chosen not to support hardware accelerated vp8. All Android devices have had this for years.
I'm hoping this all settles out with av1. Netflix and Amazon will support av1, so that doesn't leave Apple with much choice.
I've seen many mentions OPUS is going to be everywhere, Apple included, years passed and it still is not, not even in the fresh models that were meant to have it in hardware.
So the only new feature i want from this WebRTC thingy is... an OFF button.
what "rest" are you referring to?
if you're running behind a regular local network then I wouldn't consider the local IP leakage as a "privacy hazard". local IPs are compromised already. everywhere. they are easy to guess. they are easy to obtain in native apps. etc.
there are issues when it comes to places where VPN access is crucial/vital. thankfully, very few VPN providers leak your IP nowadays, and with drafts such as what the poster above mentioned (https://datatracker.ietf.org/doc/draft-ietf-rtcweb-mdns-ice-...) this problem will be history soon enough.
The post talks about how iPhone 7's have worse battery life with VP8, which I'm sure is true, but it's still kinda funny because...it's Apple quasi-complaining here, and Apple who can solve the lack of acceleration, at least for future products.
Do you really want way worse battery life just so you can have VP8? That seems to be prioritizing the wrong things.
Maybe, but not exclusively
VP9: https://www.webmproject.org/vp9/mp4/ (uses 'vp09' & 'vpcC' in the stsd)
AV1: https://aomedia.org/wp-content/uploads/2018/09/AV1-ISO-Base-... (uses 'av01' & 'av1C' in the stsd)
YouTube's AV1 playlist
uses mp4 as the container for the av1 (av01.0.05M.08), webm for the VP9 (vp9)
./youtube-dl --list-formats https://www.youtube.com/watch?v=2nXYbGmF3_Q
[youtube] 2nXYbGmF3_Q: Downloading webpage
[youtube] 2nXYbGmF3_Q: Downloading video info webpage
[info] Available formats for 2nXYbGmF3_Q:
format code extension resolution note
249 webm audio only DASH audio 55k , opus @ 50k, 1.43MiB
250 webm audio only DASH audio 70k , opus @ 70k, 1.81MiB
171 webm audio only DASH audio 118k , vorbis@128k, 2.99MiB
140 m4a audio only DASH audio 128k , m4a_dash container, mp4a.40.2@128k, 3.65MiB
251 webm audio only DASH audio 133k , opus @160k, 3.38MiB
278 webm 256x144 144p 101k , webm container, vp9, 30fps, video only, 2.57MiB
160 mp4 256x144 144p 109k , avc1.4d400c, 30fps, video only, 1.02MiB
242 webm 426x240 240p 205k , vp9, 30fps, video only, 2.81MiB
133 mp4 426x240 240p 241k , avc1.4d4015, 30fps, video only, 2.27MiB
243 webm 640x360 360p 377k , vp9, 30fps, video only, 5.08MiB
395 mp4 426x240 240p 426k , av01.0.05M.08, 30fps, video only, 3.33MiB
134 mp4 640x360 360p 514k , avc1.4d401e, 30fps, video only, 4.66MiB
244 webm 854x480 480p 696k , vp9, 30fps, video only, 8.29MiB
396 mp4 640x360 360p 751k , av01.0.05M.08, 30fps, video only, 6.04MiB
135 mp4 854x480 480p 989k , avc1.4d401f, 30fps, video only, 8.54MiB
397 mp4 854x480 480p 1175k , av01.0.05M.08, 30fps, video only, 9.86MiB
247 webm 1280x720 720p 1282k , vp9, 30fps, video only, 12.27MiB
136 mp4 1280x720 720p 1675k , avc1.4d401f, 30fps, video only, 14.43MiB
398 mp4 1280x720 720p 2075k , av01.0.05M.08, 30fps, video only, 18.99MiB
248 webm 1920x1080 1080p 2349k , vp9, 30fps, video only, 20.93MiB
137 mp4 1920x1080 1080p 2768k , avc1.640028, 30fps, video only, 23.33MiB
399 mp4 1920x1080 1080p 3759k , av01.0.05M.08, 30fps, video only, 39.32MiB
18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k, 11.11MiB
43 webm 640x360 medium , vp8.0, vorbis@128k, 16.66MiB
22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best)
The page you linked about AV1 in mp4 says it uses MPEG-4 Part 31, which is under development and not final . Until now I was not aware they were extending the MPEG-4 container standard to include more formats.
Looking very much forward to this. Currently my plugin-free in-browser screen-sharing tool  only works in FF and Chrome. The real question is will mobile browsers offer it. In general though, I am impressed with how well screen capturing over WebRTC works and so far haven't seen that many people needing a TURN server.
0 - https://github.com/cretz/myscreen.live
> We will not pass on our MPEG-LA licensing costs for this module, and based on the current licensing environment, this will effectively make H.264 free for use on supported platforms.
EDIT: To clarify, such licensing requirements on H.264 may make codecs fall outside of the guidelines of software distributions allowing only free software, making them supply their browser without one.
btw: Looking forward to AV1 HW decoder accelerated CPUs.
i feel the next great leap for webrtc is wasm + webrtc:
I haven't had a chance to grok it fully yet but someone added WASM support to pion recently  you will able to just write your code once in Go and should work in both places!