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

160 commits

Author SHA1 Message Date
Chocobozzz
74e97347bb
Add ability to customize player settings 2025-09-12 08:54:50 +02:00
Chocobozzz
48ea20c9e4
Upgrade to videojs v8 2025-09-12 08:54:49 +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
d1bb28374b
Fix theme crash in embed 2025-05-30 15:02:45 +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
fbe794f9a4
Don't send auth header to object storage 2025-04-17 15:57:20 +02:00
Chocobozzz
50b067f9cd
Separate player in dedicated build
* Separate player in a dedicated build, that we can control using vite.
   We had too many issues with Angular build system and we can now
   have the same build between the embed and the client. We can also
   embed SVG directly in the CSS
 * Upgrade p2p-media-loader to v2
 * Update internal infohashes to reflect this p2p-media-loader protocol
   change (they are updated at PeerTube startup)
 * Minimum required iOS version is now v14
2025-02-10 15:38:20 +01:00
Chocobozzz
f83674c143
Global client redesign
* Split "my library" into "video space (channels, videos...)" and "my library (playlists, history...)"
 * Split "admin" into "overview (users, videos...)", "moderation (abuses, blocks, registrations...)" and "settings (configuration, runners...)"
 * Reorganize the header and the left menu: account settings/notifications are now in the header
 * Add instance information context in the left menu
 * Merge dedicated videos pages for "recently added", "trending", "local videos" into a "browse videos" page that includes quick filters
 * Clean up entire CSS
 * Clean CSS variables so it's easier to theme PeerTube (some new variables fallback to old variables to limit currnet themes breakages)
 * Replace the current light theme into a new one (beige)
 * Add a dark (brown) theme (included in PeerTube core)
 * Fix accessibility issues with old light theme colors (white on orange button for example)
 * Redesign the left menu, the horizontal menu, form controls and buttons, "Discover videos" page and common video filters panel
 * Replace/remove/add some global icon
