Chocobozzz
6b5f72beda
Move typescript utils in its own directory
2021-12-16 18:04:16 +01:00
Chocobozzz
754c52b9b9
Add ffprobe helper
2021-12-16 17:00:46 +01:00
Chocobozzz
2e9c7877eb
Add videos.getFiles plugin helper
2021-12-16 16:49:43 +01:00
Chocobozzz
b65de1be4d
Use different p2p policy for embeds and webapp
2021-12-16 10:08:55 +01:00
Chocobozzz
a9bfa85d2c
Add ability for admins to set default p2p policy
2021-12-16 10:08:55 +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
3cf68b869d
Ability for admins to set default upload values
2021-12-14 17:17:01 +01:00
Chocobozzz
14857212f1
Move b frame strategy in transcoding profile
...
We may use a too high value for some encoders and it allows to specify
custom values/strategy
2021-12-14 10:46:31 +01:00
Chocobozzz
ab18fadfd1
Fix AP audience
2021-12-13 17:33:59 +01:00
Chocobozzz
b5e1cd9a30
Handle channel owner update of remote server
2021-12-13 16:03:16 +01:00
Chocobozzz
9e847c17f9
No notification on moderator abuse
2021-12-09 14:27:32 +01:00
Chocobozzz
9b293cd6a2
Update torrent metadata on video update
2021-12-08 11:07:19 +01:00
Chocobozzz
636d73c588
Merge branch 'release/4.0.0' into develop
2021-12-07 13:47:34 +01:00
Chocobozzz
4c6757f2fd
Fix live log tags
2021-12-07 13:45:01 +01:00
Chocobozzz
80badf493a
Add mute status in account and channel pages
2021-12-07 09:46:01 +01:00
Chocobozzz
0bc53e2029
Add ability to redirect users on external auth
2021-12-03 17:04:47 +01:00
Chocobozzz
9ea02c48a7
Merge branch 'release/4.0.0' into develop
2021-12-03 14:40:52 +01:00
Chocobozzz
025d858e79
Fix pending transcoding with failed job
2021-12-03 14:40:29 +01:00
Chocobozzz
6d472b4046
Decrease time to cleanup resumable uploads
2021-12-03 14:01:38 +01:00
Chocobozzz
9213df1d79
Fix comment
2021-12-03 10:49:36 +01:00
Chocobozzz
63a3d336f6
Remove uneeded function
2021-12-03 10:14:33 +01:00
Chocobozzz
ca87d95bcb
Fix plugin upgrade
...
Correctly decache all plugin paths
2021-12-03 10:14:17 +01:00
kontrollanten
5fc44b57f8
Add header Vary Accept-Language ( #4588 )
...
* nginx: add header Vary Accept-Language
solves #3647
* Revert "nginx: add header Vary Accept-Language"
This reverts commit 90dccf5324
.
* add resp header Vary Accept-Language
solves #3647
* don't add vary header to embed page
2021-12-02 09:14:54 +01:00
Chocobozzz
1da843eeac
Don't notify when transcoding ends on manual run
2021-12-01 12:33:46 +01:00
Chocobozzz
a5ee023cf3
Fix redundancy timeout
2021-11-30 08:40:30 +01:00
Chocobozzz
55cb8bc73c
Correctly escape meta tags
2021-11-30 08:31:56 +01:00
Chocobozzz
7b0c61e743
Fix build
2021-11-29 15:46:52 +01:00
Chocobozzz
4c99953acd
Fix redundancy timeout
2021-11-29 15:45:02 +01:00
Chocobozzz
fa7388f087
Fix transcoding job count inconsistency
2021-11-29 11:20:17 +01:00
Chocobozzz
7137377d09
Auto update publishedAt in live restream
2021-11-26 17:36:55 +01:00
lutangar
7226e90fdc
Add `req` and `res` as controllers hooks parameters
...
Hooks prefixed by `action:api` now give access the original express req and res.
Checkout guide.md for possible usage.
2021-11-25 09:54:22 +01:00
Chocobozzz
450de91e22
Fix E2E tests
2021-11-24 10:49:12 +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
3455c2656e
Test and log request retries
2021-11-16 11:34:24 +01:00
Chocobozzz
a2f99b54df
Optimize AP fetch
2021-11-16 10:28:31 +01:00
Chocobozzz
3ef5909aec
Fix extendsLocalExpiration for redundancy
2021-11-12 09:02:53 +01:00
Chocobozzz
67eeec8b95
Add minimum bitrate limit
2021-11-10 11:04:00 +01:00
Chocobozzz
020d3d3d79
Remove resumable cache after upload success
2021-11-10 09:43:33 +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
Chocobozzz
221ee1adc9
Add transcoding fail message in client
2021-11-09 15:00:21 +01:00
kontrollanten
4e29f4fe23
video: add video stranscoding_failed state
2021-11-09 15:00:21 +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
5037e0e474
Correctly close RTMPS server too
2021-11-05 11:40:49 +01:00
Chocobozzz
df1db951c5
Support RTMPS
2021-11-05 11:38:17 +01: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
Rigel Kent
276250f0a3
prevent multiple post-process triggering of upload-resumable ( #4175 )
...
* prevent multiple post-process triggering of upload-resumable
* switch from 409 to 503 for upload being processed
* Improve resumable upload check
Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-10-25 17:42:20 +02:00
Chocobozzz
532e6a4172
Remove aws bug workaround
...
This has been fixed in https://github.com/aws/aws-sdk-js-v3/pull/2835
2021-10-22 16:30:55 +02:00
Chocobozzz
619537426b
Constants consistency
2021-10-22 10:28:00 +02:00
Chocobozzz
62549e6c98
Rewrite youtube-dl import
...
Use python3 binary
Allows to use a custom youtube-dl release URL
Allows to use yt-dlp (youtube-dl fork)
Remove proxy config from configuration to use HTTP_PROXY and HTTPS_PROXY
env variables
2021-10-22 10:25:24 +02:00
Chocobozzz
400043b1be
Add ability to search by URL with query params
2021-10-20 15:26:38 +02:00
Chocobozzz
1e2fe802d1
Force live type specification in first step
2021-10-15 11:45:03 +02:00
Chocobozzz
bacb544dbb
Remove old federation compatibility
2021-10-15 09:44:21 +02:00
Chocobozzz
f0ab2aed3d
Fix lint
2021-10-14 14:14:57 +02:00
Chocobozzz
cf0c8ee588
Fix admin edition disabling feature
2021-10-14 11:35:43 +02:00
Chocobozzz
e1a570abff
Fix user subscription follows count
2021-10-14 10:52:15 +02:00
Chocobozzz
1cf0df024e
Fix actor follow counts calculation
2021-10-13 16:18:42 +02:00
Chocobozzz
9db437c815
Process slow followers in unicast job queue
2021-10-13 11:47:32 +02:00
Chocobozzz
d41a380550
Fix check after init script
2021-10-13 08:44:34 +02:00
Chocobozzz
80dea8f4d6
Rename config key
2021-10-12 14:25:30 +02:00
kontrollanten
7399a79f73
add option to always show channel display name ( #4422 )
...
* add option to always show channel display name
closes #4040
* show avatar in video miniatures
closes #4040
* Revert "show avatar in video miniatures"
This reverts commit 79b1a84140
.
* channel display name: fix review comments
2021-10-12 14:23:44 +02:00
Jelle Besseling
8d8a037e3f
Allow configuration to be static/readonly ( #4315 )
...
* Allow configuration to be static/readonly
* Make all components disableable
* Improve disabled component styling
* Rename edits allowed field in configuration
* Fix CI
2021-10-12 13:33:44 +02:00
Chocobozzz
badacdbb4a
Merge branch 'release/3.4.0' into develop
2021-10-11 16:00:39 +02:00
Chocobozzz
41085b1583
Fix live bitrate
2021-10-11 15:59:38 +02:00
Chocobozzz
40a8c0a4c4
Fix email logger typings
2021-10-11 14:55:02 +02:00
Chocobozzz
5ac6449735
Remove useless condition
2021-10-11 14:40:53 +02:00
Chocobozzz
8bd67ef6af
Remove uneeded language injection
...
It's already handled by angular build
2021-10-11 14:00:09 +02:00
Chocobozzz
9db2330e4a
Fix notification on create transcoding job
2021-10-11 09:37:27 +02:00
Chocobozzz
efa3fef23e
Fix notification on create transcoding job
2021-10-08 15:40:23 +02:00
Chocobozzz
b4c945f3c7
Fix config injection with custom HTML/CSS
2021-09-09 09:13:45 +02:00
Chocobozzz
1c93ad0778
Fix object storage multipart upload
2021-09-08 16:45:02 +02:00
Chocobozzz
fb72d2e1c2
Fix infohash with object storage
2021-09-07 15:16: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
41fb13c330
esModuleInterop to true
2021-08-27 15:12:22 +02:00
Chocobozzz
0bae66632a
More logs for webtorrent download
2021-08-26 15:19:11 +02:00
Chocobozzz
52b1fd15fa
Better logs for redundancy
2021-08-26 11:02:41 +02:00
Chocobozzz
5a298a5a3d
Better logs for transcoding
2021-08-26 10:01:42 +02:00
Chocobozzz
98ab5dc810
Remove useless async
2021-08-26 10:01:42 +02:00
Chocobozzz
1d1da33661
More robust optimize transcoding job
2021-08-18 10:59:38 +02:00
Chocobozzz
0d4a3c62ab
Set ACL when uploading objects
2021-08-18 09:19:09 +02:00
Chocobozzz
1f6125be8b
Optimize torrent URL update
2021-08-18 09:14:51 +02:00
Chocobozzz
66a7fc9473
Remove optimize old videos script
...
It is not compatible with HLS and I don't have time to maintain it
2021-08-17 10:33:36 +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
18998c45c0
Correctly handle large HLS files for redundancy
2021-08-06 15:25:45 +02:00
Chocobozzz
679c12e69c
Improve target bitrate calculation
2021-08-06 14:13:26 +02:00
Chocobozzz
c826f34a45
Limit live bitrate
2021-08-06 10:39:40 +02:00
Chocobozzz
e83d06a702
Remove deprecated transcoding job names
2021-08-05 14:29:44 +02:00
Chocobozzz
352819ef92
Do not index remote actors
2021-08-05 13:29:55 +02:00
Chocobozzz
d26836cd95
Refactor notifier
2021-08-02 10:39:51 +02:00
Chocobozzz
a892c54a82
Fix oembed for playlists
2021-07-27 17:37:59 +02:00
Chocobozzz
5d0095fde1
Fix build
2021-07-26 16:05:49 +02:00
Chocobozzz
15a7eafb89
Refactor video links builders
2021-07-26 15:04:37 +02:00
Chocobozzz
764b1a14fc
Use random names for VOD HLS playlists
2021-07-26 11:29:31 +02:00
Chocobozzz
83903cb65d
Generate random uuid for video files
2021-07-26 11:29:31 +02:00
Chocobozzz
7a397c7f15
Upgrade server dependencies
2021-07-22 12:01:58 +02:00
Chocobozzz
a24bd1ed41
Merge branch 'next' into develop
2021-07-21 15:51:30 +02:00
Chocobozzz
4d029ef8ec
Add ability for instances to follow any actor
2021-07-21 13:35:31 +02:00
Chocobozzz
c0e8b12e7f
Refactor requests
2021-07-20 15:27:18 +02:00
Chocobozzz
12edc1495a
Introduce comments command
2021-07-20 15:27:18 +02:00
lutangar
dc3d902234
Introduce generic video constant manager for plugins
...
Allow a plugin developer to get back constants values,
and reset constants deletions or additions.
2021-07-16 17:49:40 +02:00
Chocobozzz
c171d85253
Fix webfinger tls only
2021-07-01 17:04:13 +02:00
Chocobozzz
06c2759338
Fix hooks definition
2021-07-01 16:47:14 +02:00
Chocobozzz
9c2e051c56
Handle broken plugin install
2021-06-30 11:45:20 +02:00
Chocobozzz
d4a8e7a65f
Support short uuid for GET video/playlist
2021-06-29 14:56:35 +02:00
Chocobozzz
37a44fc915
Add ability to search playlists
2021-06-25 14:44:01 +02:00
Chocobozzz
33eb19e519
It's not the week-end yet
2021-06-17 17:25:19 +02:00
Chocobozzz
e466544fb9
Fix muxing cleanup
2021-06-17 17:09:58 +02:00
Chocobozzz
52fb1d97ba
Fix prune storage tests
2021-06-17 11:09:54 +02:00
Chocobozzz
609a444202
Fix memory leak
2021-06-17 09:47:41 +02:00
Chocobozzz
c6406f4750
Don't retry UpdateVideosScheduler transactions
2021-06-17 08:51:29 +02:00
Chocobozzz
8ebf2a5d5d
Refactor live manager
2021-06-17 08:47:03 +02:00
Chocobozzz
fd6584844b
Resolve object id from actors too
2021-06-16 10:01:31 +02:00
Chocobozzz
799ece6aae
Add ability to delete previously added constants
2021-06-15 15:18:11 +02:00
Chocobozzz
4c3e4c3d93
Fix lint
2021-06-15 14:19:30 +02:00
Chocobozzz
eae0365b5c
Fix missing transactions
2021-06-15 10:40:06 +02:00
Chocobozzz
e54bd458c1
Remove unnecessary await
2021-06-15 10:40:06 +02:00
Chocobozzz
7500d6c900
Use a global request timeout
2021-06-15 08:21:31 +02:00
Chocobozzz
a9fbc2aaa1
Handle short video links
2021-06-14 16:05:25 +02:00
Chocobozzz
367994c521
Improve captions AP updater
2021-06-14 13:35:52 +02:00
Chocobozzz
fd6a74a835
Refactor schedule update
2021-06-11 14:33:34 +02:00
Chocobozzz
20a206c3d1
Refactor include checks
2021-06-11 14:26:37 +02:00
Chocobozzz
71d4af1efc
Use raw SQL for most of video queries
2021-06-11 14:09:52 +02:00
Chocobozzz
ca4b4b2e55
Fetch directly all video attributes for get API
2021-06-11 09:57:19 +02:00
Chocobozzz
e5dbd5084e
Refactor video query builder
2021-06-10 09:22:58 +02:00
Chocobozzz
57a0a9cde4
Optimize AP video captions update
2021-06-09 16:22:01 +02:00
Chocobozzz
4ead40e776
Cache refresh actor promise
2021-06-09 13:34:40 +02:00
Chocobozzz
bbfdeb3921
Fix actor image update
2021-06-08 18:12:49 +02:00
Chocobozzz
28dfb44b14
Try to speed up AP update transaction
2021-06-08 17:41:48 +02:00
Chocobozzz
9de33c6bd9
Add logs for refresh functions
2021-06-08 16:22:23 +02:00
Chocobozzz
7ffa92d6e4
Log rate AP fetch error as info
...
It's not really a warning, we could have many invalid rates in the
federation
2021-06-08 13:57:08 +02:00
Chocobozzz
318b0bd0c2
Fix "height not divisible by 2" ffmpeg error
2021-06-08 11:28:51 +02:00
Chocobozzz
765b150245
Fix lint
2021-06-08 10:19:04 +02:00
Chocobozzz
ea54cd04c1
Fix video upload with a capitalized ext
2021-06-08 10:01:50 +02:00
Chocobozzz
9cc4b9c61f
Fix process delete promise return
2021-06-07 13:20:08 +02:00
Chocobozzz
91f8f8db97
createThumbnail -> updateThumbnail
2021-06-04 15:45:44 +02:00
Chocobozzz
868fce62f8
fetch -> load
...
avoid confusion with AP fetch functions
2021-06-03 18:10:56 +02:00
Chocobozzz
10363c74c1
Move middleware utils in middlewares
...
helpers modules should not import models
2021-06-03 18:03:36 +02:00
Chocobozzz
5e08989ede
Add tags to AP rate logger
2021-06-03 17:12:38 +02:00
Chocobozzz
908e6ead78
Refactor AP video logger tags
2021-06-03 16:56:42 +02:00
Chocobozzz
136d7efde7
Refactor AP actors
2021-06-03 16:40:32 +02:00
Chocobozzz
49af5ac8c2
Refactor AP playlists
2021-06-03 16:40:32 +02:00
Chocobozzz
463206948d
Add tags to logs in AP videos
2021-06-02 16:57:53 +02:00
Chocobozzz
e872632091
Refactor sync attributes
2021-06-02 16:57:53 +02:00
Chocobozzz
304a84d59c
Refactor getOrCreateAPVideo
2021-06-02 16:57:53 +02:00
Chocobozzz
c56faf0d94
Move AP video channel creation
2021-06-02 16:57:53 +02:00
Chocobozzz
08a47c75f9
Refactor AP video create/update
2021-06-02 16:57:53 +02:00
Chocobozzz
69290ab37b
Refactor AP video update
2021-06-02 16:57:53 +02:00
Rigel Kent
76148b27f7
refactor API errors to standard error format
2021-06-02 16:57:07 +02:00
Chocobozzz
d88a3ea5e3
Process redundancy stats in series
2021-06-01 11:03:52 +02:00
Poslovitch
1f256e7d3c
Implemented configurable minimum signup age
...
Implements https://github.com/Chocobozzz/PeerTube/issues/3612
Fixed lint and removed debug
Fixed another lint error
Apply suggestions from code review
Co-authored-by: Chocobozzz <chocobozzz@cpy.re>
Add tests for min signup age config
2021-05-28 13:56:05 +02:00
Chocobozzz
9e2e51dc0b
Add tags to live logger
2021-05-28 13:05:59 +02:00
Chocobozzz
012580d98f
Cleanup
...
We must not expose private actor objects to clients
Just make 2 GET requests on channel/accounts instead
2021-05-28 10:22:50 +02:00
Chocobozzz
8f608a4cb2
Merge branch 'develop' into shorter-URLs-channels-accounts
2021-05-27 16:12:41 +02:00
Chocobozzz
2539932e16
Instance homepage support ( #4007 )
...
* Prepare homepage parsers
* Add ability to update instance hompage
* Add ability to set homepage as landing page
* Add homepage preview in admin
* Dynamically update left menu for homepage
* Inject home content in homepage
* Add videos list and channel miniature custom markup
* Remove unused elements in markup service
2021-05-27 15:59:55 +02:00
Chocobozzz
8ee37c5f38
Merge branch 'release/3.2.0' into develop
2021-05-26 13:41:15 +02:00
Chocobozzz
53e7f82fe3
Fix redundancy max size
2021-05-26 09:44:16 +02:00
Chocobozzz
aea0b0e7cd
Inject server config in HTML
2021-05-14 13:37:23 +02:00
Chocobozzz
16c016e8b1
Stricter models typing
2021-05-12 14:12:14 +02:00
Chocobozzz
428ccb8b7a
Reorganize plugin models
2021-05-11 13:33:11 +02:00
Chocobozzz
2b02c520e6
Cleanup shared models
2021-05-11 11:32:31 +02:00
Chocobozzz
7d9ba5c089
Cleanup models directory organization
2021-05-11 11:32:31 +02:00
Chocobozzz
c07902b908
Move transcoding files in their own directory
2021-05-11 11:32:31 +02:00
Chocobozzz
1bcb03a100
Use a class for youtube-dl
2021-05-11 11:32:31 +02:00
kontrollanten
f6d6e7f861
Resumable video uploads ( #3933 )
...
* WIP: resumable video uploads
relates to #324
* fix review comments
* video upload: error handling
* fix audio upload
* fixes after self review
* Update server/controllers/api/videos/index.ts
Co-authored-by: Rigel Kent <par@rigelk.eu>
* Update server/middlewares/validators/videos/videos.ts
Co-authored-by: Rigel Kent <par@rigelk.eu>
* Update server/controllers/api/videos/index.ts
Co-authored-by: Rigel Kent <par@rigelk.eu>
* update after code review
* refactor upload route
- restore multipart upload route
- move resumable to dedicated upload-resumable route
- move checks to middleware
- do not leak internal fs structure in response
* fix yarn.lock upon rebase
* factorize addVideo for reuse in both endpoints
* add resumable upload API to openapi spec
* add initial test and test helper for resumable upload
* typings for videoAddResumable middleware
* avoid including aws and google packages via node-uploadx, by only including uploadx/core
* rename ex-isAudioBg to more explicit name mentioning it is a preview file for audio
* add video-upload-tmp-folder-cleaner job
* stronger typing of video upload middleware
* reduce dependency to @uploadx/core
* add audio upload test
* refactor resumable uploads cleanup from job to scheduler
* refactor resumable uploads scheduler to compare to last execution time
* make resumable upload validator to always cleanup on failure
* move legacy upload request building outside of uploadVideo test helper
* filter upload-resumable middlewares down to POST, PUT, DELETE
also begin to type metadata
* merge add duration functions
* stronger typings and documentation for uploadx behaviour, move init validator up
* refactor(client/video-edit): options > uploadxOptions
* refactor(client/video-edit): remove obsolete else
* scheduler/remove-dangling-resum: rename tag
* refactor(server/video): add UploadVideoFiles type
* refactor(mw/validators): restructure eslint disable
* refactor(mw/validators/videos): rename import
* refactor(client/vid-upload): rename html elem id
* refactor(sched/remove-dangl): move fn to method
* refactor(mw/async): add method typing
* refactor(mw/vali/video): double quote > single
* refactor(server/upload-resum): express use > all
* proper http methud enum server/middlewares/async.ts
* properly type http methods
* factorize common video upload validation steps
* add check for maximum partially uploaded file size
* fix audioBg use
* fix extname(filename) in addVideo
* document parameters for uploadx's resumable protocol
* clear META files in scheduler
* last audio refactor before cramming preview in the initial POST form data
* refactor as mulitpart/form-data initial post request
this allows preview/thumbnail uploads alongside the initial request,
and cleans up the upload form
* Add more tests for resumable uploads
* Refactor remove dangling resumable uploads
* Prepare changelog
* Add more resumable upload tests
* Remove user quota check for resumable uploads
* Fix upload error handler
* Update nginx template for upload-resumable
* Cleanup comment
* Remove unused express methods
* Prefer to use got instead of raw http
* Don't retry on error 500
Co-authored-by: Rigel Kent <par@rigelk.eu>
Co-authored-by: Rigel Kent <sendmemail@rigelk.eu>
Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-05-10 11:13:41 +02:00
Chocobozzz
e024fd6a74
Update channel updatedAt when uploading a video
2021-05-10 09:38:11 +02:00
Chocobozzz
a66c2e3252
Fix remote actor creation date
2021-05-07 09:00:09 +02:00
kontrollanten
66f77f6343
server: fix HLS playlist format
...
Remove prefixed comma when there's no video codec.
2021-05-06 08:47:43 +02:00
Chocobozzz
b31d72625d
Plugin user.getAuthUser is now async
...
So we can load the full user
2021-05-05 15:26:28 +02:00
Kimsible
9a911038d9
Add shorter URLs for accounts and channels server-side
2021-05-05 11:47:03 +02:00
Chocobozzz
36217ac537
Fix lint
2021-05-05 09:55:01 +02:00
Chocobozzz
a6e37eebfb
Fix transcoding job priority
...
New resolution jobs are also important if waiting for transcoding is
enabled since we publish the video after the first resolution generation
2021-05-05 09:32:20 +02:00
Chocobozzz
302eba0d89
Add data directory for plugins and some helpers
2021-04-22 10:55:28 +02:00
Chocobozzz
b7a27f2860
Add sendmail log in server
2021-04-21 15:18:22 +02:00
Chocobozzz
67baf6478a
Allow plugins to set short translation locale
2021-04-20 16:14:09 +02:00
Chocobozzz
24a792404c
Support async onSettingsChange
2021-04-20 16:02:15 +02:00
Rigel Kent
a073c91270
modify tests to support current behaviour regarding plaintext description
2021-04-13 15:45:09 +02:00
Rigel Kent
84bced652c
render markdown and plainify descriptions on previews
2021-04-13 15:45:09 +02:00
Chocobozzz
1a578165f9
Fix lint
2021-04-12 17:00:21 +02:00
Chocobozzz
c24822a8fd
Don't save other attributes when set as refreshed
2021-04-12 13:44:58 +02:00
Rigel Kent
fe19f600da
add channel and playlist stats to server stats endpoint ( #3747 )
...
* add channel and playlist stats to nodeinfo
* add tests for active video channels stats
* fix tests for active channel stats
2021-04-12 11:19:07 +02:00
Chocobozzz
8280d0c227
Ensure to install supported plugins
2021-04-12 10:10:48 +02:00
Chocobozzz
78ec174cca
Don't retry failed transaction for refresh
...
It's just a refresh and could lead to some issues in our tests. If there
is a transaction conflict, it means that the same video is already
beeing updated so aborting should be fine
2021-04-09 16:29:38 +02:00
Chocobozzz
a60696ab18
Add scale filter to documentation
2021-04-09 15:53:18 +02:00
Théo Le Calvar
5fb7cfbac5
add support for inputOptions in trancode plugins
2021-04-09 15:53:18 +02:00
Chocobozzz
22820226e5
Add server plugin helpers
2021-04-09 15:17:43 +02:00
Chocobozzz
bae9303726
Also decache config
2021-04-09 09:37:46 +02:00
John Livingston
09d535ef98
Fix #3940 : unload all children from the plugin module on updates.
2021-04-09 09:32:16 +02:00
Chocobozzz
84531547bc
Add size info in db for actor images
2021-04-08 13:38:04 +02:00
Chocobozzz
a0eeb45f14
Update data in DB when regenerate thumbnails
2021-04-08 13:38:04 +02:00
Chocobozzz
213e30ef90
Add banner tests
2021-04-08 10:07:53 +02:00
Chocobozzz
2cb03dc1f4
Add banners support
2021-04-08 10:07:53 +02:00
Chocobozzz
f479685678
Agnostic actor image storage
2021-04-08 10:07:53 +02:00
Thavarasa Prasanth
4097c6d66c
fix missing title attribute on <iframe> tag suggested for embedding ( #3901 )
...
* title attribute is missing on <iframe> tag suggested for embedding #3861
* fix #3901
* fix: escapeHTML #3901
* fix: playlist title instead of video title #3901
* fix #3901
* assign title directly #3901
2021-03-31 08:32:05 +02:00
Chocobozzz
4bc45da342
Add hooks support for video download
2021-03-24 18:18:41 +01:00
Chocobozzz
97aeb3cc46
Fix external on logout hook
2021-03-24 18:18:41 +01:00
Chocobozzz
f43db2f46e
Refactor auth flow
...
Reimplement some node-oauth2-server methods to remove hacky code needed by our external
login workflow
2021-03-24 18:18:41 +01:00
Chocobozzz
cae2df6bdc
Stricter email options typings
2021-03-24 18:18:41 +01:00
Chocobozzz
32a18cbf33
Add new plugin/peertube version notifs
2021-03-24 18:18:41 +01:00
Chocobozzz
e7053b1d9d
Fix AP security tests
2021-03-24 18:18:40 +01:00
Chocobozzz
266131e0ca
Don't skip all threads on AP fetcher error
2021-03-24 18:18:40 +01:00
Chocobozzz
b5c361089f
Fix 404 AP status codes
2021-03-24 18:18:40 +01:00
Chocobozzz
db4b15f21f
Use got instead of request
2021-03-24 18:18:40 +01:00
Chocobozzz
67f87b66fe
Refactor a little bit AP validators
2021-03-24 18:18:40 +01:00
Chocobozzz
452b3bea08
Introduce tags to the logger
...
That could help to filter unneeded logs and/or select particular
components
2021-03-24 18:18:40 +01:00
Chocobozzz
a2eba50b8e
Fix moderation notification
2021-03-04 16:16:37 +01:00
Chocobozzz
fbd51e69f2
Upgrade server dependencies
2021-03-03 16:14:32 +01:00
Chocobozzz
6c9c3b7b14
Fix emptying video tags
2021-03-03 11:03:30 +01:00
Chocobozzz
1ef447bd83
Don't create another uneeded preview placeholder
2021-03-03 11:02:34 +01:00
Chocobozzz
dcd75f786c
Rename request timeout
2021-03-03 10:10:55 +01:00
Chocobozzz
74d249bc13
Add ability to cleanup remote AP interactions
2021-03-03 10:08:08 +01:00
Chocobozzz
8795d6f254
Fix broken local actors
...
Some channels can't federate because they don't have public/private
keys, maybe because the generation failed for various reasons
2021-02-26 14:22:25 +01:00
Chocobozzz
92315d979c
More robust channel change federation
2021-02-26 11:50:18 +01:00
Chocobozzz
543442a3be
Add more AP stats to stats endpoint
...
It will help to understand if the federation correctly works or not
2021-02-26 10:28:11 +01:00
Chocobozzz
88cfa3e8fa
Fix preview upload with capitalized ext
2021-02-26 09:16:31 +01:00
Chocobozzz
a77c7327a2
Fix process abuse transactions
2021-02-25 15:55:31 +01:00
Chocobozzz
e7812bf091
Add refresh_token_expires_in to oauth res
2021-02-25 15:25:48 +01:00
Chocobozzz
70243d7a35
Correctly wait transcoding before federating
2021-02-22 10:35:37 +01:00
Chocobozzz
4cbdcf4409
Fix sending accept to old follows
2021-02-19 13:55:00 +01:00
Chocobozzz
fae6e4da8f
Try to speed up server tests
2021-02-19 09:36:50 +01:00
Chocobozzz
53c06121a4
Fix import tests
2021-02-18 14:08:16 +01:00
Chocobozzz
8efc27bf14
Cleanup
2021-02-18 13:38:09 +01:00
Chocobozzz
b3d5cb92b1
Add ability to update torrents cache in client
2021-02-18 13:38:09 +01:00
Chocobozzz
d9a2a03196
Don't guess remote tracker URL
2021-02-18 13:38:09 +01:00
Chocobozzz
2451916e45
Add video files migration
2021-02-18 13:38:09 +01:00
Chocobozzz
90a8bd305d
Dissociate video file names and video uuid
2021-02-18 13:38:09 +01:00
Chocobozzz
1664bc60eb
Optimize remote image processing
2021-02-16 10:36:44 +01:00
Chocobozzz
374b725df5
Optimize remote thumbnail processing
2021-02-16 10:36:44 +01:00
Chocobozzz
a35a22797c
Remove previous thumbnail if needed
2021-02-16 10:36:44 +01:00
Chocobozzz
6302d599cd
Generate a name for caption files
2021-02-16 10:36:44 +01:00
Chocobozzz
a8b1b40485
Generate a name for thumbnails
...
Allows aggressive caching
2021-02-16 10:36:44 +01:00
Chocobozzz
c15aff666d
Remove old code
...
We consider Dislike as a classic activity now
2021-02-12 14:53:07 +01:00
Chocobozzz
e3b4c084cd
Guess if we need to generate the thumbnail for imports
2021-02-12 09:37:01 +01:00
Chocobozzz
6559da2821
Allow plugins to load a video by id
2021-02-11 10:23:52 +01:00
Chocobozzz
44d1f7f2e8
Painfully debug concurrent import jobs
2021-02-09 11:46:30 +01:00
Chocobozzz
9129b7694d
Allow to specify transcoding and import jobs concurrency
2021-02-08 15:38:45 +01:00
Chocobozzz
ba5a8d89bb
Update server dependencies
2021-02-03 09:45:08 +01:00
Chocobozzz
69eddafb17
Fix HLS generation after import script
2021-02-02 14:00:46 +01:00
Chocobozzz
aaedadd538
Transcode HLS playlists in a tmp directory
2021-02-02 11:50:29 +01:00
Chocobozzz
40930fda86
Transcode audio uploads to lower resolutions
...
Better consistency
2021-02-02 09:45:42 +01:00
Chocobozzz
89613cb444
Purge entire video from redundancy
2021-02-02 08:50:30 +01:00
Chocobozzz
7e3592d70b
Correctly remove torrents with HLS only
2021-02-01 11:23:12 +01:00
Chocobozzz
33c7131be5
Check banned status for external auths
2021-02-01 11:23:11 +01:00
Chocobozzz
a8537c622e
Use veryfast preset for default transcoding profile
2021-01-29 15:31:31 +01:00
Chocobozzz
2498aaead1
Add plugin transcoding profile guide
2021-01-29 14:05:41 +01:00
Chocobozzz
1896bca09e
Support transcoding options/encoders by plugins
2021-01-28 15:55:39 +01:00
Chocobozzz
529b37527c
Use a profile manager for transcoding
2021-01-28 15:55:39 +01:00
Chocobozzz
00b87c5791
Fix live RAM usage when ffmpeg is too slow
2021-01-27 12:05:10 +01:00
Chocobozzz
e08ff02a9f
Allow webp image uploads
2021-01-26 10:29:57 +01:00
Chocobozzz
448487a602
Fix sendmail emailer
2021-01-26 09:28:49 +01:00
Chocobozzz
6939cbac48
Safely remove webtorrent files
...
Only remove them on max quality HLS playlist generation
2021-01-25 14:38:52 +01:00
Chocobozzz
77d7e851dc
Add priority to transcoding jobs
...
(1 = highest priority)
100 for new resolutions
10 for original file optimization
Add a malus for transcoding jobs depending on how many uploads the user did in the
last 7 days
2021-01-25 14:38:52 +01:00
Chocobozzz
24516aa26a
Refactor transcoding job handlers
2021-01-21 15:58:17 +01:00
Chocobozzz
3b01f4c0ac
Support progress for ffmpeg tasks
2021-01-21 14:42:43 +01:00
Chocobozzz
471251fa14
Fix error log
2021-01-20 09:50:22 +01:00
Chocobozzz
805b8619c1
Fix (again) youtube import
2021-01-19 16:36:21 +01:00
Rigel Kent
454c20fa7c
stricter youtubedl format selectors ( #3516 )
...
* stricter youtubedl format selectors
make sure selectors avoid av1, and otherwise match as closely to the
maximum resolution enabled for transcoding
* add support for merge formats in youtubedl
* avoid vp9.2 in youtubedl to avoid any HDR
* move getEnabledResolutions, safer replace of imported extension
* add test for youtube-dl selectors
2021-01-15 15:56:56 +01:00
Rigel Kent
1ea7da819e
add ability to remove one's avatar for account and channels ( #3467 )
...
* add ability to remove one's avatar for account and channels
* add ability to remove one's avatar for account and channels
* only display avatar edition options after input change
2021-01-13 09:12:55 +01:00
Chocobozzz
c2b823826d
Log RTMP server error (address already in use)
2021-01-11 09:33:14 +01:00
Chocobozzz
f0484f7a16
Fix autoblacklist notification issue
2021-01-04 10:50:47 +01:00
Chocobozzz
cc49be3e35
Fix views processing hour 0
2020-12-30 14:29:17 +01:00
Chocobozzz
f88453e233
Fix build
2020-12-22 16:49:17 +01:00
Chocobozzz
236841a1d7
Force HLS transcoding
...
Fix weird behaviour with some web browsers. Don't really know if it's a
ffmpeg bug, a safari bug or a peertube bug, but forcing transcoding
seems to fix this playback bug
2020-12-22 16:04:42 +01:00
Chocobozzz
9cfeb3cf98
Fix redundancy federation in some cases
2020-12-17 09:23:57 +01:00
Chocobozzz
99afa081bc
Add AP stats
2020-12-15 13:34:58 +01:00
Chocobozzz
c9bc850e93
Use -1 for max live duration unlimited
2020-12-15 09:26:37 +01:00
kontrollanten
40c52969f7
emails: remove hardcoded PeerTube names
2020-12-14 15:37:29 +01:00
kontrollanten
2e4b8ae485
emailer: use instance name instead of hostname
2020-12-14 15:37:29 +01:00
kontrollanten
915e2bbb97
video embed: use instance name as html title
2020-12-14 15:25:51 +01:00
kontrollanten
2564d97e0d
video-embed: inject custom CSS
...
closes #3420
2020-12-14 15:25:51 +01:00
Chocobozzz
402145b863
Refactor jobs state
2020-12-14 12:00:35 +01:00
Chocobozzz
f98c395295
Keep scope in notifier
2020-12-14 09:34:47 +01:00
kontrollanten
b1771455af
fix(notifier): notifyModeratorsOfNewAbuse
...
closes #3445
2020-12-14 09:34:47 +01:00
Rigel Kent
040d6896a3
add display of logs matching any state
2020-12-13 19:27:25 +01:00
Girish Ramakrishnan
75594f474a
do not crash if SMTP server is down
...
just log a warning if the SMTP server is down on startup time
fixes #3457
2020-12-12 08:50:59 +01:00
Chocobozzz
a800dbf345
Live views update
2020-12-09 16:31:42 +01:00
Chocobozzz
0d8de2756f
Fix live tests
2020-12-09 14:45:47 +01:00
Chocobozzz
b49f22d8f9
Upgrade sequelize to v6
2020-12-09 11:41:22 +01:00
Rigel Kent
f2eb23cd87
emit more specific status codes on video upload ( #3423 )
...
- reduce http status codes list to potentially useful codes
- convert more codes to typed ones
- factorize html generator for error responses
2020-12-08 21:16:10 +01:00
Chocobozzz
a59f210ff3
Refactor a little bit client canonical URL
2020-12-08 11:15:11 +01:00
Thomas Citharel
106fa2249d
Set canonical link to original video/playlist url
...
The local URL was used instead of the original url
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-08 11:15:11 +01:00
Chocobozzz
5b9b403a20
Fix replay last segments loop
2020-12-07 16:07:00 +01:00
Rigel Kent
2d53be0267
replace numbers with typed http status codes ( #3409 )
2020-12-07 14:32:36 +01:00
Chocobozzz
aa5ee5017a
Fix lint
2020-12-04 15:58:29 +01:00
Chocobozzz
e772bdf14c
Load video in permanent live after last one ended
2020-12-04 15:38:32 +01:00
Chocobozzz
3851e732c4
Fix audio issues with live replay
2020-12-04 15:10:13 +01:00
Chocobozzz
e26dc0cdbd
Strict actor url comparison
2020-12-03 16:12:58 +01:00
Chocobozzz
5147a6d945
Try to fix non HTTPS remote accounts
2020-12-03 15:21:16 +01:00
Chocobozzz
bb4ba6d94c
Add permanent live support
2020-12-03 15:21:16 +01:00
Chocobozzz
4a54a93941
Fix live invalid save replay duration
2020-12-03 10:05:10 +01:00
Chocobozzz
2650d6d489
Fix live replay duration glitch
2020-12-02 10:18:15 +01:00
Chocobozzz
8c666c44ab
Fix live saving after a server restart
2020-11-30 17:03:13 +01:00
Chocobozzz
6cddd97d1d
Fix lint
2020-11-30 16:02:34 +01:00
Chocobozzz
937581b8f6
Fix high CPU with long live when save replay is true
2020-11-30 15:59:22 +01:00
Chocobozzz
884d2c39ae
Fix live FPS limit
2020-11-26 11:30:18 +01:00
Chocobozzz
6b67897e2e
Add transcoding module comments
2020-11-25 10:07:51 +01:00
Chocobozzz
33ff70baa6
Fix audio encoding params
2020-11-25 10:07:51 +01:00
Chocobozzz
ca5c612bfd
Add live transcoding bit rate tests
2020-11-25 10:07:51 +01:00
Chocobozzz
5a547f69d5
Support encoding profiles
2020-11-25 10:07:51 +01:00
Chocobozzz
9252a33d11
Export encoders options in a dedicated struct
2020-11-25 10:07:51 +01:00
Chocobozzz
daf6e48010
Split ffmpeg utils with ffprobe utils
2020-11-25 10:07:51 +01:00