Commit Graph

9 Commits

Author SHA1 Message Date
Cameron Cordes
1c7e54d355 Make playlist generation async
This should allow other requests to be answered while we wait for ffmpeg
to do its thing.
2021-02-27 11:53:29 -05:00
Cameron Cordes
f9983240df Use log crate for logging instead of println
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2021-02-24 21:26:11 -05:00
Cameron Cordes
11d1e9600a Use an Actor for the Stream watching
All checks were successful
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2021-02-11 20:39:07 -05:00
Cameron Cordes
b595bdd642 Add VideoStreamManager for keeping track of active streams
The stream manager should help prevent zombie processes and can later be
used for stopping video streams if the user exits the video before
finishing for example.
2021-02-09 21:30:27 -05:00
Cameron Cordes
e4c23c0fe5 Improve video streaming speed
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Instead of waiting for an entire video to stream, we spawn a child
ffmpeg process to start generating the HLS playlist, and once it creates
the first part of the playlist we return the response so the client can
start streaming almost immediately. HTTP Live streaming can handle
playlist updates after the initial playlist is created, although I don't
think the user can skip to the end and skip streaming parts of the
video.
2021-02-08 19:46:38 -05:00
Cameron Cordes
7dbd93cedc Generate mp4 thumbnails 2020-07-16 21:24:10 -04:00
Cameron Cordes
7d369aab5c Generate thumbnails before API starts up
Clients can now request a thumbnail by specifying a size on the image
request.
2020-07-15 12:06:50 -04:00
Cameron Cordes
ca761f605b Check and use correct paths for generating HLS playlist
This also should prevent generating the playlist if it already exists
and uses a better ffmpeg command for transcoding the video.
2020-07-14 15:45:10 -04:00
Cameron Cordes
c39bf970be Generating a HLS playlist through ffmpeg
I might be able to streamline the requests to cut down on the endpoints.
This also will likely take some time if the file is large and could time
out, that may be a concern for another day.
2020-07-13 22:39:00 -04:00