Allows:
* The HLS player to propose an "Audio only" resolution
* The live to output an "Audio only" resolution
* The live to ingest and output an "Audio only" stream
This feature is under a config for VOD videos and is enabled by default for lives
In the future we can imagine:
* To propose multiple audio streams for a specific video
* To ingest an audio only VOD and just output an audio only "video"
(the player would play the audio file and PeerTube would not
generate additional resolutions)
This commit introduce a new way to download videos:
* Add "/download/videos/generate/:videoId" endpoint where PeerTube can
mux an audio only and a video only file to a mp4 container
* The download client modal introduces a new default panel where the
user can choose resolutions it wants to download
* testing not removing old file and adding columb to db
* implement feature
* remove unnecessary config changes
* use only keptOriginalFileName, change keptOriginalFileName to keptOriginalFilename for consistency with with videoFile table, slight refactor with basename()
* save original video files to dedicated directory original-video-files
* begin implementing object storage (bucket) support
---------
Co-authored-by: chagai.friedlander <chagai.friedlander@fairkom.eu>
Co-authored-by: Ian <ian.kraft@hotmail.com>
Co-authored-by: Chocobozzz <me@florianbigard.com>
* Split methods in multiple classes
* Add JSONLD tags in embed too
* Index embeds but use a canonical URL tag (targeting the watch page)
* Remote objects don't include a canonical URL tag anymore. Instead we
forbid indexation
* Canonical URLs now use the official short URL (/w/, /w/p, /a, /c
etc.)