Will resolve #139. Currently we download the manifests and keys, rewrite them to use the local paths to the keys, and then perform the download using ffmpeg as a subprocess. Specifying different qualities is also supported as it was with DMC delivery. Going to get this merged first before we think about adding no audio/video flags for specificying qualities as we'll need to rewrite file extensions. After that we'll think about finally splitting this up by classes because we have a lot of competing mechanisms now.
Resuming partial downloads and multithreading are not supported due to ffmpeg limitations, so #148 has been opened to achieve more robust support. As a result, we now write partial or in progress downloads to .part files and update to the correct extension when a download is complete. The full extension will be presumed to be a complete download, so this will report incorrectly for any remanining partial downloads out in the wild (and we should really introduce a flag to force overwrites).
Will resolve #139. Currently we download the manifests and keys, rewrite them to use the local paths to the keys, and then perform the download using
ffmpeg
as a subprocess. Specifying different qualities is also supported as it was with DMC delivery. Going to get this merged first before we think about adding no audio/video flags for specificying qualities as we'll need to rewrite file extensions. After that we'll think about finally splitting this up by classes because we have a lot of competing mechanisms now.Resuming partial downloads and multithreading are not supported due to
ffmpeg
limitations, so #148 has been opened to achieve more robust support. As a result, we now write partial or in progress downloads to.part
files and update to the correct extension when a download is complete. The full extension will be presumed to be a complete download, so this will report incorrectly for any remanining partial downloads out in the wild (and we should really introduce a flag to force overwrites).