3 ms·
I love live coding streams but I don't understand why you'd stream a video of your keyboard at all times? From the screenshots it doesn't look like you'd be abl
by Sodman 6y ago
I love live coding streams but I don't understand why you'd stream a video of your keyboard at all times? From the screenshots it doesn't look like you'd be able to pick up on things like hotkeys when watching in real-time, but as mentioned in the article it does open the possibility for somebody to watch replays and figure out your passwords.
Keyboard cameras make sense to me if somebody is streaming eg starcraft where they're hitting 300 APM and it's impressive to watch, but I just don't see the appeal of it for coding.
- jordanlewis 6y agoIt's a totally impractical, goofy thing - just for fun!
- DiabloD3 6y agoTechnically this is still kind of the best way of doing it. Guy who wrote this article made a mistake, his keyframe interval is set to 0, which tells his encoder its free to do scene detection... however, he's exploiting the nature of the encoder (the scene never changes, as its a static image) to create extremely large GOPs, but not as big as manually setting it can go. Twitch, as do other platforms, have recommendations, but they'll ingest pretty much anything you give them. This means, you can send them 15fps or lower with a ridiculously huge keyframe interval of 10 or more (Twitch recommends 2, 1 is a saner choice for low latency usage, 10 is still gives you enough ability to interact with viewers). I've toyed with code/static optimized streams, and using x264 instead of HW encoding on a Nvidia Turing (currently the best HW encoder), and playing with custom args: -refs 16, -qmin above 10, -keyint_min set to keyframe interval * framerate (allows 1 I frame per GOP, the rest of the GOP could be near-zero bandwidth P frames), and -tune stillimage (which sets lesser known options which sorta helped here). Static views of an IDE would use extremely little bandwidth. You'd be optimizing for the IDE view part of a stream, not the stream of you, which would be in a corner of the screen.
- voltagex_ 6y agoI haven't had a chance to play with Turing NVENC yet - how much of a real step up from Pascal is it? How does it compare to x264 veryslow quality wise (I know it'll beat x264 in realtime encoding, but I'm more interested in archival)
- DiabloD3 6y agoIts equivalent to x264 medium when using "quality" or "low latency quality. "High quality" just enables two pass on top of quality, which doesn't get it out of medium, but improves the bit distribution similarly to how two pass in x264 does. All the gens of GCN through RDNA1 are on the spectrum of veryfast to fast, Pascal is fast; RDNA2 (due to inclusion in PS5 and XB2) meets Turing's new bar for quality (so no more low quality console streams on Twitch). So, none of them compare to veryslow. Ampere will probably have a better encoder than Turing, but I think the fair comparison will still be against medium, not slow. The big change, afiact, will be work on h265, h264 for them is pretty much as good as they need.
- jordanlewis 6y agoHuh, thanks for the info here. I don't really understand keyframe intervals. What's a good recommendation for a stream that's mostly static? Thanks!
- DiabloD3 6y agoKeyframe intervals in OBS are just "keyframe per x seconds"; x264 itself exposes this as keyframe x frames. As I said in my comment, a keyframe interval of 10 is doable. Don't be afraid of trying large values to see what they do.