UNPKG

liberate-me

Version:
40 lines 2.39 kB
{ "id": "530dcd1c1c02d32f0e472416", "checkItemStates": [], "closed": false, "dateLastActivity": "2014-03-17T23:15:42.732Z", "desc": "In order to achieve the best user experience while recording video and audio, we have to be as close as possible to the audio standards of maximum 10ms latency of audio (and thus video).\n\nWe're doing live streaming from GoPro cameras (using HTTP Live Streaming Apple protocol) to the backend, which is processed with GStreamer.\n\nTo avoid transcoding cost of time, we're looking for a solution to stream H264/AAC to the web frontend (chromium).\n\nCandidates:\n\n- [MPEG-DASH](http://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP): Protocol for streaming chunks of video to the browser.\n\n Pros:\n - Easy to implement with GStreamer 1.3 (development version)\n - Handles multiple streams (audio/audio)\n Cons:\n - Not optimized for low latency\n - Complex protocol (not sure if GStreamer addons support features we need)\n\n- [WebRTC](http://en.wikipedia.org/wiki/WebRTC) protocol for sharing data between browsers\n\n Pros:\n - Built in mind for multiple sources\n - Low latency (some sources say we could achieve just a few miliseconds of delay)\n\n Cons:\n - Incomplete and undocumented GStreamer plugin `webrtcbin`\n - Requires C knowledge\n\n- [Flash + RTMP](http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol)\n\n Pros:\n - Streaming is easy on GStreamer side\n\n Cons:\n - Flash usage (!)\n - Lots of potential problems on the frontend", "descData": { "emoji": {} }, "idBoard": "52ed1fbd3f38ee10617de2c4", "idList": "52ed1fbd3f38ee10617de2c7", "idMembersVoted": [], "idShort": 18, "idAttachmentCover": null, "manualCoverAttachment": false, "name": "Low latency streaming to the frontend (research)", "pos": 95999.609375, "shortLink": "SNfq0OOV", "badges": { "votes": 0, "viewingMemberVoted": false, "subscribed": true, "fogbugz": "", "checkItems": 0, "checkItemsChecked": 0, "comments": 1, "attachments": 0, "description": true, "due": null }, "due": null, "idChecklists": [], "idMembers": [ "50b41672d236ddc70d00e47f" ], "labels": [], "shortUrl": "https://trello.com/c/SNfq0OOV", "subscribed": true, "url": "https://trello.com/c/SNfq0OOV/18-low-latency-streaming-to-the-frontend-research" }