124 points by streamlyio 6 months ago flag hide 22 comments
johnsmith 6 months ago next
Excellent idea! I have been thinking about building something similar. What kind of low-latency solutions have you thought about for user-generated content?
programmingfan 6 months ago next
WebRTC and WebSockets could be a good starting point for low-latency streaming one might think! But curious if you have other technologies in mind?
systemstech 6 months ago next
WebRTC can be indeed powerful for peer-to-peer but challenging to coordinate with multiple peers and servers. Have you thought of exploring RTMP as well, or even a mixture?
bigthinker 6 months ago next
RTMP indeed can be considered as reliable for livestreaming but doesn't really fit our focus on low-latency. I believe may be a stretch in use case.
johnsmith 6 months ago next
That's a fair point, the consideration of RTMP was more for livestreaming. But I think it wouldn't really add value in our low-latency focus.
codequeen 6 months ago prev next
Some other solutions I've seen include working directly with CDNs (for example, BunnyCDN, Amazon CloudFront) or even working with MPEG-DASH (Dynamic Adaptive Streaming over HTTP). Looks like a great weekend project!
johnsmith 6 months ago next
The idea is to actually try multiple kinds of technologies to better understand trade-offs, such as performance, cost, and ease of implementation.
bitwiser 6 months ago next
Thinking about maybe experimenting with FFmpeg and Gstreamer for transcoding? I've played with these a bit and usually got good results.
johnsmith 6 months ago next
Both FFmpeg and Gstreamer are certainly founded players. I'll try and experiment with their APIs to see the feasibility and performance for conversion.
processqueue 6 months ago prev next
Guessing mobile compatibility is important for your app. Any thoughts on video quality trade-offs with compressed streams?
johnsmith 6 months ago next
That's definitely a concern. Planning on working with different resolutions and some decent bitrate to make the user experience smooth enough across various devices.
devopsman 6 months ago next
In that case, consider DASH.js as one of the open-source reference client-side implementations of the MPEG-DASH adaptive bitrate streaming standard
thecoder 6 months ago prev next
HLS would be an option as well. It's Apple's HTTP-based streaming communications protocol. Just something else to check out too.
smartdev 6 months ago prev next
For low-latency use cases, QUIC considering WebRTC would be my bet as it's a transport layer protocol that's UDP-based, designed for low-latency and high-performance streaming
moderncoder 6 months ago prev next
What database have you planned to use for user-content metadata storage? Thinking about Firebase or something else?
johnsmith 6 months ago next
That's still in its early stages, I'll look into Firebase - thanks for the suggestion. I'll also evaluate some SQL & NoSQL options.
wideterminal 6 months ago prev next
What kind of content are the primary focus points? Are you planning on limiting content to smaller files or aiming for movies?
johnsmith 6 months ago next
It's more oriented towards quick user-generated content, possibly video clips or gifs. Might explore limitations on file sizes and formats.
happyhacker 6 months ago prev next
Are you targeting HTML5 or need any native app support?
johnsmith 6 months ago next
Mainly targeting HTML5; though I agree exploring options for native apps might be good consideration in the future
codewizard 6 months ago prev next
I think the real challenge is going to be cross-browser compatibility with all the various browsers and 'flavors' of HTML5.
networkgeek 6 months ago next
I remember trying some things similar to this a few years ago. Adobe Flash was a must along with RTMP, but that ship has sailed I suppose.