1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-03 01:39:37 +02:00
Commit graph

91 commits

Author SHA1 Message Date
Chocobozzz
74e97347bb
Add ability to customize player settings 2025-09-12 08:54:50 +02:00
諏訪子
ef28ba3038
add x link
Add missing code
2025-09-10 11:51:58 +02:00
ilfarpro
dd52e8b89e
Feature for runners - handle storyboard-generation-job (#7191)
* Implement processing storyboards by runners

* Fixed storyboard generation by runners

* use common code patterns

* fix import

* improve debug logging for storyboard generation

* config option for storyboard processing with remote-runners

* refactor repetitive pattern

* refactor storyboard related code to share common utlities

* Fix test

* Fix storyboard generation config logic

* Improve logging

* Added tests for storyboard generation with runners

* Refactor PR

---------

Co-authored-by: ilfarpro <ilfarpro@ya.ru>
Co-authored-by: Chocobozzz <me@florianbigard.com>
2025-09-10 11:50:06 +02:00
Gianantonio Pini
e74bf8ae2a
feat(config): add admin options to customize default "Browse videos" behaviour (#7193)
* feat(customBrowseVideosDefaultSort): update server config

* feat(customBrowseVideosDefaultSort): update client admin-config-general component

* feat(customBrowseVideosDefaultSort): add new consistency check to server checker-after-init

* feat(customBrowseVideosDefaultSort): update config .yaml with more details about available options

* feat(customBrowseVideosDefaultSort): refactor consistency check in server checker-after-init

* feat(customBrowseVideosDefaultSort): client, add new select-videos-sort shared component

* feat(customBrowseVideosDefaultSort): client, refactor admin-config-general component to use new select-videos-sort shared component

* feat(customBrowseVideosDefaultSort): client, fix my-select-videos-sort width in admin-config-general

* feat(customBrowseVideosDefaultSort): client, update video-filters-header scss

* feat(customBrowseVideosDefaultSort): client, update videos-list-all component

* feat(config): refactor checkBrowseVideosConfig logic into separate custom validator

* feat(config): refactor isBrowseVideosDefaultSortValid to use template literals

* feat(config): refactor isBrowseVideosDefaultSortValid

* feat(config): add check for invalid browse videos config to customConfigUpdateValidator

* feat(config): group browse-videos tests in describe block

* feat(config): refactor to use client.browse_videos section, instead of browse.videos section

* feat(config): add browse_videos default_scope config key (config and server changes)

* feat(config): add browse_videos default_scope config key (client changes)

* Reorder browse videos before videos

* Fix i18n message

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2025-09-10 10:41:45 +02:00
Chocobozzz
da23ad1d09
Add ability for admin to configure request timeout
AFAIK we can't set a specific timeout on a specific route/request, so
the admin must set it globally
2025-08-11 16:55:37 +02:00
Bojidar Marinov
8c9b4abe45
Add Scheduled Lives functionality (#7144)
* Add Scheduled Lives functionality through originallyPublishedAt

Implements #6604 by reusing the originallyPublishedAt field of isLive videos to mark "waiting for live" videos as scheduled at a set time.

* Hide scheduled lives from Browse Videos page

* Add tests for Scheduled Live videos

* Make scheduled lives use a dedicated scheduledAt field in the VideoLive table

* Plan live schedules to evolve in the future

 * Use a dedicated table to store live schedules, so we can add multiple
   schedules in the future and also add a title, description etc. for a
   specific schedule
 * Adapt REST API to use an array to store/get live schedules
 * Add REST API param so it's the client choice to include or not
   scheduled lives
 * Export schedules info in user import/export

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2025-08-01 15:06:27 +02:00
Chocobozzz
57caf25611
Add ability to list and revoke token sessions 2025-07-30 11:42:49 +02:00
Chocobozzz
3e1cdb9fa2
Add runner version info 2025-07-29 10:30:33 +02:00
Chocobozzz
13bceb5f40
Better thumbnail error handling
* Had to upgrade to es2022 to use `cause` error
 * Had to declare class attributes with declare for sequelize models, so
   it still works as before
2025-07-25 17:01:36 +02:00
Chocobozzz
d6e4dac032
Add email translations
Convert emails from Pug template to Handlebars because i18next doesn't
support Pug
2025-07-24 09:18:04 +02:00
Chocobozzz
0adafa0fc0
Add ability to order playlists 2025-07-06 13:05:01 +02:00
Chocobozzz
c0f4de6077
Add ability to customize instance logo 2025-06-24 06:38:29 +02:00
Chocobozzz
f5fd593976
Add ability for admins to refuse remote comments 2025-06-18 10:05:46 +02:00
Chocobozzz
031b61c466
Add ability to disable channel followers 2025-06-18 06:40:19 +02:00
Chocobozzz
ce28c64750
Support variable in email subject/signature 2025-06-18 06:40:19 +02:00
Chocobozzz
e9bb222b6c
Add defaults values config in web admin 2025-06-18 06:40:19 +02:00
Chocobozzz
eb11e5793f
Add admin config wizard 2025-06-18 06:40:19 +02:00
Chocobozzz
a6b89bde2b
Redesign admin config and add theme customization 2025-06-18 06:40:19 +02:00
Chocobozzz
dc05b37d17
Add ability to disable NSFW flags settings 2025-05-12 10:18:55 +02:00
Chocobozzz
034e1bf328
Migrate eslint to v9 2025-05-07 15:49:23 +02:00
Chocobozzz
dd4027a10f
Improve NSFW system
* Add NSFW flags to videos so the publisher can add more NSFW context
 * Add NSFW summary to videos, similar to content warning system so the
   publisher has a free text to describe NSFW aspect of its video
 * Add additional "warn" NSFW policy: the video thumbnail is not blurred
   and we display a tag below the video miniature, the video player
   includes the NSFW warning (with context if available) and it also
   prevent autoplay
 * "blur" NSFW settings inherits "warn" policy and also blur the video
   thumbnail
 * Add NSFW flag settings to users so they can have more granular
   control about what content they want to hide, warn or display
2025-04-30 15:54:11 +02:00
Chocobozzz
89c0f36a53
Run transcription after file replacement 2025-04-17 15:15:21 +02:00
Chocobozzz
986e71a1f7
Better ask email verification flow
Allow user to resend the email verification link when changing the
current email
Fix success messages when validating a new email
2025-04-15 10:36:12 +02:00
Chocobozzz
a6f2e92c35
Limit max live sessions 2025-04-10 13:02:05 +02:00
Chocobozzz
e7753c1b62
Prefer handle param name 2025-04-10 09:55:55 +02:00
Chocobozzz
6f68db1be9
Use handle for param name 2025-04-10 09:44:50 +02:00
Chocobozzz
334ad174a9
Refactor account/channel manage checks
Use a more robust approach by requiring the caller to choose if it needs
to check the actor is local and/or the user can manage it
2025-04-10 09:07:42 +02:00
Chocobozzz
6e44e7e29a
Create and inject caption playlist in HLS master 2025-04-09 16:18:38 +02:00
kontrollanten
a7be820abc
add user agent video stats (#6871)
* add user agent video stats

closes #6832

* Disable indexes, support start/end dates

* move ua parsing to client

* Openapi, inline body request, update tests

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2025-04-07 10:29:59 +02:00
Chocobozzz
b295dd5820
Redesign manage my videos
* Use a table to list my videos for a clearer overview and so it's
   easier to add bulk actions in the future
 * Use a "Manage" video page with a proper URL navigation
 * Add "Stats" and "Studio" in this "Manage" page
2025-04-02 10:49:25 +02:00
Chocobozzz
530a083cea
More robust create playlist 2025-02-21 10:20:10 +01:00
Chocobozzz
0bf17d869c
Add typeOneOf filter to list notifications 2025-02-20 11:48:15 +01:00
Chocobozzz
e002b6fcd6
Add channelUpdatedAt list subscriptions sort 2025-02-12 14:37:24 +01:00
Chocobozzz
260447942a
Add ability to put captions in object storage
Deprecate:
 * `path` and `url` of `ActorImage` (used to represent account/channel
   avatars/banners) in favour of `fileUrl`
 * `path` of `AvatarInfo` (used in notifications) in favour of `fileUrl`
 * `captionPath` of `VideoCaption` in favour of `fileUrl`
 * `storyboardPath` of `Storyboard` in favour of `fileUrl`
2025-02-07 09:35:39 +01:00
kontrollanten
372e15eb49 fix(plugins/hooks): call user delete upon delete me
closes #6859
2025-01-28 09:39:30 +01:00
Chocobozzz
f4d6cecf10
Redesign about pages 2025-01-09 10:29:17 +01:00
Chocobozzz
3842a527f6
Remove deprecated server code 2024-11-04 10:23:01 +01:00
Chocobozzz
a91bd80087
Add ability to filter requested runner jobs 2024-10-31 10:22:35 +01:00
Chocobozzz
18d9858109
Fix creating playlist without thumbnail 2024-10-29 16:12:38 +01:00
Chocobozzz
fc771a63e1
Add more logs to common user endpoints 2024-09-13 09:21:58 +02:00
Chocobozzz
da6d0bfe88
More robust caption update
Avoid file not found when the transaction is retried
2024-09-12 10:52:18 +02:00
Chocobozzz
d24d221550
Add SSRF protection 2024-08-14 15:33:57 +02:00
Chocobozzz
bbaf96d60d
Support max FPS configuration 2024-08-13 09:38:36 +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
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