URI: 
        _______               __                   _______
       |   |   |.---.-..----.|  |--..-----..----. |    |  |.-----..--.--.--..-----.
       |       ||  _  ||  __||    < |  -__||   _| |       ||  -__||  |  |  ||__ --|
       |___|___||___._||____||__|__||_____||__|   |__|____||_____||________||_____|
                                                             on Gopher (inofficial)
  HTML Visit Hacker News on the Web
       
       
       COMMENT PAGE FOR:
  HTML   Show HN: MacOS Live Screensaver – A screensaver that plays live video streams
       
       
        Lucian6 wrote 21 hours 23 min ago:
        Interesting approach using AVFoundation for the video playback. I've
        worked with streaming video on macOS and found that AVPlayer can be
        quite memory-hungry when handling multiple streams. Have you considered
        using VLCKit instead? In our testing, VLCKit used about 40% less memory
        and handled network interruptions more gracefully.
        
        One potential enhancement would be to add support for adaptive bitrate
        streaming (HLS/DASH). Most live streams nowadays offer multiple quality
        levels, and automatically switching based on available bandwidth/CPU
        makes a big difference in reliability. The
        AVPlayerItem.preferredPeakBitRate property gives you basic control, but
        implementing a full ABR solution with VLCKit gives much finer-grained
        control over quality transitions.
        
        Also curious about your strategy for handling screen sleep/wake cycles.
        We found that AVPlayer instances sometimes get stuck in a bad state
        after sleep, requiring a full teardown and reinit. Using notification
        observers for NSWorkspaceDidWakeNotification helped catch and recover
        from these cases.
       
        billsunshine wrote 1 day ago:
        this is so cool, congrats, im a product manager turned vibe coder so im
        way into this. nice job, ill be tracking!
       
        hackernewds wrote 1 day ago:
        We have become so wasteful with energy. at a mass scale this will
        consume a lot of electricity but we only think of dollar cost now
       
        cwizou wrote 1 day ago:
        That's super cool, congrats on releasing it ! It's a feature that some
        people periodically ask me to add in Aerial, but I never got to it.
        Piping from yt-dlp to AVFoundation is definitely the way to go.
        
        I was gonna warn you about a bug in macOS 15+ where your screensaver
        stays around after you go back to the desktop, but for some reason your
        code seems to avoid that issue. I'm not quite sure how, as you don't
        hook stopAnimation or any event apart from the deinit. But it works,
        so, massive kudos, I'll have to try and understand why !
       
          hauxir wrote 1 day ago:
          interesting you pointed that out because i ran into that exact
          problem!
          
          look at the animateoneframe function, there's the workaround
       
            cwizou wrote 1 day ago:
            So fyi, the way you hook it there is what makes the preview flicker
            in System Settings.
            
            You check if the screen is locked, and if not, kill the host. But
            screen is not locked in System Settings. So basically, you're
            killing the host process every 2 seconds (and macOS, at least in
            Tahoe, restarts it, it doesn't in previous macOS versions).
            
            That's also what causes your issues with "Options" not working
            (because you killed the instance that was linked to that button).
            The way we workaround it usually is to hook a system event.
            
            You can check [1] Look for handleWillStopNotification and
            com.apple.screensaver.willstop
            
  HTML      [1]: https://github.com/AerialScreensaver/ScreenSaverMinimal
       
            cwizou wrote 1 day ago:
            Ha, you do the exit trick too then, I just missed it.
            
            FYI that works 99% of the time, but for some people it sometimes
            crashes (because we exit our host container -
            legacyScreenSaver.appex - and sometimes if you do it at a wrong
            time things just hang).
       
        aerostable_slug wrote 1 day ago:
        Nice work!
        
        Excellent, advertising-free live streams to choose from here: [1] I
        often turn on the kelp forest (sound muted) as a pleasing backdrop on
        my living room TV, but they're all pretty neat.
        
  HTML  [1]: https://www.youtube.com/@MontereyBayAquarium/streams
       
          Lammy wrote 22 hours 5 min ago:
          Getting my daily dose of Kensington Ave, Philadelphia or Skid Row,
          Los Angeles every time I come back from the restroom:
          
          - [1] -
          
  HTML    [1]: https://www.youtube.com/watch?v=V8mIPhfrMug
  HTML    [2]: https://www.youtube.com/watch?v=PnpcdnZhztI
       
        dfedbeef wrote 1 day ago:
        Finally, a screen saver with ads
       
          grimgrin wrote 1 day ago:
          bring your own http live stream
       
        t1234s wrote 1 day ago:
        Does anyone still use screensavers? I have set my machines to turn off
        the screen as soon as that was an available option.
       
          dylan604 wrote 1 day ago:
          It's still a habit of mine. I have 2 external monitors on my desk
          connected to my laptop. One of them is a bit older LCD, but still
          functions well for purpose. It has a fun little quirk where when it
          first turns on there are a few vertical lines of a solid color until
          it has "warmed up" and the lines disappear after a few minutes. By
          using a screen saver when I get up and lock the screen, I don't have
          to wait for that screen to warm back up. At night, it does eventually
          turn off the screen saver after my timeout, but at least it's not
          every time I return to the desk.
          
          Also, from a time long ago in a galaxy far away where we had
          production CRTs that were color calibrated, we would not turn them
          off either. They had a saver mode as well by running a not quite
          black signal to them, but not enough to burn in phosphors. It was
          even meant to "even" out some of them.
          
          So because I'm that old that has used CRTs for such a long part of my
          life, screen savers will always be just part of the routine.
       
          macNchz wrote 1 day ago:
          As much as I disliked open plan offices, I did enjoy trolling my
          coworkers with fake blue screen of death and kernel panic
          screensavers. Windows 95 "Pipes" also got a lot of nostalgic
          shoutouts when I used that for a while.
       
            t1234s wrote 1 day ago:
            Pipes and the other direct3D screen savers were legit
       
          ge96 wrote 1 day ago:
          I like the newest mac update shore video, Tahoe I think with the
          liquid glass
       
          grimgrin wrote 1 day ago:
          it's a combination of people seeking aesthetic (imo), and naturally,
          preventing an oled, plasma, or crt from burn-in
       
            c-hendricks wrote 1 day ago:
            If the screen is off, what's to burn in?
       
              grimgrin wrote 1 day ago:
              nothing because that is a screen saver. but yeah you're right,
              it's probably mostly people who just want to see a visualization?
              i'd never argue screensavers are a logical choice lol
       
        grimgrin wrote 1 day ago:
        this is cool. i love shit like this
        
        idk if any of y'all ever used [1] but I was a big fan. such that i now
        have my own process of keeping my wallpaper updated w/ various city
        webcams. throw in some noise/desaturation and you've got an _aesthetic_
        
        anyway, this is about a screensaver not a wallpaper and i think there
        is cool potential with video streams as screensavers
        
  HTML  [1]: https://satelliteeyes.tomtaylor.co.uk/
       
        losthobbies wrote 1 day ago:
        I will be streaming a certain watering hole in Namibia.
       
        its-kostya wrote 1 day ago:
        > Disclaimer: This project was entirely vibe-coded. I've never written
        Swift before in my life
        
        Something I've wondered - but not had much empirical evidence for - is
        if entirely vibe-coded projects are difficult to maintain. I, too,
        don't know swift so I cannot look over the codebase to gauge this. I am
        curious if any swift savants out there can weigh in.
        
        Furthermore, I will follow the project and keep an eye out for
        patches/discussions and try to discern any friction and/or loss in
        momentum because it is difficult to work with (e.g. more bug/feature
        tickets than PRs, etc.). I am aware it might fizzle out on its own,
        irrespective of the quality of the codebase. This will be a curious
        exercise for me. This may be my first empirical data on this topic -
        sadly on vibe-coded & maintainability, not the project itself.
       
          diob wrote 1 day ago:
          I think they're just as maintainable as any other legacy app you
          might encounter.  As in, it can be hard.  But it's doable.  And it
          depends on the team that made it (AI + the human).
       
          grimgrin wrote 1 day ago:
          this is kinda inline with what you're asking i think? [1] for me it's
          working on a thing, and then linting, type checking, running tests.
          and even then thoughtfulness still required
          
  HTML    [1]: https://simonwillison.net/2025/Oct/7/vibe-engineering/
       
          Someone wrote 1 day ago:
          > is if entirely vibe-coded projects are difficult to maintain
          
          Vibe coding is too “Hail Mary” to me, but if you’re into it, I
          would think the best way to do that is by giving a LLM the git
          history of the project with each commit contain the prompt that
          created it and, if a human tweaked things, requiring that human to
          provide a good commit comment.
          
          Then, you could give a LLM the git repo, instructions on what change
          you want to see, and have it create the next commit.
       
            dylan604 wrote 1 day ago:
            > requiring that human to provide a good commit comment.
            
            Is this enough? Personally, I have a what very well may be a bad
            habit of mine that doesn't necessarily check git commit messages.
            When I'm working in a code base, I just never think about scrolling
            through those hoping to find where this bit of code was changed.
            I'd much rather have comments in the code itself. It seems better
            to me to save the maintainer time and effort. Maybe I've just taken
            too seriously the idea of "assume the maintainer after you will be
            a serial killer that knows where you live. don't make them angry by
            being lazy"
       
          reaperducer wrote 1 day ago:
          I wonder if certain languages are easier to vibe code than others.
          
          My supposition is that the better documented a language, the easier
          it would be for the LLMs.
          
          Or is it the opposite: The more obtuse a language, the more
          StackOverflow questions, the easier it is for LLMs to work with.
       
            its-kostya wrote 1 day ago:
            I've had success vibe-coding things that, I would imagine, make up
            more of the training dataset - more common. When I try to do more
            specific Linux systems programming it is pretty trash, especially
            with newer languages.
       
          hauxir wrote 1 day ago:
          They most definitely are.
          
          However this project is so simple it's more akin to a script. Really
          not that hard to grasp despite not knowing swift.
          
          Also vibe coded an android tv version and used this codebase as input
          ;)
          
  HTML    [1]: https://github.com/hauxir/androidtv-live-screensaver
       
            runjake wrote 1 day ago:
            Indeed I was able to read through it's 555 lines in about 4-5
            minutes. Nothing seems too ghastly -- it's a pretty good vibe
            coding job.
       
        MontagFTB wrote 1 day ago:
        How’d they get Claude listed as one of the contributors? Is that due
        to changes coming in to the repo from a Claude/github integration?
       
          hackernewds wrote 1 day ago:
          if you read the article, it says it is entirely vibecoded
       
          hauxir wrote 1 day ago:
          it's just claude code commiting and pushing for me because i'm lazy
       
            threecheese wrote 1 day ago:
            Not lazy! This should be a requirement, so future “us” can
            discern authorship - just like any developer.
       
              hrimfaxi wrote 1 day ago:
              It will probably go the opposite way though in the future. People
              will list when AI wasn't used in the loop, like how "sent from my
              iphone" was both a status signal and a request for leniency when
              it comes to spellcheck.
       
        cnr wrote 1 day ago:
        Does it really save the screen? ;P
       
          hauxir wrote 1 day ago:
          Is that really the point anymore :D?
       
            nothrabannosir wrote 1 day ago:
            With oled it is, yes
       
        rollcat wrote 1 day ago:
        AVFoundation is pretty cool. You can whip out a simple audio/video
        player in a couple dozen lines of code. It was one of my first macOS
        apps/prototypes.
       
        hauxir wrote 4 days ago:
        Or any live stream on youtube for that matter, surprised this didn't
        exist before!
       
       
   DIR <- back to front page