shaka-project / shaka-streamer

A simple config-file based approach to preparing streaming media, based on FFmpeg and Shaka Packager.
https://shaka-project.github.io/shaka-streamer/
Apache License 2.0
198 stars 62 forks source link

Replace gsutil-based CloudNode with local authentication proxies and HTTP output support #47

Open joeyparrish opened 4 years ago

joeyparrish commented 4 years ago

Our Shaka Player History live stream is having an issue during playback in which we get HTTP 403 errors close to the live edge.

The cloud upload node already has logic to avoid this:

  1. Snapshot manifests and playlists
  2. Upload all segments, but no manifests or playlists
  3. Upload snapshots of manifests and playlists

This is meant to make sure we never upload a manifest or playlist which refers to a segment that isn't fully available yet. It doesn't seem to work well enough, though.

It's possible that there's some additional latency between uploading a segment and it being available, and that manifest/playlist uploads might need to be delayed. But that would certainly be in conflict with future low-latency streaming work. It also makes me wonder why the playlists aren't subject to the same latency.

I haven't carefully measured the final segments of the playlists on upload by Streamer & download by Player, so it's possible I'm making some bad assumptions about this issue. A more detailed investigation is needed.

joeyparrish commented 3 years ago

Our current plan is to replace CloudNode with Shaka Packager's recent HTTP upload support and a local authentication proxy.