JohnCoates / Aerial

Apple TV Aerial Screensaver for Mac
MIT License
20.76k stars 1.05k forks source link

RTSP Supprt #1371

Open benjaminbrumbaugh opened 3 weeks ago

benjaminbrumbaugh commented 3 weeks ago

Hi Guillaume, and John,

It looks like support for streaming video once existed, and, if so, I'd like to reinflate it.

My usecase is streaming my garden camera feed to my computer as a screensaver. I want to bring the garden into my office.

This might be slightly different than what was supported before, but I think it could be pretty neat. Could even use the caching feature to save the feed off for timelapsing later. High-res RTSP cameras are quite affordable these days.

Interested in your thoughts. Ben

glouel commented 3 weeks ago

Hi @benjaminbrumbaugh !

So not really. The closest thing it had to streaming is playing a http file from beginning to end, but not cache it on disk. Which is "kinda" streaming but not what you are talking about here.

What you want is fairly different conceptually and will run afoul of a lot of the internals of Aerial (which basically plays video randomly based on some rules). Whether it's via RTSP or some basic http, those don't have a beginning or an end, no finite duration, they just stream endlessly. So it will break most playlist concepts.

Now, I still think it would be super cool to add this in some way or another, because it's been requested. My first thought was that when you setup a feed as a "video", you can either set a duration for it, or there's a setting somewhere for how long to stream them (say 5mins). This would solve the playlist integration, you could either only have one and set its duration super high, or have multiple such cameras that will rotate every X minutes. There would be an equally strong case to make that a separate screensaver, and that's up to you.

Also, any form of interaction is currently banned, so don't expect any.

If you are interested in adding this yourself, let me know and I can give you some pointers on how to get started.

benjaminbrumbaugh commented 3 weeks ago

Thanks for the quick response, Guillaume!I wouldn’t mind trying my hand at a PR based on your feedback, but I’m on the hook for another project at the moment. Maybe we could talk through it though.How does it handle a playlist of size one? I’m thinking there is a case to be made for each stream being another playlist object. It seems like with this approach, one can get all of the different combinations one might want—one stream only, multiple streams with duration switching, or integrated into a diverse list of content. It also still feels appropriate and intuitive, at least to me at this point.On Jun 9, 2024, at 6:47 AM, Guillaume Louel @.***> wrote: Hi @benjaminbrumbaugh ! So not really. The closest thing it had to streaming is playing a http file from beginning to end, but not cache it on disk. Which is "kinda" streaming but not what you are talking about here. What you want is fairly different conceptually and will run afoul of a lot of the internals of Aerial (which basically plays video randomly based on some rules). Whether it's via RTSP or some basic http, those don't have a beginning or an end, no finite duration, they just stream endlessly. So it will break most playlist concepts. Now, I still think it would be super cool to add this in some way or another, because it's been requested. My first thought was that when you setup a feed as a "video", you can either set a duration for it, or there's a setting somewhere for how long to stream them (say 5mins). This would solve the playlist integration, you could either only have one and set its duration super high, or have multiple such cameras that will rotate every X minutes. There would be an equally strong case to make that a separate screensaver, and that's up to you. Also, any form of interaction is currently banned, so don't expect any. If you are interested in adding this yourself, let me know and I can give you some pointers on how to get started.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>