Breaking: YAML config `ip_view_expiration` is renamed `view_expiration`
Breaking: Views are taken into account after 10 seconds instead of 30
seconds (can be changed in YAML config)
Purpose of this commit is to get closer to other video platforms where
some platforms count views on play (mux, vimeo) or others use a very low
delay (instagram, tiktok)
We also want to improve the viewer identification, where we no longer
use the IP but the `sessionId` generated by the web browser. Multiple
viewers behind a NAT can now be able to be identified as independent
viewers (this method is also used by vimeo or mux)
* 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.)