Commit Graph

307 Commits

Author SHA1 Message Date
Chocobozzz
42b4063699
Add ability for client to create server logs 2022-07-18 11:37:18 +02:00
Chocobozzz
f75692700e
Use yt-dlp by default
It has more activity and they fix bugs more quickly
2022-07-06 16:15:47 +02:00
Chocobozzz
9452d4fd33
/!\ Use a dedicated config file for development
It means you have to replace NODE_ENV=test to NODE_ENV=dev if you use it
npm run dev:* commands are already updated
2022-07-06 16:12:17 +02:00
Chocobozzz
630d0a1bf5
Introduce experimental telemetry 2022-07-06 15:13:55 +02:00
Chocobozzz
a4152bed14
Add ability to disable unknown infohash log 2022-06-30 09:13:11 +02:00
Chocobozzz
d92ffe661c
Fix tests with node 18 2022-06-27 15:18:13 +02:00
Chocobozzz
e771ff815d
Merge branch 'release/4.2.0' into develop 2022-06-03 14:32:44 +02:00
Chocobozzz
010382b603
Completely remove best default trending algorithm 2022-06-03 14:04:52 +02:00
Chocobozzz
db9d882c25
Add ability to set default feed items count 2022-05-24 15:56:23 +02:00
Chocobozzz
3eba7ab815
Add ability to set a custom video import timeout 2022-05-24 14:55:07 +02:00
Chocobozzz
a5a1690d08
Improve video studio comment 2022-05-23 09:25:40 +02:00
Chocobozzz
d322f854c0
Prefer using null for rtmp listen setting 2022-05-04 16:12:49 +02:00
Chocobozzz
110212fd79
Fix listening host for live 2022-05-04 16:07:08 +02:00
Chocobozzz
9c5e582269
Better config comments for RTMP/RTMPS 2022-05-04 09:10:25 +02:00
Chocobozzz
cfbe6be516
Add ability to provide rtmp listening hostname 2022-05-02 14:32:12 +02:00
Chocobozzz
ec2fa0d0b1
Fix redis config comment 2022-04-15 11:56:41 +02:00
Chocobozzz
b211106695 Support video views/viewers stats in server
* Add "currentTime" and "event" body params to view endpoint
 * Merge watching and view endpoints
 * Introduce WatchAction AP activity
 * Add tables to store viewer information of local videos
 * Add endpoints to fetch video views/viewers stats of local videos
 * Refactor views/viewers handlers
 * Support "views" and "viewers" counters for both VOD and live videos
2022-04-15 09:49:35 +02:00
Chocobozzz
92e66e04f7
Rename studio to editor 2022-03-22 17:24:32 +01:00
Doug Luce
f9915efa5e Make object storage ACL configurable
Override this value to allow uploads to non-public S3
buckets. Otherwise "AccessDenied: Access Denied" errors will end up in
the log.

