36 ms·
How to Run a Live Coding Stream on Twitch Using OBS
- ogjunkyard 6y agoI just wanted to thank Jordan Lewis for putting this article together. It gave me enough clues on how to implement the "whiteboard"/telestrator feature I've been trying to casually implement over the past 6-9 months. Even though I have 1,300+ hours streamed on Twitch, this still slipped through my grasp on how to get it implemented for some reason. I was originally trying to implement this functionality by using NDI, but there were a few issues I ran into, namely resolution and framerate, neither of which I was happy about. Something about this article tipped me off to look up using USB to connect the iPad to the PC, which actually led me to setting up the streaming PC as an AirPlay receiver. After I made the switch over to using AirPlay, I had the whiteboard/telestrator functionality working on my OBS setup within 10 minutes.
- roland35 6y agoAre there any line streams of hardware development? I'm getting into Kicad circuit design and it would be good to see how an experienced user works with it!
- keithnz 6y agoI have seen quite a number of hardware/embedded streams, but not a lot lately. Many of the streamers (both hardware and programming) are often new or mid level devs, there's a few super experienced programmers. I like watching Daniel (https://en.wikipedia.org/wiki/Daniel_Stenberg https://en.wikipedia.org/wiki/Daniel_Stenberg), https://www.twitch.tv/curlhacker https://www.twitch.tv/curlhacker who created curl, and pretty much has spent forever working on the project. He streams off and on.
- r32a_ 6y agoI've made a project that you can sell your live stream for btc. totally distributed using hypercore and Lightning network https://github.com/rbndg/Bitstation https://github.com/rbndg/Bitstation
- 65536 6y agoI can barely get 1-2 people to briefly look at my stream, and that’s without attempting to charge them anything at all. And meanwhile even popular people stream for free. Why should anyone pay upfront to watch a stream? Much better with Patreon, Twitch subscriptions and donations while allowing anyone to come see.
- ghj 6y agoWatching good people's work-in-progress and debugging process helped me a lot in getting better myself. This is especially true in competitive programming where everyone is solving the same task! Some competitive programming streamers: William Lin: https://www.youtube.com/channel/UCKuDLsO0Wwef53qdHPjbU2Q https://www.youtube.com/channel/UCKuDLsO0Wwef53qdHPjbU2Q Errichto: https://www.youtube.com/c/Errichto https://www.youtube.com/c/Errichto SecondThread: https://www.youtube.com/channel/UCXbCohpE9IoVQUD2Ifg1d1g https://www.youtube.com/channel/UCXbCohpE9IoVQUD2Ifg1d1g Alex Wice: https://www.youtube.com/channel/UCQmrwIwzEu8MxplJw9EUcAg https://www.youtube.com/channel/UCQmrwIwzEu8MxplJw9EUcAg All youtube links because I do random old contests on leetcode/codeforces and usually at least one of the people above would have a screencast recorded (though unfortunately not always with commentary). Some of them also have twitch.
- xiaodai 6y agoCool. I use streamlabs and I have a much simpler set up for coding challenges. I wish I can make some commands for interacting with users though. Eg. A command for uses to point out mistakes in my code. Here is my stream: https://twitch.tv/evalprase https://twitch.tv/evalprase
- ladyofcode 6y agoThank you for writing this! I'm preparing to stream and I'm swimming in all this new tech I haven't used before - everything is laid out so clearly in the post, it's awesome.
- seastonATccs 6y agoI find twitch to be an unholy amalgamation of a NPR pledge drive and a Las Vegas slot machine.
- numlock86 6y agoWell, truth is, you need to code something "mainstream" to make it even worth it. (read as: have at least like 2 people watching or even just visit your channel once, not including yourself ...) Program some "Unity game prototype", some Java or JavaScript web dev, frontend or backend, put in buzzwords like Postgres and NodeJS and what else is relevant to people right now. You know, Twitch has a specific target audience after all. No one is gonna come for some bootloader programming on a STM32F0 (no vector table offset register after all!) or integration of a secure element from NXP including some crypto basics about ECC because people simply don't care there. There was a twitch-like platform for live coding once, but obviously it flopped.
- o-__-o 6y ago>There was a twitch-like platform for live coding once, but obviously it flopped. I went searching for that exact site and couldn't find it (or maybe I did but regardless it was dead). I actually used it for about 5 maybe 10 minutes once upon a time because I thought the concept was cool. Watch me create a SaaS service on the fly. 3 minutes into it, I'm realizing I'm about to type in public IP addresses, log into secret management systems, pull data out of a CMDB which gives up a bunch of my internal system data... So I thought to only share a single monitor and use my second monitor for privacy related tasks. But then people can't see what I am doing and for long periods of time while i'm gathering CMDB data, no one sees any coding going on. At the end of the 10 minutes, I had about 12 viewers so I'm sure if I was doing somethign worthwhile it would increase a decent clip.. But live coding without planning is a security nightmare. Someone I knew once live coded their programming "homework" for a position they applied to and then shared their coding session with the interviewers. That takes the cake. He was hired on the spot, probably because he wasn't afraid to show his mistakes.
- AlchemistCamp 6y agoThat looks like an Ergodox keyboard! I really want to get one of those... It's not just that they're great ergonomically (which I truly need), but they're also highly programmable. I can imagine how a large set of macros could improve screencasts quite a bit. More related to the article, I've used OBS for nearly all of 150+ screencasts and it's been fantastic. I tend to use Streamlabs OBS for Twitch and the fully open source OBS for all my YouTube videos. The plugin ecosystem is great.
- bzb3 6y ago[deleted]
- zachrip 6y ago1. What does gatekeeping accomplish here? 2. Did you even read the tutorial? It does much more than just "stream your entire screen"
- rel 6y agoThere seems to be quite more to the article than that. Maybe if being critical of everything on the internet, the comment section may not be for you.
- gregorymichael 6y agoIt seems like you've been doing this long enough that you've lost empathy for folks who are getting started. Pretty common for technical folks. OBS is not the most intuitive piece of software. For instance, "Scenes" will be new concept for folks. This was a great guide. Thanks OP for writing it.
- daenz 6y agoDo a lot of programmers feel like they could be effective on a livestream? I might be in a minority, but my preferred coding style is very non-linear and sporadic, and wouldn't make for an enjoyable viewing experience.
- sngz 6y agothis is why most streams you find are front end development based.
- timClicks 6y agoIt's an easy way to do pair programming without needing to arrange for anyone. Explaining your thinking and process is quite helpful. But yes, I've certainly found it slower.
- ffk 6y agoI've seen a few streams of people who are like this, and they seem to do ok. One of the pidgin devs migrated their mercurial repos from bitbucket to their own self-hosted environment, live, on stream. I think the personality of the person has a lot more to do about whether they keep the attention of their viewers. The ones who seem to get things done seem to speak out their internal dialog.
- badtuple 6y agoIt really depends on what I'm doing. If it's something I fundamentally don't know how to do and it requires all my concentration, I don't really do it on stream. But there's plenty that I know how to do but others don't. For example writing a parser/lexer can be interesting, but I generally only have to solve fairly local problems and not large structural ones. Really hard things I _could_ do on stream...but I start to feel like it's too much of me staring really hard silently. I have to wonder how much of that is true and how much of that is personal anxiety. I do enjoy streaming though and should do it more.
- ladyofcode 6y agoNon-linear coding can be enjoyable as long as the streamer is vocalising their thought processes. I'm preparing to code on a livestream and honestly, I've thrown out any notion of being 'effective' out the window; chat engagement means distractions, and while I'm used to that I rather reserve some non-streaming quiet time for deep, focused work.
- BookPage 6y agoI've livestreamed coding before. It turned into a pretty cool multi-peer programming type of environment. I learned a lot from the viewers
- steveklabnik 6y ago... how convenient, I am considering starting a live coding stream soon. Thanks for writing this and posting it! (I have done some speedrunning livestreams, but not coding. Well, not in a Twitch setting anyway, I've done talks with lots of live coding and really enjoyed it.)
- jordanlewis 6y agoGood luck and have fun!
- deleted 6y ago[deleted]
- byefruit 6y agoLove the bokeh on his video feed. Hard to justify a $900 camera for that alone though, anyone using anything else they'd recommend?
- geerlingguy 6y agoI’m testing the Pi HQ camera with a C-Mount Tamron lens that gives similar bokeh for a total cost of around $100... but it is awkward and a little clumsy, and offers no autofocus, so you have to be careful to not move out of the prefocused area. So in other words, it’s easier to just use a good mirrorless camera. I have a similar setup to OP, but I bought a used Sony a6000 and the same lens on sale, so the camera and lens only cost me about $500. You could use the Sony kit lens too, and it would still be a huge upgrade over any webcam.
- agentultra 6y agoI'm using my phone, there's an app that lets you stream from your phone's camera... which is usually better than the dedicated web cams.
- rane 6y agoWhat's the app? Are you saying it allows you to use the phone as a video source in OBS?
- formerly_proven 6y agoiVCam is one of those. They use h.264 with quality equivalent to a video recorded on the phone. Not-so-vague hint from the future: Don't run the Windows-only client on untrusted networks.
- agentultra 6y agoYes, https://obs.camera/ https://obs.camera/
- soylentcola 6y ago
- bdz 6y agoIf you are using Streamlabs for the alerts then why not use it for streaming too? And it's available on Mac aswell https://blog.streamlabs.com/streamlabs-is-live-on-mac-ff543b7f4a35 https://blog.streamlabs.com/streamlabs-is-live-on-mac-ff543b... or https://github.com/stream-labs/streamlabs-obs/ https://github.com/stream-labs/streamlabs-obs/ Personally I like it more than OBS because all the integrated stuff inside the client, it's just a better fork really.
- skinnymuch 6y agoStreamlabs used a ton of cpu usage on my Mac Mini 2014. Even when not being actively used. Made it a no go for me.
- jordanlewis 6y agoI think it's personal preference! I tried this out, but I didn't like it as much. I found it harder to configure, a little clunkier, and so on.
- fcanela 6y agoI would love to know how to do it with Linux/Ubuntu. I tried with OBS and always run into a bunch of issues when trying to create something beyond a basic scene.
- StavrosK 6y agoI'm using OBS on Ubuntu to stream my maker sessions on https://youtube.com/c/StavrosKorokithakis/ https://youtube.com/c/StavrosKorokithakis/ and everything works fine, what problems are you having? PS does anyone know how to get a better channel URL?
- StavrosK 6y agoI use OBS to stream my maker sessions on https://m.youtube.com/c/StavrosKorokithakis/ https://m.youtube.com/c/StavrosKorokithakis/ and it works great. I really like how I can switch between scenes with hotkeys, and it's really easy to set up scenes to look like whatever you want. I'd very much recommend it if you want to stream something. I'd also recommend just getting started, I've been wanting to stream for a while but was always embarrassed that it'd look like crap, but better something that looks like crap than nothing.
- agentultra 6y agoNice to see more! I started doing a live coding stream as well. It's an interesting medium. I still get a bit nervous before I start streaming. I spend time rehearsing what I'm going to say and work on and how I'm going to present it... but I'm finding that is not very sustainable and am doing it more to have a dedicated couple of hours to hack on side projects and share my discoveries and knowledge with folks. The interactive nature of it is neat and not as difficult as I had anticipated it would be but my audience is still only a handful of folks each week. Give a try if you're thinking about it. You don't need pro equipment to get started with live coding. I use my phone for the camera and I pulled out my old 4-track and mic to record audio but it can be done with a headset and a webcam no problem. update: Link to my stream: https://twitch.tv/agentultra https://twitch.tv/agentultra
- mdoliwa 6y agoWhat do you think about running live coding stream on YT vs Twitch? I'm about to start streaming myself, but not sure what platform should I use. Last time I checked Twitch it looked a little bit overwhelming.
- tedyoung 6y agoTwitch is a lot more "discoverable" in that you can easily search for folks who are coding _right now_. I get lots of new viewers this way. For YT, viewers would have to already know who they're looking for and so they're not likely to "stumble" across your stream.
- space-candy 6y agoNot sure of what OS you utilize, but Twitch recently released an app called Studio for Windows/OS X that allows you to very easily stream your desktop to their service.
- mdoliwa 6y agoLinux
- RustomMS 6y agoProbably stream to both simultaneously until you figure out which one works better for you. If you get Twitch affiliate or partner I believe you can stream on both YouTube and Twitch still just not simultaneously, at least that is what I have read. Not sure many big streamers have tried so not sure on the details.
- Uehreka 6y agoI’d love to do a live stream of my coding work with me explaining my process. Even if few/no people watched live, they might make for useful tutorials or at the very least a sort of video journal. My main hitch is that I’m concerned about getting to comfortable and accidentally bringing up a config file that contains secrets, and then once those are streamed they’re out of my control.
- bbeekley 6y agoI believe you can add a delay for what the viewers see, which would give you some time to cut the stream in case any secrets are shown. Else, it's good practice for a secret rotation process :)
- rileyteige 6y agoNot sure what IDE/editors you use.. but a quick search in VS Code's extensions revealed one named "Cloak" that might protect you to your satisfaction?
- ianmcgowan 6y agoI have a problem with diving into rabbit holes and spending more time on "being efficient" than sometimes just doing the work. Two things that have helped are 1) recording a "session" (I use snagit, but any screen recorder that lets you narrate works), where I describe what I'm working on, what the goal is etc. It seems silly, but even if the only person that's going to watch the video is me it somehow helps keep on task. And the video journal aspect is actually interesting. 2) Focusmate.com - this worked for me for a while, but I'm a secret uber-introvert, so I dreaded the introduction part of the process. But telling someone "I want to accomplish X in the next hour" and then having them watching over my shoulder really works. Maybe you should try the live streaming, but just leave out the streaming part? :-)
- nickysielicki 6y agoI love live coding streams. It's my personal opinion that the best programmers are the best debuggers, and that's something that's often language/domain specific and gets significantly more difficult as the codebase grows larger. In other words, it's hard to learn how to debug if you don't already work on a large project or within a certain language. Watching people debug on twitch has definitely changed the way that I approach bughunting. You guys should definitely check out Jordan's stream if you like the idea of watching someone fight the good fight against the dark-side of Go's opinionation.
- dry_soup 6y agoThe "We'll Be Right Back" sound is from The Eric Andre Show. It's usually used to cut right as something really chaotic happens. Here's a very tame example by the standards of the show: https://www.youtube.com/watch?v=SVhme1eb8SI https://www.youtube.com/watch?v=SVhme1eb8SI
- wtallis 6y agoDoes anyone know of a good presentation system that does not consist of compressing raw pixels and sending that to the audience? It's a huge waste of bandwidth that I'd rather see used to provide reliable low-latency audio. I'd love to be able to teach programming in a way that lets the students explore the live state of my working directory and follow along with file edits, but rendered locally on their machines at native resolution and with at least some degree of interactivity. Most collaborative editors I'm aware of are ill-suited for code, or don't seem to work well for more than one file at a time. Ideally, I'd like students to be able to open a read-only view of my entire IDE workspace, but exporting it over a network filesystem isn't quite live enough even with a short auto-save interval.
- tedyoung 6y agoBesides VSCode's LiveShare that was already mentioned, there are several tools that allow folks to collaboratively edit code: Floobits[1] and CodeTogether[2] are a couple that I've used successfully (I'm an IntelliJ IDEA fan, so like to stay in my IDE). [1] https://floobits.com/ https://floobits.com/ [2] https://www.codetogether.com/ https://www.codetogether.com/
- rustyconover 6y agoI think you'd be surprised how efficient video codecs with regards to bandwidth used, nobody sends raw pixels at all. Also with HLS latency can be very short with the right settings. A few tips for coding screencasting: For coding screencasts you should make sure that chroma subsampling isn't enabled when you're doing the encode of the video otherwise it may look worse with highly contrasting areas. Decrease the encoding frame rate if its primarily going to be just a screencast without a lot of motion on the screen. At the expense longer mpeg segments (and more latency) you may want to increase the group-of-picture size. There shouldn't be a reason that the encoded screencast looks worse then how it appeared to you unless the encoder you are using is just mashing the quality down.
- formerly_proven 6y ago> For coding screencasts you should make sure that chroma subsampling isn't enabled when you're doing the encode of the video otherwise it may look worse with highly contrasting areas. What platforms support 4:4:4 video? Youtube, Twitch, Vimeo, ... all don't.
- mrkwse 6y agoJordan was a little vague in terms of how to get the iPad as a source. I know that QuickTime can capture i(Pad)OS devices as an input source so it might be some built in compatibility when the device is connected via lightning/USB, but another route is NDI. [1] NDI is doubly useful as it: 1. is wireless over the local network 2. allows you to use your phone/tablet's camera as a video source, which can be a reasonable webcam stand in (although latency will never be as good, so possibly better as a sort of secondary vanity camera) (3. definitely works on Windows) There are apps on iOS that will share the screen content and camera content and a quick google seems to surface the same for Android. As someone who used to work in TV too, the importance of good lighting cannot be stressed enough. It doesn't have to be expensive, but a reasonable, ideally diffuse source of light will make the biggest improvement to your stream vs an expensive camera (and some webcams may need manual adjustment via OBS to best utilise the available light). [1]: https://obsproject.com/forum/resources/obs-ndi-newtek-ndi%E2%84%A2-integration-into-obs-studio.528/ https://obsproject.com/forum/resources/obs-ndi-newtek-ndi%E2...
- unnouinceput 6y agoYou can run TeamViewer and feed that as source into OBS.
- jordanlewis 6y agoWhoops, you're right that I didn't mention that. Connecting it to your Mac via Lightning makes the screen available as a video source.
- philsnow 6y agoThis is great, thanks for pointing this out; I had jumped through a bunch of hoops trying out various camera streaming setups (RTMP mostly, held off on looking at NDI because I only wanted the additional camera angle for laughs), but I never got the latency under multiple seconds. I saw some people suggesting that wifi was causing the latency so I looked up some lightning->ethernet adapters before coming to my senses. OBS recognized my iphone as a video source with zero configuration, and zero latency (ish? low enough that I can't tell).
- xmprt 6y agoI'd also add a section about editing your OBS layout to include views for Chat and Activity Log. Those have been super useful to me.
- Sodman 6y agoI 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)
- ericzawo 6y agoThanks so much for this guide!!!
- Brushfire 6y agoA much easier option would be to use Lightstream. https://golightstream.com https://golightstream.com.
- icpmacdo 6y agowatch the best in the business do it live currently https://www.twitch.tv/georgehotz https://www.twitch.tv/georgehotz
- tsumnia 6y agoShameless promotion of my own video on setting up OBS; I created this for some of my friends and colleagues when we first started moving to all online teaching: https://www.youtube.com/watch?v=n5KGeiw3KV4 https://www.youtube.com/watch?v=n5KGeiw3KV4 I will note that toward the end of the video on some finer tweaks, my scene was not correctly showing OBS cropping. That said, this article does a great explaining the Twitch integrations. If you aren't looking into Twitch streaming, that portion can be ignored. I've been using OBS for creating lecture videos for years. I use it mostly because when I started, it was one of the only free quality stream capture tools out there and I'd seen a few of the early Twitch streamers using it. Since I was teaching, I wanted to imitate the Khan Academy style drawings. The article uses an iPad, but I've gotten pretty comfortable with GIMP and a small Wacom tablet. My setup (my equipment is a bit old, so it doesn't look like they are still sold): * Samson Meteorite microphone: https://www.trustedreviews.com/reviews/samson-meteorite https://www.trustedreviews.com/reviews/samson-meteorite * Wacom Small Pen Tablet: https://www.amazon.com/Wacom-Intuos-Touch-Tablet-Version/dp/B00EN27U9U https://www.amazon.com/Wacom-Intuos-Touch-Tablet-Version/dp/... * GIMP: https://www.gimp.org/ https://www.gimp.org/ Your two most absolutely crucial components are your sound and your lighting. The sound should get picked up well so the viewer doesn't need to adjust their volume to listen. I know some of my videos have fallen short in this quality because of the mic's positioning. Also, think about your voice and enunciating your words. Since my lectures are public, 20% of my channel's traffic comes from India and Germany. You don't need to necessarily slow your words (like I did when I started), but you want to make sure each word can be heard cleanly. You may not realize you have a hard to understand accent because it just seems natural to you. You can also mitigate this with subtitles (I've used rev.com for ADA compliance). Lighting is the other important aspect because if you are going to stream your face, it needs to look presentable. You don't want the lights shooting directly on your face though because that can wash out you texture and color. Like in the article, you want to bounce your lights off a white surface for a softer illumination. I'd recommend reading some indoor filming techniques to get a good setup, since you are effectively on camera. Likewise, know your eye line. I like to have my camera at just above eye level so when I'm lecturing it looks like I'm talking to my students, rather than looking down/up wherever your webcam is. This was also a tip I gave to a friend last week before he presented at a conference. Acting for the Camera is a nice book you can peruse for small tips like understanding your frame. Finally, you're going to be very clunky when you start, even if you are at extroverted person. You'll need to become comfortable performing in front of the camera no different than in front of a classroom or audience. Here are three videos illustrating this point: [1] One of my first videos https://www.youtube.com/watch?v=PEYOixCgGHg https://www.youtube.com/watch?v=PEYOixCgGHg [2] Literally two months later, notice my increase in cadence https://www.youtube.com/watch?v=ltav5tp43RY https://www.youtube.com/watch?v=ltav5tp43RY [3] Five years later https://www.youtube.com/watch?v=Dggl0fJJ81k https://www.youtube.com/watch?v=Dggl0fJJ81k Once you start, watch some of your videos to see what you think is wrong or weird with them and try to improve.
- ethanwillis 6y agoSo I haven't done any live coding streams in a long time. But I recently recorded a completely unfiltered version of myself coding for a co-worker who is learning to program. I wanted him to see all of the ups and downs. All I did was turn on the recording and just went about my day like I normally do, all cussing and fiddling in my terminal like I normally do. Once you're on for 30 minutes or so you forget you're even recording. It could be interesting to take this approach then "stream" it as well so you can provide feedback to people watching and also laugh at yourself a little bit.
- ethanwillis 6y agoOne thing I wanted to add is that as another commenter mentioned it can be a very "sporadic" activity. But what's interesting is that the craziness of programming really only happens at certain points, then at other points its very focused as everything just sort of falls into place. One thing I was trying to demonstrate to my coworker is that with experience you know where you're probably gonna go from the start but you still have to do all the same mundane bullshit regardless to start :)
- nickjj 6y agoI've done this a few times too and posted those on Youtube. Good times. Streaming could be fun, but if you're streaming something you're actively learning (let's say a new piece of tech while you build something), for me it would be likely 50 minutes of Googling and 10 minutes of coding for every hour. That's how I talk myself out of not streaming because I personally would get bored watching someone Google things endlessly.
- ethanwillis 6y agoYea, I think that's true for us for beginners I realized it might be super valuable. They don't have those skills down and there's usually this perception that if you're a good programmer that you don't run into a lot of the same workflow problems they do. What they really get out of it is, oh okay this person's a human too but they think about the problems they run into in this way, I could do that too and get a little bit faster. And then also they don't discouraged thinking they're total "noobs" I always like to explain, no I'm not a genius I've just been doing this a long time. So anything I have a good answer on? I learned that through fire and didn't just pull it out of my ass lol.
- nickjj 6y agoOne thing that I was surprised not to see in the post was how to deal with editing files that have secrets (such as API keys or email credentials). When I set up OBS, I overlayed a full screen image that says I'm showing something secret which had nothing but a small webcam feed in the bottom right so folks could still see me but not my desktop. It was assigned to a global hotkey toggle of course.
- Kuinox 6y agoPersonally, I would stream on a VM to avoid secret leak. PR you own projects, never put any secret on this VM.
- VikingCoder 6y agoI think the best way to deal with secrets is to not live stream them, at all, ever, in any way. If you have secrets anywhere near your live stream, it's not a question if "if" you will leak them but "when." Don't put yourself in that situation. Work _hard_ to keep yourself out of that situation.
- nickjj 6y agoIt's not always possible to do this. Let's say I live streamed implementing Stripe. There's no way to avoid not showing my test API keys if I'm going to show the end to end process of setting everything up. The best I could do is to roll the keys before I start the stream but this degrades the quality of the stream since it's not from scratch. Of course those keys and anything else that's sensitive would be sitting in an .env file, and I'd also have an .env.example file showing how it's set up without anything sensitive being in there (I do this already in my pre-recorded videos). Even going as far as preventing the real .env file coming up when I fuzzy open files so I don't open it by accident and the contents of that file being ignored from multi-file searches.
- mcny 6y agoMaybe the answer is simpler than that. Rotating a key should never be painful. If you accidentally reveal a key, it should be straightforward to change it (I'm sure your audience will understand if you take a one minute break).
- pengaru 6y agoIt's unlikely I'd ever share livestreams of my coding, but I do think there's value for any craftsman to watch recordings of their work. Programmers have it especially easy in this regard since it doesn't require any cameras/lighting/tripods/line of sight whatever. Just record your desktop for a day and watch it in down time. I think you'll be surprised to see what deficiencies stand out as an observer that you've probably come to just live with due to complacency/habit. It helps prioritize areas to improve, and you can do this iteratively.
- 2bitencryption 6y agotechnical question -- I'm really impressed how OBS is able to abstract the "screen recording" functionality across different OSs (it works the same in Linux, Windows and OSX, with no difference in behavior that I've noticed). How does screen recording work? Is it easy for OBS to just capture the video output buffer and start encoding it, regardless of the OS? Or do different OSs have very different strategies for this? What about hardware-level cursors? (I think that's a thing?)
- genpfault 6y ago> Or do different OSs have very different strategies for this? Yup. Check out their capture "source" plugins: https://github.com/obsproject/obs-studio/tree/master/plugins/linux-capture https://github.com/obsproject/obs-studio/tree/master/plugins... https://github.com/obsproject/obs-studio/tree/master/plugins/mac-capture https://github.com/obsproject/obs-studio/tree/master/plugins... https://github.com/obsproject/obs-studio/tree/master/plugins/win-capture https://github.com/obsproject/obs-studio/tree/master/plugins...
- formerly_proven 6y ago> What about hardware-level cursors? (I think that's a thing?) Software that wants to capture the desktop has to emulate the hardware cursor by getting the current cursor position and bitmap and blit it into its copy of the framebuffer. That's because the hardware cursor doesn't exist in the framebuffer, it's overlaid by the GPU during readout. For the same reason screen-effects like "nightlight" don't affect the cursor in Windows, because the effect is applied as a shader, which can't touch the cursor. They could fix this by updating the cursor bitmap, but they don't.
- almog 6y agoAudio-input-wise, I fail to understand why anyone whose objective is to capture their own voice, would choose a condenser over a dynamic microphone. Dynamic microphone hardly those fan/AC/room nearby phone calls that the author had to reduce using software filters. Farther more, dynamic mics can deliver your voice with a touch of radiophonic note. What's more, they're usually more durable and cost less (you can get a very good dynamic mic like ATR2100 or Q2U for less than $100).
- formerly_proven 6y agoYeah, your average side-address condenser really is not a good choice for livestreaming at all. Even the good ol' SM58 or its Made-in-China competitor, the AKG D5 are going to perform much better in terms of background rejection, and are obviously a lot cheaper.
- geerlingguy 6y agoGetting a good level out of a solid dynamic mic requires a good pre-amp as well as (often) a signal booster like the Cloud Lifter or Cathedral Pipes. It’s a more expensive setup overall, but it does make for a much richer ‘radio’ sound if that’s what you’re after.
- formerly_proven 6y agoNo, the pre-amps of even cheap interfaces (e.g. Behringer UMC series) are good enough for voice-overs with a dynamic mic.
- almog 6y agoThe mics I mentioned have an internal pre-amp. Sure you can get even louder signal using external one, but they provide enough gain for one person speaking few inches from the mic.
- almog 6y agoThinking about it a bit more, perhaps one reason to a condenser in this scenario is to easily hide the mic from the video. It's doable with a well a dynamic mic and some composition work too though.
- cdelsolar 6y agoI've streamed coding a few times on Twitch at my channel (14domino). My setup is much more similar to my coding setup so the font can definitely look small. Does anyone know a good way to advertise coding streams in general? I mostly get 2-3 viewers who are already my friends, and I doubt they're very engaged, but I do like streaming coding and would love it if people could learn something out of it. :)
- andrewzah 6y agoYoutube videos. You need to have a youtube channel and put up videos for people to discover if you want to grow. With twitch alone it's easy to get lost among the other streamers, and I'm not necessarily going to dig through VODs either. Putting a condensed version of your stream to a youtube playlist and having links to your twitch will help a lot.
- corobo 6y agoI believe code streamers need to bring their own audience from some other thing. It's not what you want to hear, but it is what I've seen.
- tedyoung 6y agoWhile that can help, it's not necessary. What is necessary is increasing the amount and/or consistency of time streaming (sticking to a solid schedule really helps) and always be talking and interacting with chat. It may take many months to build up an audience, but you can do it.
- corobo 6y agoOk but everyone that says that pulls tiny numbers
- WorldMaker 6y agoIt should be much like any other sort of marketing effort. Seek out some marketing books. Maybe pay a social media marketer to do some marketing for you if you don't feel you have the necessary skills or can't pick them up fast enough. There's also good old fashioned networking, too. Find social coders with a similar style to you (and a reasonable audience) that you could be friends with / mesh well with. Try to make friends with them. Try to do streams after their regularly scheduled streams and encourage them to send their active audience along to your channel when they are done for the day. (That's what Twitch Raids are; Twitch built an entire viral networking tool for that.)
- Kaze404 6y agoFor the people on Linux using ultrawides, I recomment Xephyr at 1080p. You can put whatever you want to stream in there, and still have the real estate of the rest of your screen. It's super nice :)
- rubatuga 6y agoIf you’re looking to bring HDMI content into OBS easily and cheaply, check out my review on the $15 HDMI capture card that recently made the rounds here on Hacker News. Essentially this card has a native resolution of 1280x720, which is a good target if you’re trying to make text legible. https://www.naut.ca/blog/2020/07/09/cheap-hdmi-capture-card-review/ https://www.naut.ca/blog/2020/07/09/cheap-hdmi-capture-card-...
- voltagex_ 6y agoHey, I can't link to it right now but there's a couple of Twitter threads about that card and some true USB3 1080p capable ones - they're about $50AUD on AliExpress. I still wonder why the manufacturer or seller filed off the names of the chips.