Commit Graph

627 Commits

Author SHA1 Message Date
Chocobozzz
9d8ef212ff Fix broken dep 2022-02-09 17:48:15 +01:00
Chocobozzz
c9f27d9881 Update server dependencies 2022-02-09 13:51:24 +01:00
Chocobozzz
cd8f207a8e Case insensitive search on tags 2022-02-03 10:24:48 +01:00
Chocobozzz
d511df2890 Add ability to filter my imports by target URL 2022-01-19 14:58:16 +01:00
Chocobozzz
c0d2eac332 Update server dependencies 2022-01-14 14:15:23 +01:00
Chocobozzz
3726c37255 Add missing mediaType info to AP objects 2022-01-13 14:16:32 +01:00
Chocobozzz
cbe2f36d93 Fix audio transcoding with video only file 2022-01-06 17:55:37 +01:00
Chocobozzz
0628157fe9 Move uuid stuff in extra utils
Since it requires an external dependency
2021-12-29 14:44:58 +01:00
Chocobozzz
d17c7b4e8c Fix shared imports 2021-12-24 10:14:47 +01:00
Chocobozzz
dbd9fb44dd Don't stuck state when move transcoding job failed 2021-12-23 11:13:06 +01:00
Chocobozzz
482b26231b Fix audio only transcoding 2021-12-23 10:57:55 +01:00
Chocobozzz
8484599294 Fix subscriptions 2021-12-17 15:21:24 +01:00
Chocobozzz
9e2789aa4b Fix internal user subscription 2021-12-17 14:42:31 +01:00
Chocobozzz
f304a1580b Fix build 2021-12-17 13:58:07 +01:00
Chocobozzz
c55e3d7227 Move test functions outside extra-utils 2021-12-17 12:24:03 +01:00
Chocobozzz
6b5f72beda Move typescript utils in its own directory 2021-12-16 18:04:16 +01:00
lutangar
06aad80165 chore(refactor): remove shared folder dependencies to the server
Many files from the `shared` folder were importing files from the `server` folder.
When attempting to use Typescript project references to describe dependencies,
it highlighted a circular dependency beetween `shared` <-> `server`.