Fixes #4850
2022-03-16 10:58:01 +01:00
kontrollanten
60233e90d2
add client.videos.upload.maxChunkSize config (#4857)
* add client.videos.upload.maxChunkSize config

* updates after review

* remove maxChunkSize from custom-config
2022-03-16 10:57:36 +01:00
Chocobozzz
f443a74649 Add latency setting support 2022-03-09 09:23:10 +01:00
kontrollanten
2c102aac13
Display avatar in video miniatures (#4823)
* show avatar in video miniatures

closes #4040

* fix: videos for api, include avatars

* add config for display video miniature avatar

* Revert "fix: videos for api, include avatars"

This reverts commit 5520a3eda6.

* video-min: set display avatar to false as default

* remove empty line

* rename display_avatar > display_author_avatar

* fix renaming displayAvatar > displayAuthorAvatar
2022-03-08 13:39:27 +01:00
Chocobozzz
bf521f51fc
Use yt-dlp for tests by default 2022-03-02 15:51:41 +01:00
kontrollanten
8d07888728
Possibility to set custom RTMP/RTMPS hostname (#4811)
* live: set custom RTMP/RTMPS hostname

closes #4786

* dont use webserver.hostname as default

* check that rtmp/s.hostname is set
2022-03-01 13:37:34 +01:00
Chocobozzz
c729caf6cc Add basic video editor support 2022-02-28 10:42:19 +01:00
Chocobozzz
474542d7ac
Add additional checks when importing a video 2022-02-09 11:54:18 +01:00
Florent
22c7778630 Give the ability to define python path for youtube-dl / yt-dlp 2022-01-10 10:01: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
Chocobozzz
3cf68b869d
Ability for admins to set default upload values 2021-12-14 17:17:01 +01:00
Chocobozzz
0bc53e2029
Add ability to redirect users on external auth 2021-12-03 17:04:47 +01:00
Chocobozzz
ca87d95bcb
Fix plugin upgrade
Correctly decache all plugin paths
2021-12-03 10:14:17 +01:00
Chocobozzz
c5e53d0e39
cleanup_remote_interactions: true by default 2021-11-29 15:33:08 +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
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
8dd754c767
Added 144p encoding (#4492)
* Added 144p encoding

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

* Fixed typo in core-utils

* Increased BitPerPixel for 144p

* Disabled 144p by default in test.yaml

* Another try at fixing tests

* Fixed test in video-transcoder (api-3)

* Fixed test in video-imports (api-4)

* Fixed test in live-constraints (api-2)

* Tried to fix tests in api-3 again

* Revert "Tried to fix tests in api-3 again"

This reverts commit 266e1143fa37f333d149c2c2791c7bd33621ac14.

* Fixed test in config.ts (api-2)

* Try to fix test in video-hls.ts (api-3)

* Fixed test in video-transcoder.ts (api-3)

* Fix tests

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-11-05 10:23:02 +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
Chocobozzz
de7f11143f
Cleanup config 2021-10-22 13:56:45 +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
97b6428af7
Breaking: fix inconsistencies in configuration 2021-10-20 16:29:41 +02:00
Chocobozzz
cf0c8ee588
Fix admin edition disabling feature 2021-10-14 11:35:43 +02:00
Chocobozzz
e89392d74a
Fix production configuration 2021-10-14 09:37:01 +02:00
Chocobozzz
94fecbc1c7
Config typo 2021-10-13 09:18:48 +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
kontrollanten
c80e458afb
extend client-overrides with default images (#4392)
* extend client-overrides with default images

Add:
* default-playlist.png
* default-avatar-account.png
* default-avatar-videochannel.png

solves #4108

* Rename to default-avatar-video-channel.png

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-10-12 13:50:40 +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
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
ROBERT MCDOWELL
863c1bc6dc
fixed typo (#4312)
* Fixed typo
2021-08-11 10:45:49 +02:00
Chocobozzz
3b6195f799
Fix typo for minimum age 2021-07-16 16:00:31 +02:00
Rigel Kent
37ede348bb
(doc) add note in config that tmp is also used while processing 2021-06-08 11:45:03 +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
31a911190b
Fix broadcast message log level 2021-05-25 11:35:29 +02:00
Chocobozzz
cb4bab61c1
Fix logger warning level 2021-05-14 14:17:53 +02:00
Chocobozzz
8155db669b
Dissociate frameguard from csp 2021-04-12 15:33:54 +02:00
Chocobozzz
6a882428e1
Enable HLS transcoding by default 2021-04-06 09:52:53 +02:00
Chocobozzz
32a18cbf33
Add new plugin/peertube version notifs 2021-03-24 18:18:41 +01:00
Chocobozzz
74d249bc13
Add ability to cleanup remote AP interactions 2021-03-03 10:08:08 +01:00
Chocobozzz
b3d5cb92b1 Add ability to update torrents cache in client 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
9129b7694d Allow to specify transcoding and import jobs concurrency 2021-02-08 15:38:45 +01:00
Rigel Kent
3d4e112d16 add best trending strategy based on Reddit's best
inspired from https://www.reddit.com/r/changelog/comments/7spgg0/best_is_the_new_hotness/
this implementation only adds freshness, and doesn't personalize based
on subscribed communities yet.
2021-02-04 09:04:47 +01:00
Chocobozzz
3258fa5525
Fix default.yaml and production.yaml inconsistencies 2021-01-29 14:56:40 +01:00
Chocobozzz
1896bca09e
Support transcoding options/encoders by plugins 2021-01-28 15:55:39 +01:00
Rigel Kent
ba5d4a849c move from trending routes to alg param 2021-01-28 15:55:34 +01:00
Rigel Kent
3da68f0a78 add default trending page choice, revert comments count for hot strategy 2021-01-28 15:55:34 +01:00
Chocobozzz
1e743faafe
Disable sql prettifier by default
It adds too much lines, leading to difficulties when reading dev logs
2021-01-26 09:54:32 +01:00
Chocobozzz
51de2c7ff3
Update project description 2021-01-14 09:43:06 +01:00
Johan Fleury
12c1e38df2 feat: allow administrator to disable logging of ping requests 2021-01-13 09:14:43 +01:00
Rigel Kent
b7085c7132 add support for 1440p (Quad HD/QHD/WQHD) videos 2021-01-13 09:14:09 +01:00
Chocobozzz
d8658f0f81
Try to improve install doc 2021-01-11 10:09:24 +01:00
Chocobozzz
4f20856ed4
Add more hints regarding live port 2021-01-11 09:20:44 +01:00
Chocobozzz
c9bc850e93
Use -1 for max live duration unlimited 2020-12-15 09:26:37 +01:00
Chocobozzz
2539011cfc
Add unlimited max live duration by default 2020-12-08 10:38:37 +01:00
Chocobozzz
cf3e0d69a6
Enable live transcoding by default
Direct muxing is not robust enough
2020-12-01 15:04:38 +01:00
Chocobozzz
d605328a30
Add missing "supports markdown" config comments 2020-11-30 15:08:01 +01:00
Chocobozzz
413b9729ee
Disable views cleaner on test instances 2020-11-27 15:46:49 +01:00
Chocobozzz
acfa2e300d
Remove old video views by default 2020-11-27 15:46:49 +01:00
Chocobozzz
e0409585a7
Fix youtube-dl ipv4 PR 2020-11-18 14:11:15 +01:00
Mark Van den Borre
677012b4ee
default youtube-dl to use ipv4 (#3311)
Co-authored-by: Rigel Kent <sendmemail@rigelk.eu>
2020-11-18 14:06:20 +01:00
Chocobozzz
a25507f6c4
Fix tests 2020-11-10 15:04:08 +01:00
Chocobozzz
87568f93e9
BREAKING: do not federate unlisted videos by default 2020-11-10 14:22:13 +01:00
Chocobozzz
529f037294 Revert some mistakes 2020-11-09 15:33:04 +01:00
Chocobozzz
3cabf3532b Add live server hooks 2020-11-09 15:33:04 +01:00
Chocobozzz
77e9f859c6 Add check params live tests 2020-11-09 15:33:04 +01:00
Chocobozzz
d2345ce920 Add live doc in production.yaml 2020-11-09 15:33:04 +01:00
Chocobozzz
a056ca4813 Add max lives limit 2020-11-09 15:33:04 +01:00
Chocobozzz
fb7194043d Check live duration and size 2020-11-09 15:33:04 +01:00
Chocobozzz
a5cf76afa3 Add watch messages if live has not started 2020-11-09 15:33:04 +01:00
Chocobozzz
c6c0fa6cd8 Live streaming implementation first step 2020-11-09 15:33:04 +01:00
Chocobozzz
b0ce7c39dc
Add ssl support to postgresql 2020-08-24 11:38:57 +02:00
Rigel Kent
fccbbc1a77 add and document new additional video extensions supported at upload 2020-08-10 09:46:59 +02:00
Kim
caf2aaf4f9
Add ability to override client assets : logo - favicon - PWA icons - PWA manifest name and description (#2897)
* Add client-overrides storage to config

* Add static-serve for client overrides

* Move backgroun-image logo from bundle to css tag for runtime content hash

* Add dynamic JSON manifest

* Add content hash for manifest, favicon and logo

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-07-10 10:20:11 +02:00
Chocobozzz
1e904cde34
Fix users tests 2020-07-02 14:23:50 +02:00
Girish Ramakrishnan
6ee7221117 Add database.name config option
If database.name is set, we use it as the complete database name.
If unset, we use the "peertube"+database.suffix as the complete database
name.

Fixes #1620
2020-06-25 08:48:44 +02:00
Chocobozzz
faa9d434b4
Update server dependencies 2020-06-17 11:42:50 +02:00
Chocobozzz
3b0bd70aa0 Add search target check params 2020-06-10 14:02:41 +02:00
Chocobozzz
5fb2e2888c First implem global search 2020-06-10 14:02:41 +02:00
Levi Bard
3092e9bbb0
Make federation of unlisted videos an instance-level server preference (#2802)
* Add preference for federating unlisted videos

* Connect unlisted video federation with new preference

* Apply pull request feedback

* Fix lint issues

* Remove preference for federating unlisted videos from web admin interface
2020-06-03 09:42:07 +02:00