I'm wondering if any of the geniuses here on the BBS might be able to help with this one.
I've posted this issue in the YouTube community forum already, and I'm hoping someone there can help me, but I'm guessing that the answer is going to come back "that's just the way it works" and I'm going to have to invent my own workaround. So I'm looking to you guys for help with the workaround.
I have a YouTube live
stream where we feed birds on the back porch. My girlfriend
loves the local crows and feeds them at home and at her day job. They're highly intelligent, very playful, and recognize her
by her face. She asked me to set this camera up for her. The camera stream automatically begins every morning at about sunrise and then we put out food for the birds. Then the stream ends every evening around sunset. So the stream lasts for the daylight hours of a single day, each day. I'm currently using my Synology NAS as the source for the stream, using its security camera feature to manage the camera and the live stream. I use a Bash script to control when the camera turns on and off based on the time of year and the position of the sun, and even to restart the stream after a network interruption, if one occurs (works around an existing bug in the Synology).
I'm at the point where I'm debating whether to continue to improve this thing (better camera, better mounting, better stream quality, better system for feeding the birds so the seagulls can't get any of the crows' food, more improvements to the Bash script, etc.), or to give up entirely and take it down, because it's not working the way we want it to work.
Here's the problem description:
Normally when viewing a YouTube live stream, you can scroll backwards in the timeline by approximately four hours and see things that have happened during the day.
However there is a problem: If no one else is watching the channel, this "scroll backwards in the timeline" does not work for the times when no one is watching. There is a gap in the timeline whenever no one is watching the stream. I can tell this is happening because the webcam has a timestamp on the screen, so I can clearly see the gaps in the timeline. Here is a specific example:
- Stream starts at 7am.
- Put out food for the birds around 8-ish AM and leave the house for our day jobs.
- At noon, during the day at my desk at my day job, I open up the live stream and look at it.
- If no one else has been watching the live stream, it will show the following in its scrollback history: Approximately one hour of visible history will exist from about 7am to about 8am. Then there is a "jump" in the history, and the timestamp on the webcam video feed skips from about 7am to about noon, and the visible history resumes at noon, which is the time when I started watching the stream from my desk at my day job.
- This problem is only visible in the live stream during that day. If you later go back and look at the video archive of the prior day's stream, the whole thing is there. So I know that the problem is only with the "Live DVR" type functionality, it is not with the upstream video feed (since the whole thing appears in the archive).
In other words, the YouTube scrollback DVR-history of the live stream only activates when people are watching the stream. It shuts down after a while if no one is watching it.
I want myself, and, anyone else tuning into the stream, to be able to scroll back in the stream and see what has happened during the time period from 8am to Noon, but that is not always possible. The reason this is important is that most of the actual activity happens in that range of 8am to Noon, and that's the part that's usually getting dropped. For example, today the dishes got put out around 8am and all the food was gone by Noon, and the stream literally jumps over the entire time that the dishes were out and had food in them. The stream shows an empty table from 7am (approx sunrise) to 8am (before the food gets put out), then jumps to Noon where empty dishes magically appear because the food has already been eaten.
Okay, so that's the problem statement. Assuming that I don't get any solution from YouTube about this, I'm looking for a good work-around that I can implement.
Some things I have tried so far:
- Changing all the stream quality and latency settings, including those on the camera, those in the Synology, and those on the YouTube channel. No alteration of the problem with any of these changes.
- Deliberately bouncing the stream in the middle of the day at solar Noon. This is actually worse since it splits the stream and there's no scrollback at all after the split point. If you tune into the the live stream prior to the split point, the same problem occurs anyway.
- The most ambitious thing I have tried so far: I have tried using the Bash script on my Synology to pretend that it's a viewer of the stream; the Bash script performs a "Wget" on the streaming page at one-minute-intervals. This does not fix the problem, most likely because Wget only loads the page's HTML and doesn't actually engage the video stream at all.
I'm wondering if any of you know a secret trick where I could use Wget to figure out how to engage the feature that makes YouTube think it's really watching the stream itself as opposed to just loading the parent web page. Or something similar. Or perhaps some other idea I haven't thought of.
Any ideas?