The Typescript project forbid such usages.
Using project references greatly improve performance by rebuilding only
the updated project and not all source files.
> see https://www.typescriptlang.org/docs/handbook/project-references.html
2021-12-16 10:08:43 +01:00
Chocobozzz
90701ec1d8 Add hls to prune storage script 2021-12-10 10:28:46 +01:00
Chocobozzz
6ba93fa639 Fix torrent metadata update for hls 2021-12-09 11:23:02 +01:00
Chocobozzz
9b293cd6a2 Update torrent metadata on video update 2021-12-08 11:07:19 +01:00
Chocobozzz
025d858e79 Fix pending transcoding with failed job 2021-12-03 14:40:29 +01:00
Chocobozzz
98846837eb Stop killing peertube in ci script 2021-11-18 15:32:06 +01:00
Chocobozzz
ad5db1044c Add ability to run transcoding jobs 2021-11-18 15:20:57 +01:00
Chocobozzz
b46cf4b920 Add ability to remove hls/webtorrent files 2021-11-18 09:04:30 +01:00
Chocobozzz
11a554cfcf Fix unused parameter 2021-11-16 09:29:54 +01:00
Chocobozzz
527a52ac42 Add ability to filter out public videos from admin 2021-11-12 14:23:22 +01:00
Chocobozzz
597f771f3f Fix video update transaction 2021-11-10 15:52:22 +01:00
Chocobozzz
17ddba4950 Fix thumbnail update 2021-11-10 15:13:56 +01:00
Chocobozzz
51353d9a03 Refactor video views
Introduce viewers attribute for live videos
Count views for live videos
Reduce delay to see the viewer update for lives
Add ability to configure video views buffer interval and view ip
expiration
2021-11-09 15:00:31 +01:00
kontrollanten
e1ab52d7ec Add migrate-to-object-storage script (#4481)
* add migrate-to-object-storage-script

closes #4467

* add migrate-to-unique-playlist-filenames script

* fix(migrate-to-unique-playlist-filenames): update master/segments256

run updateMasterHLSPlaylist and updateSha256VODSegments after
file rename.

* Improve move to object storage scripts

* PR remarks

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-11-09 11:05:35 +01:00
Chocobozzz
df1db951c5 Support RTMPS 2021-11-05 11:38:17 +01:00
Chocobozzz
d324756edb Add ability to filter by file type 2021-11-03 11:32:41 +01:00
Chocobozzz
7e7d8e4853 Some fixes for admin videos list 2021-11-02 11:13:13 +01:00
Chocobozzz
3c10840fa9 Add video file size info in admin videos list 2021-10-29 11:48:21 +02:00
Chocobozzz
2760b454a7 Deprecate filter video query
Introduce include and isLocal instead
2021-10-29 11:48:21 +02:00
Florian CUNY
754b6f5f41 Made the video channels limit (per user) server-wide configurable (#4491)
* Made the video channels limit (per user) server-wide configurable

Implements https://github.com/Chocobozzz/PeerTube/issues/3092

Also added a "quota bar" in the account's settings page

* Fixed lint errors

* Another pass at fixing lint errors

* Applied code suggestions

* Removed 'video channels quota'
2021-10-26 16:42:10 +02:00
Chocobozzz
0c691a182c Fix sequelize order typings 2021-10-22 16:40:48 +02:00
Chocobozzz
ab4001aade Provide origin URL to client and fix remote share 2021-10-22 14:11:58 +02:00
Chocobozzz
c4c0c31144 Fix my live videos filter 2021-10-20 10:04:06 +02:00
Chocobozzz
978c87e7f5 Add channel filters for my videos/followers 2021-10-20 09:25:44 +02:00
Chocobozzz
906f46d084 Split check user params tests 2021-10-20 09:25:44 +02:00
Chocobozzz
4beda9e12a Add ability to view my followers 2021-10-20 09:25:44 +02:00
Chocobozzz
1db57e6f96 Fix useless condition 2021-10-11 14:16:31 +02:00
Chocobozzz
9db2330e4a Fix notification on create transcoding job 2021-10-11 09:37:27 +02:00
Chocobozzz
93a1e67f86 Fix channel search with complete handle 2021-10-11 09:37:26 +02:00
Chocobozzz
02b286f890 More robust webtorrent redundancy download
Avoid issues with inconsistencies between magnet infohash and torrent
infohash, blocking webtorrent upload that will timeout
2021-09-06 16:19:49 +02:00
Chocobozzz
3419e0e1fe Migrate to webdriverio 2021-09-01 15:06:46 +02:00
Chocobozzz
41fb13c330 esModuleInterop to true 2021-08-27 15:12:22 +02:00
Jelle Besseling
0305db28c9 Add support for saving video files to object storage (#4290)
* Add support for saving video files to object storage

* Add support for custom url generation on s3 stored files

Uses two config keys to support url generation that doesn't directly go
to (compatible s3). Can be used to generate urls to any cache server or
CDN.

* Upload files to s3 concurrently and delete originals afterwards

* Only publish after move to object storage is complete

* Use base url instead of url template

* Fix mistyped config field

* Add rudenmentary way to download before transcode

* Implement Chocobozzz suggestions

https://github.com/Chocobozzz/PeerTube/pull/4290#issuecomment-891670478

The remarks in question:
    Try to use objectStorage prefix instead of s3 prefix for your function/variables/config names
    Prefer to use a tree for the config: s3.streaming_playlists_bucket -> object_storage.streaming_playlists.bucket
    Use uppercase for config: S3.STREAMING_PLAYLISTS_BUCKETINFO.bucket -> OBJECT_STORAGE.STREAMING_PLAYLISTS.BUCKET (maybe BUCKET_NAME instead of BUCKET)
    I suggest to rename moveJobsRunning to pendingMovingJobs (or better, create a dedicated videoJobInfo table with a pendingMove & videoId columns so we could also use this table to track pending transcoding jobs)
    https://github.com/Chocobozzz/PeerTube/pull/4290/files#diff-3e26d41ca4bda1de8e1747af70ca2af642abcc1e9e0bfb94239ff2165acfbde5R19 uses a string instead of an integer
    I think we should store the origin object storage URL in fileUrl, without base_url injection. Instead, inject the base_url at "runtime" so admins can easily change this configuration without running a script to update DB URLs

* Import correct function

* Support multipart upload

* Remove import of node 15.0 module stream/promises

* Extend maximum upload job length

Using the same value as for redundancy downloading seems logical

* Use dynamic part size for really large uploads

Also adds very small part size for local testing

* Fix decreasePendingMove query

* Resolve various PR comments

* Move to object storage after optimize

* Make upload size configurable and increase default

* Prune webtorrent files that are stored in object storage

* Move files after transcoding jobs

* Fix federation

* Add video path manager

* Support move to external storage job in client

* Fix live object storage tests

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-08-17 08:26:20 +02:00
Chocobozzz
27db78400c Fix backend channel name validator consistency 2021-08-05 13:54:35 +02:00