Commit Graph

835 Commits

Author SHA1 Message Date
Chocobozzz ffcfb32b2f
Add program date time to live playlist 2022-04-19 16:24:49 +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 7e98a7df7d
Remove activitypub helper
Put functions in lib/activitypub instead
2022-03-23 14:24:50 +01:00
Chocobozzz 92e66e04f7
Rename studio to editor 2022-03-22 17:24:32 +01:00
Chocobozzz 88f1692781
Ensure bin dir exists before dl youtube-dl 2022-03-21 08:34:45 +01:00
Chocobozzz 57e4e1c1a9
Don't store remote rates of remote videos
In the future we'll stop to expose all available rates to improve users
privacy
2022-03-18 11:21:50 +01:00
Chocobozzz f443a74649 Add latency setting support 2022-03-09 09:23:10 +01:00
Chocobozzz 7b51ede977
Merge branch 'release/4.1.0' into develop 2022-03-08 11:28:32 +01:00
Chocobozzz 0c058f256a
Remove exif tags when processing images 2022-03-07 17:23:12 +01:00
Chocobozzz 41878d3397
Remove unnecessary comment 2022-03-07 11:52:29 +01:00
Chocobozzz 2f19481147
Optimize markdown renderer 2022-03-07 11:48:53 +01:00
Chocobozzz d3d3deaa7a
Refactor user build and express file middlewares 2022-03-04 10:57:36 +01:00
Chocobozzz 7bde625050
Fill width of local avatars 2022-03-01 13:37:40 +01:00
Chocobozzz f7ac03ee94
Fix client html performance regression 2022-02-28 15:13:56 +01:00
Chocobozzz c729caf6cc Add basic video editor support 2022-02-28 10:42:19 +01:00
kontrollanten d0800f7661
Implement avatar miniatures (#4639)
* client: remove unused file

* refactor(client/my-actor-avatar): size from input

Read size from component input instead of scss, to make it possible to
use smaller avatar images when implemented.

* implement avatar miniatures

close #4560

* fix(test): max file size

* fix(search-index): normalize res acc to avatarMini

* refactor avatars to an array

* client/search: resize channel avatar to 120

* refactor(client/videos): remove unused function

* client(actor-avatar): set default size

* fix tests and avatars full result

When findOne is used only an array containting one avatar is returned.

* update migration version and version notations

* server/search: harmonize normalizing

* Cleanup avatar miniature PR

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-02-28 08:34:43 +01:00
Chocobozzz 8296984de4
Fix max buffer size for youtube-dl 2022-02-22 15:03:13 +01:00
Chocobozzz 350b866fdd
Fix CLI build 2022-02-09 13:37:04 +01:00
Chocobozzz 7630e1c893
Fix import timeout inconsistency 2022-02-09 11:54:18 +01:00
Chocobozzz 474542d7ac
Add additional checks when importing a video 2022-02-09 11:54:18 +01:00
Chocobozzz f33e515991
Correctly check import target URL IP 2022-02-07 11:21:25 +01:00
Chocobozzz c68e2b2d22
Fix plaintext markdown converter 2022-02-04 10:38:32 +01:00
Chocobozzz 228d8e8e47
Convert markdown to html/plain text for feeds 2022-01-31 10:07:38 +01:00
Chocobozzz 4abc7b053a
Fix peertube tools auth 2022-01-20 09:33:49 +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 f8360396ff
Stop using tsconfig register
Prefer to replace paths at compile time
2022-01-06 08:26:14 +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 fba87e27c1
Resolve enums at compile time 2021-12-28 15:34:55 +01:00
Chocobozzz c7cdac4409
Fix type conflict 2021-12-24 10:40:51 +01:00
Chocobozzz d17c7b4e8c
Fix shared imports 2021-12-24 10:14:47 +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 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 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 38d69d6501
Update torrents info name on video update 2021-12-08 16:12:49 +01:00
Chocobozzz 9b293cd6a2
Update torrent metadata on video update 2021-12-08 11:07:19 +01:00
Chocobozzz 80badf493a
Add mute status in account and channel pages 2021-12-07 09:46:01 +01:00
Chocobozzz ca87d95bcb
Fix plugin upgrade
Correctly decache all plugin paths
2021-12-03 10:14:17 +01:00
Chocobozzz 4c99953acd
Fix redundancy timeout 2021-11-29 15:45:02 +01:00
Chocobozzz ad5db1044c
Add ability to run transcoding jobs 2021-11-18 15:20:57 +01:00
Chocobozzz 9c7cf0072f
Prefer cover instead of contain for images 2021-11-16 16:11:10 +01:00
Chocobozzz 7196a70b28
Fix thumbnails/previews for portrait videos 2021-11-16 15:59:56 +01:00
Chocobozzz 3455c2656e
Test and log request retries 2021-11-16 11:34:24 +01:00
Chocobozzz ac03618098
Don't display log tag filter for audit logs 2021-11-16 10:49:03 +01:00
Chocobozzz a2f99b54df
Optimize AP fetch 2021-11-16 10:28:31 +01:00
Chocobozzz 527a52ac42
Add ability to filter out public videos from admin 2021-11-12 14:23:22 +01:00
Chocobozzz 67eeec8b95
Add minimum bitrate limit 2021-11-10 11:04:00 +01:00
Chocobozzz 9390403250
Add ffmpeg tags for ffmpeg logs 2021-11-10 09:53:55 +01:00
Chocobozzz d7ce63d3dd
Fix error log of bad import 2021-11-09 15:07:06 +01:00
Chocobozzz dedcd583b2
Fix remote interaction
When we fetch a ressource that is a redirection of another ressource
2021-11-05 14:11:19 +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
Chocobozzz d324756edb
Add ability to filter by file type 2021-11-03 11:32:41 +01:00
Chocobozzz 2760b454a7 Deprecate filter video query
Introduce include and isLocal instead
2021-10-29 11:48:21 +02:00
Chocobozzz 5842a85424
Remove unnecessary package
https://github.com/standard/standard/issues/1316
2021-10-26 15:08:58 +02:00
Chocobozzz b9fbc17609
Fix lint 2021-10-26 08:37:03 +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 b2ad0090c1
Don't write youtube-dl stdout in log
It's too big
2021-10-25 10:18:41 +02:00
Chocobozzz 7fb2c60bbe
Remove sync call in logger
Winston already does it
2021-10-22 16:25:16 +02:00
Chocobozzz 5480933b7f
Add peertube short link import test 2021-10-22 14:25:32 +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 b3fc41a165
Fix youtube-dl update with proxy 2021-10-15 08:32:06 +02:00
Chocobozzz e81f6ccf98
Fix requests timeout 2021-10-13 09:57:20 +02:00
Chocobozzz 10ef089102
Merge branch 'release/3.4.0' into develop 2021-10-12 13:50:48 +02:00
Chocobozzz f7bb2bb5a7
Don't use min FPS, throw instead
Avoir creating a big output from a very low FPS input file
2021-10-12 10:37:25 +02:00
Chocobozzz 40a8c0a4c4
Fix email logger typings 2021-10-11 14:55:02 +02:00
Chocobozzz 4d6952361e
Fix multiple \n in md to plain text 2021-10-11 14:15:42 +02:00
Chocobozzz ab7b4f525b
Remove unused comments 2021-10-11 09:37:26 +02:00
Chocobozzz 9da443f374
Remove unused comments 2021-10-08 11:22:22 +02:00
Chocobozzz 790c2837dd
Fix silent 500 after resumable upload 2021-09-09 09:35:30 +02:00
Chocobozzz 414f77c8d8
Don't force youtube-dl host 2021-09-08 16:55:42 +02:00
Chocobozzz ddd677e4fd
Remove unused timeout option 2021-09-07 08:33:51 +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 e874edd9f8
forceConsistentCasingInFileNames to true 2021-08-30 09:37:18 +02:00
Chocobozzz 41fb13c330
esModuleInterop to true 2021-08-27 15:12:22 +02:00
Chocobozzz 8f58172565
Allow accounts to skip account setup modal 2021-08-27 10:15:55 +02:00
Chocobozzz e111a5a3a1
Don't throw when there is no error 2021-08-26 15:51:37 +02:00
Chocobozzz 095094872a
Remove too much log for webtorrent download 2021-08-26 15:28:51 +02:00
Chocobozzz 0bae66632a
More logs for webtorrent download 2021-08-26 15:19:11 +02:00
Chocobozzz 98ab5dc810
Remove useless async 2021-08-26 10:01:42 +02:00
smilekison 8729a87024
Support proxies for PeerTube (#4346)
* Updated with latest code

* Updated Support proxies for PeerTube

* Support Proxies for PeerTube (Updated with change request)

* Cleanup proxy PR

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-08-25 15:08:37 +02:00
Chocobozzz f645af4396
Remove useless condition 2021-08-18 09:33:48 +02:00
Chocobozzz 1f6125be8b
Optimize torrent URL update 2021-08-18 09:14:51 +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 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 27db78400c
Fix backend channel name validator consistency 2021-08-05 13:54:35 +02:00
Chocobozzz d0ea3e34d0
Log ffmpeg command 2021-07-29 13:34:16 +02:00
Chocobozzz d688602710
Refactor search query options 2021-07-29 11:54:38 +02:00
Chocobozzz b033851fb5
Search channels against handles and not names 2021-07-29 10:27:24 +02:00
Chocobozzz fbd67e7f38
Add ability to search by uuids/actor names 2021-07-28 16:40:21 +02:00
Chocobozzz fa47956ecf
Filter host for channels and playlists search 2021-07-28 10:32:40 +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 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 883a901908
Introduce debug command 2021-07-20 15:27:17 +02:00
Chocobozzz 83482ec476
Fix youtube-dl import for peertube videos 2021-07-16 15:58:57 +02:00