11 ms·
Twilio Video – Real-time WebRTC video infrastructure
- anthony_franco 12y agoFirst thing this reminded me of was https://tokbox.com/ https://tokbox.com/. Hopefully the pricing is along the same lines, it's good to see some competition in the space.
- marquis 12y agoA tech question for Twilio: can you manipulate the SDP object?
- RobSpectre 12y agoGood question - one of Twilio Video's aim is to take a lot of the signaling headache away. We do expose the PeerConnection, but not the SDP object. What would you want to use it for?
- JoeAltmaier 12y agoExtra authentication; new roles; address filtering (recognize VPN path etc); bundling control...
- RobSpectre 12y agoCheck. Good feedback.
- jc4p 12y agoI was really excited by the title but this seems a bit lacking. I've done a lot of WebRTC work -- we currently use Google Hangouts everywhere at Stack Exchange for internal team communication, but the 15 person cap hurts some bigger all-hands calls or our weekly remote parties. I don't think the hardest part of WebRTC is transcoding or TURN servers (what Twilio seems to be offering), multiplexing is where all the complexity comes from. It's very easy to set up a video chat interface via WebRTC small-scale, and good on Twilio for focusing on making it easier to integrate mobile clients too, but I can't wait until someone (most likely the Talky.io team seeing how their betas are going) makes it a bit easier to have large N connections (right now on Hangouts N is 15, on my own stack N is around 10).
- sytse 12y agoInteresting, is the 15 person cap a new thing? I remember it was still 10 at some point.
- willkelleher 12y agoI think it is 10 for ad-hoc Hangouts, but you can raise it to 15 if you attach the meeting to a calendar invite.
- sytse 12y agoAwesome!
- gz5 12y agoLarge conferences translates to media server, network, sometimes interop, and eventually session control requirements. Ideally, media servers with excellent IP connections, distributed around the world, and behind GeoDNS. It also often means some interop capabilities (signaling and/or media interworking), since many large conference use cases include some users on traditional video (SIP or H.323), Lync/Skype For Business and/or PSTN. Finally, session control becomes important if we get into enterprise and service provider conferencing markets. Those reqs - especially media intensive ones - are interesting in that they are mostly not Twilio's core competency. Do they build it? Partner for it? Do they care enough about those use cases? The answers to those questions are very interesting given Twilio's tremendous developer ecosystem.
- JoeAltmaier 12y agoHere at Sococo (I work there) we support 20+ clients per meeting. Audio, video, doc sharing, rich presence info, always-on but no bandwidth burden when you're not meeting. Free to try! We use it ourselves for our Agile process, doing ad-hoc meetings all day in various bullpens; Scrum each morning with 20+ participants; all-hands meetings once a week with a shared presentation. And all day I can see who is meeting with whom in my group. Its really pretty performant.
- gz5 12y agoThe support for H.264 is interesting. It of course makes sense for iOS and devices that can support hardware acceleration, but device mix can change during a call. So, what happens if two iOS users start, but then they add a VP8 only device? How Twilio handles that use case will be instructive for understanding what use cases we can support with this service. It isn't likely they are transcoding since this intro suggests a P2P architecture without distributed media servers, and we know H.264/VP8 is very expensive video transcoding - e.g. many media server vendors don't get more than one transcode per core at full HD.
- jgrowl 12y agoI can't speak with any real authority here but... WebRTC requires the two end points of the connection swap information for networking and things like what codecs they support. I don't believe the MediaStreams between a->b and a->c would have anything to do with each other. They only share a common VideoSource. That would lead me to believe that it would try to encode two different ways if that was the only option. More than likely you'd probably have the vendor select a preferred single codec instead of doing things differently for each user, though that would be pretty neat if it wasn't too resource intensive.
- JoeAltmaier 12y agoTranscoding is expensive, but with VP8, depending on the codec parameters, you can 'strip down' the stream for less-performant clients e.g. phones, while sending the full-fidelity version to other clients. Without decoding, just by dropping certain classes of packets. There is a loss of resolution of course. So anyway that's an option.
- jumpchat 12y agoI just added h264 to jumpchat on ios and android. Say A(iOS) talks to B(Android). They both support h264, they negotiate to use h264. C(chrome) joins. A triangle connection is setup where A will talk to B using h264. A & B will talk to C in VP8. It's kind of taxing on mobile when this happens.
- andreyf 12y ago> Provides multi-party authentication, registration and signaling, which can orchestrate up to 4-way calling using peer to peer mesh topology, across any combination of supported devices. Calls can be video or voice only. Peer to peer mesh topology? Anyone know of further reading on this?
- jc4p 12y ago"up to 4-way calling using peer to peer mesh topology" sounds like fancy names for regular WebRTC connections.
- andreyf 12y agoInteresting. I hadn't realized that WebRTC supported more than two clients talking to each other. My Google-fu is failing me, do you know where I can read up on how the topology of 4 connected callers is orchestrated without a central hub (i.e. how Hangouts does it)? edit: https://www.webrtc-experiment.com/one-to-many-video-broadcasting/#meeting-roomid-e2z2t19l-93haor https://www.webrtc-experiment.com/one-to-many-video-broadcas...
- RobSpectre 12y agoRob from Twilio here - confirming this is an accurate description. Each peer in the conversation has a connection to every other peer.
- andreyf 12y agoIs there any chance of scaling WebRTC any better than that?
- RobSpectre 12y agoAbsolutely - we have a lot of ambition around where we want to take Twilio Video in the future. This is only the first step.
- lucaspiller 12y agoAlthough it's great to see Twilio branching out into this space, with their recent product releases they do seem to be losing focus on their original Twilio Voice product. Compared to other prodividers their prices really aren't conpetitive, but Twiml is so much more flexible and easier to use than VoiceXML. What to do? :/
- RobSpectre 12y agoRob from Twilio here - appreciate the feedback. Have you had an opportunity to check out TaskRouter yet? We released it a few weeks ago - definitely my favorite recent product that works with Twilio Voice: https://www.twilio.com/taskrouter https://www.twilio.com/taskrouter
- jgrowl 12y agoI saw this a while back and then forgot to go back and check it out. This looks interesting. Thanks for posting.
- tjbiddle 12y agoInteresting; however in my opinion I'd redesign that page. Having a lot of the information behind the interactive scrolling will cause it to be lost. Personally, and I know a lot of others, just scroll the page and look for the relevant information in paragraph form. Much easier to digest. This implementation forces me to stay on the page and is a bit frustrating.
- fit2rule 12y agoAnyone know how this compares with icecomm? (http://icecomm.io/ http://icecomm.io/) I was quite impressed with how easy it was to set up icecomm .. are twilio upping the ante here in any way that I should know about?
- skotzko 12y agoWas gonna ask the same — had a really good experience w/ IceComm when I tested it out a few weeks ago
- d4rkfoenix 12y agoAgreed. It was very easy to setup and implement into my web application.
- tommoor 12y agolooks similar, except they provide TURN servers.
- kolencherry 12y agoAre there any plans for Twilio to integrate this with the SIP side of things (e.g. Twilio providing a media server to enable WebRTC clients to communicate with SIP clients and also call out to traditional phone clients?)
- andrewkirk 12y agoI wrote this http://www.siptowebrtc.com/ http://www.siptowebrtc.com/ that uses our SIP interfaces and PSTN to connect to our WebRTC client. I'm going to put the code up on Github after I clean it up but I'd be happy to talk through how it works. andrew at twilio dot com.
- tylerswells 12y agoAlready do... https://www.twilio.com/client https://www.twilio.com/client
- higherpurpose 12y agoIs ORTC still being implemented in the next version of WebRTC? I've read that ORTC needs a greatly simplified implementation (if you forget about all the other legacy stuff in WebRTC, such as support for the phone networks).
- kolencherry 12y agoI believe that ORTC has been added to the WebRTC 1.1 specification.
- pthatcherg 12y agoThere is no WebRTC 1.1 yet. 1.0 isn't even done yet. Once 1.0 is done, then work on 1.1 will start. ORTC maybe be adopted in whole or in parts as 1.1, but the future isn't written yet.
- kolencherry 12y agoGood point. You're correct on both areas.
- pthatcherg 12y agoORTC and WebRTC are separate groups in the W3C. You can think of the ORTC "Community Group" doing more exploratory work on a future version of the API while the WebRTC "Working Group" is finishing the 1.0 version. The work the ORTC Community Group is doing may or may not be adopted by the WebRTC working group as a future version someday, or maybe it will adopt some parts but not all. The currently drafted ORTC API still allows all of the power to the Javascript apps to interoperate with "legacy stuff", but it also allows the JS to bypass most of it. (I'm a member of both the WebRTC Working Group and the ORTC Community Group)
- Everhusk 12y agoIt would be useful to know which browsers are supported for javascript developers. I am using OpenTOK for Real-time WebRTC at the moment which works great, but it doesn't have safari support. Would definitely consider switching if this worked on all browsers!
- kolencherry 12y agoChrome and Firefox are the only browsers supported WITHOUT plugins. Look into the plugin that Temasys makes, which enables support for IE and Safari. It's relatively trivial to write a shim for said plugin. IE will bring native WebRTC support in the next version of IE.
- jumpchat 12y agoWebRTC on Opera works without plugins also.
- bretthellman 12y ago"up to 4-way calling" .. If it said up to 16 that would be more of a game changer.
- matthewaveryusa 12y agoMVP, got to start somewhere right?
- JoeAltmaier 12y agoDoesn't CliqMeet do much of this? But it can go to 100+ because it provides an MCU service (multiplexing node), plus auditorium models as well. Is the difference that this is SaaS, and CliqMeet was an app?
- kolencherry 12y agoCliqMeet is a video conferencing product. Twilio is offering an API to allow you to build your own products with WebRTC functionality built-in.
- dirtyaura 12y agoI did a lot of testing of a few WebRTC platforms last summer for a product idea that we had. I came to the conclusion that on mobile phones, WebRTC video is not yet usable. Even with just audio on a cellular network, call quality started deteriorating after a few minutes on every platform that I tried. Video without a WiFi signal was hopeless. I discussed this with an WebRTC expert, and the problems are partly with WebRTC, partly with how mobile operators shape their data traffic. Also all platform implementations that were considered the best of the breed were bought by mobile chat companies (both SnapChat and OK Hello did acquisitions on this front)
- kevinburke 12y agoLooking forward to hearing more about this on your website, That'll Never Work© News.
- dirtyaura 12y agoIn my humble opinion, your comment is unwarranted. I never said that it will never work. I actually spent several days last summer evaluating and developing prototypes on top of platform APIs (e.g. TokBox, Sinch) and tested the call quality in several different situations (moving from WiFi to 3G, dropping and regaining signal during the call, call behavior while moving in public transport etc.) I described my experience and conclusion, hoping to spark informed discussion of the topic. Your comment didn't add any information to it.
- gz5 12y agoThe issue is mostly due to the nature of the mobile IP, rather than inherent WebRTC variables. However, ORTC does seek to improve with simulcast/SVC, and attributes of ORTC will merge into WebRTC as well, ultimately providing more hooks, finer-grained control and better instrumentation/visibility to the upper layers. All that said, you can do acceptable quality WebRTC voice and video over 4G LTE today. But you do need a rock solid signal and be prepared to with a fully charged battery if you are not plugged in.
- 12y ago
- zk00006 12y agoWould be nice if they support some video tracking capabilities. In the demo video, the arrow pointing to the slot is "asking" to be stack to the slot independent of the camera motion.
- anonbanker 12y agoWebRTC needs p2p for group chat, and it'd be unstoppable. Currently using Hello for one-on-one conferencing, but need something that both scales and doesn't require a centralized server. Considering Skype had this ten years ago, it's obviously doable.
- TD-Linux 12y agoWebRTC already has p2p support for group chat. appear.in is one example of an implementation. The main limitation is that upload bandwidth scales linearly with the number of people in the group chat. But that's often OK for up to 10 or so people.
- tommoor 12y agoThe limit is more like 3 or 4 max. Anything about that and a modern machine starts choking on the video encoding anyway :)
- JoeAltmaier 12y agoI think the OP is correct. The video is encoded only once for all viewers. Its the uplink bandwidth, traditionally a choke point, that holds the practical limit at 3 or 4.
- Animats 12y agoHow available is IPv6 handset to handset connectivity? I understand that T-Mobile offers it, and Verizon can but it's usually disabled. If you have a true peer to peer connection without NAT, more options become possible.
- pthatcherg 12y agoIf you can get a peer-to-peer connection, it's irrelevant whether you're behind a NAT or not. That's what ICE is for: to get a peer-to-peer connection even if you're behind a NAT. Having publicly routable IPv6 addresses may increase the likelihood of getting a peer-to-peer connection, but it's not a prerequisite.
- Animats 12y agoHaving a publicly routable IPv6 address means you don't need some paid service just to get connected.
- jumpchat 12y agoThere goes my project. Back to the drawing board. Haha!
- dskae 12y agoI'm pretty new to using WebRTC, but I was able to implement it really easily using icecomm.io's wrapper. I'd have to look into twilio some more, but icecomm has been more than effective enough.
- gg_hacker 12y agoAgreed. Out of all the WebRTC products I've tried, icecomm.io was the easiest one for me to use.
- talltofu 12y agoAwesome. Will try it soon. What would HN readers recommendfor near zero latency audio only? Our client needs to connect two devices within a LAN (no throughput issue) but near zero latency. We have tried Twilio PSTN, other webrtc technologies but they all have noticeable (half a second) delay from device to device. Any thoughts?
- jaytagdamian 12y agoJust a standard SIP connection?
- joeyspn 12y agoYou could try a SIP client with a low latency codec like CELT...
- talltofu 12y agoThanks for your reply. Do you have any recommendations?
- joeyspn 12y agoYes, jitsi for desktop and if you need mobile, csipsimple is a nice option
- talltofu 12y agoThanks Joeyspn. I am a noob when it comes to SIP and have some specific questions. For example, which of the jitsi product I should be using? If this is not the right place to ask such questions, can we please take this offline? I could totally use your knowledge
- lozf 12y agoTry https://now.source-elements.com/#!/ https://now.source-elements.com/#!/ Voice studios can manage to sync ProTools sessions on opposite sides of the Atlantic to within quarter of a frame, so on LAN it should manage nearer Opus' default of ~20ms.
- aylarov 12y agoWe had this in VoxImplant for a few months already :)
- deleted 12y ago[deleted]
- curiously 12y agocan you use this to build something like twitch.tv?
- joeyspn 12y agoFor twitch.tv clones you're better off researching about streaming media servers... (and cheap bandwidth hosting) http://en.wikipedia.org/wiki/List_of_streaming_media_systems http://en.wikipedia.org/wiki/List_of_streaming_media_systems
- curiously 12y agois there an open source streaming media server? could you host this on digitalocean?
- treme 12y agodamn twilio. building them pipelines.