2024-11-23 14:44:49 +01:00
Chocobozzz
25684e837c
Fix client player error on fast restream 2024-08-09 10:00:34 +02:00
Chocobozzz
efb27fb9d1
Prevent poster flickering 2024-08-08 08:38:58 +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
121a617bec Ensure we use the correct player video el 2024-05-30 16:31:16 +02:00
Kent Anderson
58f156e748 feat-1322 Version 3 without server side code changes 2024-05-30 16:31:16 +02:00
Chocobozzz
d05af753bf
Fix embed api on ios
video.js clones the video element so we must rely on the player wrapper
instead of the video element
2024-05-16 09:45:55 +02:00
Chocobozzz
b13460a10a
Add ability to set password from embed API 2023-11-23 08:14:54 +01:00
Chocobozzz
77b70702d2
Add video chapters support 2023-08-28 16:17:31 +02:00
Chocobozzz
3a4992633e
Migrate server to ESM
Sorry for the very big commit that may lead to git log issues and merge
conflicts, but it's a major step forward:

 * Server can be faster at startup because imports() are async and we can
   easily lazy import big modules
 * Angular doesn't seem to support ES import (with .js extension), so we
   had to correctly organize peertube into a monorepo:
    * Use yarn workspace feature
    * Use typescript reference projects for dependencies
    * Shared projects have been moved into "packages", each one is now a
      node module (with a dedicated package.json/tsconfig.json)
    * server/tools have been moved into apps/ and is now a dedicated app
      bundled and published on NPM so users don't have to build peertube
      cli tools manually
    * server/tests have been moved into packages/ so we don't compile
      them every time we want to run the server
 * Use isolatedModule option:
   * Had to move from const enum to const
     (https://www.typescriptlang.org/docs/handbook/enums.html#objects-vs-enums)
   * Had to explictely specify "type" imports when used in decorators
 * Prefer tsx (that uses esbuild under the hood) instead of ts-node to
   load typescript files (tests with mocha or scripts):
     * To reduce test complexity as esbuild doesn't support decorator
       metadata, we only test server files that do not import server
       models
     * We still build tests files into js files for a faster CI
 * Remove unmaintained peertube CLI import script
 * Removed some barrels to speed up execution (less imports)
2023-08-11 15:02:33 +02:00
Chocobozzz
8953f055c8
Rename player embed api 2023-07-10 16:08:53 +02:00
Chocobozzz
a1bd2b77d9
Remove webtorrent support from client 2023-07-10 16:08:28 +02:00
Chocobozzz
638a295021
Support storyboards in embed 2023-06-29 10:17:59 +02:00
Wicklow
40346ead2b
Feature/password protected videos (#5836)
* Add server endpoints

* Refactoring test suites

* Update server and add openapi documentation

* fix compliation and tests

* upload/import password protected video on client

* add server error code

* Add video password to update resolver

* add custom message when sharing pw protected video

* improve confirm component

* Add new alert in component

* Add ability to watch protected video on client

* Cannot have password protected replay privacy

* Add migration

* Add tests

* update after review

* Update check params tests

* Add live videos test

* Add more filter test

* Update static file privacy test

* Update object storage tests

* Add test on feeds

* Add missing word

* Fix tests

* Fix tests on live videos

* add embed support on password protected videos

* fix style

* Correcting data leaks

* Unable to add password protected privacy on replay

* Updated code based on review comments

* fix validator and command

* Updated code based on review comments
2023-06-29 09:48:55 +02:00
Chocobozzz
5490930428
Remove suppressImplicitAnyIndexErrors
It's deprecated by TS
2023-05-24 16:56:05 +02:00
Chocobozzz
7dcd45a9a2
Don't not autoplay live without autoplay setting 2022-12-14 14:06:12 +01:00
Chocobozzz
59a643aa5c
Force autoplay when live starts
Using the mute
2022-11-15 11:57:49 +01:00
Chocobozzz
c241947630
Correctly terminate an ended live 2022-11-15 10:50:57 +01:00
Chocobozzz
d91021548e
Fix embed api with playlists 2022-11-14 10:26:41 +01:00
Chocobozzz
0177101284 Fix tests 2022-10-24 14:48:24 +02:00
Chocobozzz
3545e72c68 Put private videos under a specific subdirectory 2022-10-24 14:48:24 +02:00
Chocobozzz
b1934b7e9c
Fix broken player on live reload 2022-10-24 10:32:35 +02:00
Chocobozzz
42b4063699
Add ability for client to create server logs 2022-07-18 11:37:18 +02:00
Chocobozzz
bd2b51be4b
Put instance name in embed button 2022-06-28 14:11:10 +02:00
Chocobozzz
d3f4689bde
Add live autostart/messages in embed 2022-05-31 14:24:07 +02:00
Chocobozzz
f1a0f3b701
Refactor embed 2022-05-31 10:39:56 +02:00
Chocobozzz
60f013e103
Add control bar option for peertube player 2022-05-20 09:59:53 +02:00
Chocobozzz
5302f77d09
Support more plugin helpers in embed 2022-03-23 14:06:43 +01:00
Chocobozzz
57d6503286
Reorganize player files 2022-03-14 14:36:35 +01:00
Chocobozzz
f443a74649 Add latency setting support 2022-03-09 09:23:10 +01:00
Chocobozzz
01dd04cd5a
Display avatar in embed poster 2022-03-08 16:36:08 +01:00
Chocobozzz
c4207f978e
Fast forward on HLS decode error 2022-02-02 11:26:18 +01:00
Chocobozzz
8530211822
Add ability to disable p2p in embed with URL 2021-12-16 10:08:55 +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
d63e6d4604
Add ability for plugins to register client routes 2021-12-10 15:01:12 +01:00
Chocobozzz
5196817c5d
Fix privacy concern for remote videos 2021-10-21 09:24:22 +02:00
Chocobozzz
c21a0aa855
Display a message in embed on unsupported web browser 2021-09-02 09:31:07 +02:00
Chocobozzz
98ab5dc810
Remove useless async 2021-08-26 10:01:42 +02:00
Chocobozzz
e5a818d3cb
Speed up client lint 2021-08-18 10:44:16 +02:00
Chocobozzz
9df52d660f
Migrate client to eslint 2021-08-18 08:35:06 +02:00
Chocobozzz
200eaf5152
Remove thumbnail flash for autoplay 2021-08-02 11:46:11 +02:00
Chocobozzz
29837f8885
Add ability to search by host in server 2021-07-27 17:10:52 +02:00