Commit Graph

65 Commits

Author SHA1 Message Date
Chocobozzz da6d0bfe88
More robust caption update
Avoid file not found when the transaction is retried
2024-09-12 10:52:18 +02:00
David Baumgold 7de5e13b25
oEmbed API should use CORS (#6562)
* oEmbed API should use CORS

* Simplify cors function call

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2024-09-05 16:16:44 +02:00
Chocobozzz d24d221550
Add SSRF protection 2024-08-14 15:33:57 +02:00
Chocobozzz 8fe17abb7c
Prevent headers already sent error 2024-08-14 14:21:53 +02:00
Chocobozzz e6de476ae8
Add ability to disable federation 2024-08-14 14:12:37 +02:00
Chocobozzz bbaf96d60d
Support max FPS configuration 2024-08-13 09:38:36 +02:00
Chocobozzz 658241d8c6
Support cover when downloading audio 2024-08-08 10:42:15 +02:00
Chocobozzz 546265e9ae
Support fowarding query params to oembed
For now only `start` for videos and `playlistPosition` for playlists are
supported
2024-08-06 11:52:21 +02:00
Chocobozzz 816f346a60 Separate HLS audio and video streams
Allows:
  * The HLS player to propose an "Audio only" resolution
  * The live to output an "Audio only" resolution
  * The live to ingest and output an "Audio only" stream

 This feature is under a config for VOD videos and is enabled by default for lives

 In the future we can imagine:
  * To propose multiple audio streams for a specific video
  * To ingest an audio only VOD and just output an audio only "video"
    (the player would play the audio file and PeerTube would not
    generate additional resolutions)

This commit introduce a new way to download videos:
 * Add "/download/videos/generate/:videoId" endpoint where PeerTube can
   mux an audio only and a video only file to a mp4 container
 * The download client modal introduces a new default panel where the
   user can choose resolutions it wants to download
2024-08-05 08:31:59 +02:00
Chocobozzz f7ec8401c5
Revert webtorrent version to avoid native dep
Causes issues on some system:
 * https://github.com/Chocobozzz/PeerTube/issues/6518
 * https://github.com/Chocobozzz/PeerTube/issues/6486
 * https://github.com/Chocobozzz/PeerTube/issues/6502
2024-07-31 15:05:36 +02:00
Grant 4bc29f6d3f Add Express req, res to filter:api.search.videos.local.list.params 2024-06-28 09:20:39 +02:00
Chocobozzz fd4831e502
Metadata to know if the caption is auto generated 2024-06-28 08:44:59 +02:00
Chocobozzz 1bfb791e05
Integrate transcription in PeerTube 2024-06-28 08:44:58 +02:00
Chocobozzz bc8c853a53
Fix lint 2024-06-24 09:48:57 +02:00
Chocobozzz 5412465df4
Fix build 2024-06-24 09:20:32 +02:00
Chocobozzz 209043e2d4
Fix legacy upload req timeout 2024-06-24 09:10:11 +02:00
kontrollanten ab22399da0 feat(plugins/filter): add req to api.video.get.result 2024-06-21 07:01:02 +02:00
Chocobozzz 2b189131fa
Add house-keeping script 2024-06-05 15:35:58 +02:00
Chocobozzz 29329d6c45 Implement auto tag on comments and videos
* Comments and videos can be automatically tagged using core rules or
   watched word lists
 * These tags can be used to automatically filter videos and comments
 * Introduce a new video comment policy where comments must be approved
   first
 * Comments may have to be approved if the user auto block them using
   core rules or watched word lists
 * Implement FEP-5624 to federate reply control policies
2024-05-29 15:03:14 +02:00
Chocobozzz d72ef2a2b9
Fix federation when updating video privacy 2024-04-26 10:30:43 +02:00
Chocobozzz afb28272f5
Check video rights before providing AP information 2024-04-26 10:09:38 +02:00
Chocobozzz bce0f2f11b
Fix total video file size 2024-04-22 11:48:05 +02:00
Chocobozzz c67dfb979b
Support itunes:owner in podcast feed 2024-04-11 09:32:57 +02:00
Chocobozzz 5cb3e6a0b8
Use sessionId instead of IP to identify viewer
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)
2024-04-04 16:27:40 +02:00
Chocobozzz 5ef0430dfb
Display playlists if allowed to escape federation 2024-03-27 15:48:29 +01:00
Chocobozzz 11521f231f
Generate small versions of banners too 2024-03-27 15:08:09 +01:00
kontrollanten aaa5acbb0c feat(plugins): add filter:api.user.me.get.result
relates to #6219
2024-03-27 13:32:53 +01:00
Chocobozzz a159b8b517
Add ability to list and delete original file
In admin
2024-03-26 14:10:02 +01:00
Chocobozzz da63a030f3
Also add "allow-forms" to oembed 2024-03-19 15:29:32 +01:00
chagai95 e57c3024f4
Add config option to keep original video file (basic first version) (#6157)
* 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>
2024-03-15 15:47:18 +01:00
Chocobozzz 486b4a329f
Optimize config endpoint 2024-03-12 16:00:51 +01:00
Chocobozzz fb50a233f4
Add error info in payload on parent failure 2024-03-12 09:35:14 +01:00
Chocobozzz 10e78bb778
Remove twitter whitelisted option
It doesn't seem to be required
2024-03-08 10:54:29 +01:00
Chocobozzz 7be401ac76
Fix playlist elements merge on import 2024-02-28 15:55:37 +01:00
Chocobozzz f6fb7cd3e9
Ensure server actor AP object has avatars 2024-02-28 14:47:39 +01:00
Chocobozzz b6b1aaa56f
Add video aspect ratio in server 2024-02-27 15:24:34 +01:00
Chocobozzz bb7cb0d2fd
Add ability to set avatar to instance 2024-02-23 14:27:11 +01:00
Chocobozzz 9e2700b89d
Fix lint 2024-02-22 10:32:28 +01:00
Chocobozzz db69d9491e
Add abuse and registration requests stats 2024-02-21 14:57:20 +01:00
Chocobozzz fbe47a9f8e Fix build 2024-02-21 13:49:08 +01:00
Chocobozzz f7e4f62870 Refactor uploadx middlewares 2024-02-21 13:49:08 +01:00
Chocobozzz e286db3a39 Refactor caption creation 2024-02-21 13:49:08 +01:00
Chocobozzz 7986ab8452 Support chapter import/export 2024-02-21 13:49:08 +01:00
Chocobozzz 02596be702 Fix api rate limit 2024-02-21 13:49:08 +01:00
Chocobozzz 8573e5a80a Implement user import/export in server 2024-02-21 13:49:08 +01:00
Chocobozzz cbfe10a43e
Fix updating instance banner 2024-02-20 14:33:10 +01:00
Chocobozzz 7ee0efb57a
Add ability to set a banner to the instance 2024-02-20 11:33:10 +01:00
Chocobozzz 7b86b9b458
Stop caching upload after successful upload
Just forbid sending 2 concurrent requests, but let the user decide if
it wants to upload the same video multiple times
2024-02-19 14:43:19 +01:00
Chocobozzz a40981fc30
Remove / in download filename 2024-02-16 10:35:28 +01:00
Chocobozzz 22ab711501
Correctly fix video feeds endpoint 2024-02-16 09:26:14 +01:00