Commit Graph

578 Commits

Author SHA1 Message Date
Chocobozzz 70ee15d3aa
Add ability to configure stun servers 2024-10-24 10:36:17 +02:00
Chocobozzz 47a7007f74
Merge branch 'release/6.3.0' into develop 2024-10-08 08:42:56 +02:00
Chocobozzz e2c7d94915
Don't add mobile buttons without player controls 2024-10-07 11:29:26 +02:00
Chocobozzz d96bc49742
Fix fullscreen copy
It seems we can't copy element outside the fullscreen element
2024-10-07 09:34:32 +02:00
Chocobozzz 1bca41366d
Improve caption edition 2024-09-25 16:06:36 +02:00
Chocobozzz 7d3a9cabdc
Fix mobile buttons in player 2024-09-19 09:48:56 +02:00
Chocobozzz 137badb6db
Improve mobile double tap 2024-09-16 10:52:45 +02:00
Chocobozzz e0901185ff
Fix search input ellipsis 2024-09-05 15:57:00 +02:00
Chocobozzz e740e2ea3f
Fix player with useDefineForClassFields: true
See https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#the-usedefineforclassfields-flag-and-the-declare-property-modifier

TLDR: everything set in super(...) is overridden by our local
declaration
So prefer to initialize attributes in constructor + use declare to not
emit declarations
2024-09-05 14:48:24 +02:00
Chocobozzz dc151d3f51
Fix google bot detection 2024-08-19 17:02:29 +02:00
Chocobozzz 1acfda0c3c
Fix chapters icon layout shift 2024-08-16 13:21:50 +02:00
Chocobozzz 9a6e68d505
Isolated modules to true in client
Speeds up compilation
2024-08-16 10:52:01 +02:00
Chocobozzz af9f20d60c
Relax error logs with google bot 2024-08-14 15:10:59 +02:00
Chocobozzz be4bf80883
Add transcription widget 2024-08-14 10:34:44 +02:00
Chocobozzz 25684e837c
Fix client player error on fast restream 2024-08-09 10:00:34 +02:00
Chocobozzz da3420ac40
Avoid too many errors in client on fast-restream 2024-08-08 15:22:55 +02:00
Chocobozzz 62bf86c186
Introduce bufferStalled playback metric 2024-08-08 14:41:34 +02:00
Chocobozzz f2887d29b8
Still warn on metrics issue but only the client 2024-08-08 14:13:24 +02:00
Chocobozzz e7e7eca508
Send fatal player errors to server 2024-08-08 14:06:14 +02:00
Chocobozzz b807a5a01e
Don't send hls warnings to server
Not relevant for the admin
2024-08-08 13:51:36 +02:00
Chocobozzz 64f943c1cb
Don't log if it's google bot
This error is expected
2024-08-08 13:40:34 +02:00
Chocobozzz 1ed2007190
Don't warn, safari seems to block the request 2024-08-08 13:35:17 +02:00
Chocobozzz 691385517c
Fix p2p media loader error when reloading player 2024-08-08 12:15:18 +02:00
Chocobozzz 226f712d93
Improve chapter marker in control bar 2024-08-08 09:35:25 +02:00
Chocobozzz 21215122a8
Better resolution label for custom video aspect 2024-08-06 16:01:38 +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 5d62c3c1cb
Add "auto-generated" caption info 2024-07-10 12:31:34 +02:00
Chocobozzz f1aae9163f
Fix hls seeking 2024-07-02 10:45:42 +02:00
Chocobozzz 01b3396c80
Better view handling with looped videos 2024-07-02 09:41:33 +02:00
kontrollanten 3c9d1ff5e3 client: extend logging
In able to make it easier to debug issues.
2024-06-28 09:21:45 +02:00
Chocobozzz 9772280e99
Upgrade to angular 18 & vite 2024-06-26 08:33:54 +02:00
Chocobozzz cc0a39c2c4
Fix "update your settings" keyboard navigation 2024-06-11 09:27:28 +02:00
Chocobozzz 2d9e4188b5
Fix keyboard settings menu keyboard navigation 2024-06-11 09:15:54 +02:00
Chocobozzz 00b1adab86
Fix player back button label 2024-06-10 16:27:01 +02:00
Chocobozzz 7c9f07e140
Improve `Video` AP compatibility
Compat with text/html descriptions
Compat with SPDX for licences
Compat with missing sensitive attribute
Compat with missing tag attribute
Compat with missing video file magnet URI
Compat with missing streaming playlist segmentsSha256Url
Compat with optional comments/likes/dislikes/shares URI in video object

Add more debug logs when the object is not valid
2024-06-03 09:36:29 +02:00
Chocobozzz 713e489de4
Decrease send metrics client log level 2024-05-30 10:41:33 +02:00
Chocobozzz 4e09837aa0
Fix player subtitles on iOS 2024-04-24 15:57:24 +02:00
Chocobozzz 43373e777b
Fix peertube-x svg size 2024-04-16 09:42:39 +02:00
Chocobozzz f2b4f409a3
Fix setting video subtitle in URL 2024-04-11 08:39:11 +02:00
Chocobozzz abc6c2b7f4
Merge branch 'release/6.0.0' into develop 2024-04-05 08:28:39 +02:00
Chocobozzz 47731d85c4
Typo 2024-04-05 08:20:15 +02:00
Chocobozzz 08cce23535
Prefer innerText instead of innerHTML
The previous implementation can lead to XSS injection
2024-04-04 16:28:22 +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 a93217d2da
Prefer innerText instead of innerHTML
The previous implementation can lead to XSS injection
2024-04-04 13:59:15 +02:00
Chocobozzz 11521f231f
Generate small versions of banners too 2024-03-27 15:08:09 +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 2fc3b90cb7
Fix local E2E tests 2024-03-06 10:36:40 +01:00
Chocobozzz 15b8f96b75
Add icon to owners/moderators only options 2024-03-06 10:35:20 +01:00
Chocobozzz 2a69a02527
Fix poster with pending lives 2024-03-05 15:28:53 +01:00
Chocobozzz cd9b8c2cc8
Better video player responsive 2024-02-28 14:25:35 +01:00