Commit Graph

147 Commits (fbabfde819042ccca0fadf9a7c0be87b81f57b8c)

Author SHA1 Message Date
Chocobozzz 25684e837c
Fix client player error on fast restream 2024-08-09 10:00:34 +02:00
Chocobozzz 62bf86c186
Introduce bufferStalled playback metric 2024-08-08 14:41:34 +02:00
Chocobozzz 658241d8c6
Support cover when downloading audio 2024-08-08 10:42:15 +02:00
Chocobozzz 56d48fc41b
Notify local users with internal video privacy 2024-08-07 09:26:07 +02:00
Chocobozzz b5fd7881a0
Fix transcoding flow 2024-08-06 14:30:08 +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 5e82c1932e
Correctly set tags to replays of permanent lives 2024-08-05 16:23:44 +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 22e9d9a1fe
Fix updating hls infohash on privacy update 2024-07-31 09:26:54 +02:00
Chocobozzz 44919a8d57
Fix hidden runner jobs tab
If remote runners feature is only enabled on transcription
2024-07-31 08:56:33 +02:00
Chocobozzz 300676f62b
Don't replace caption on transcription 2024-07-12 16:20:26 +02:00
Chocobozzz e99e4aa93c
Run transcription after studio 2024-07-11 11:29:46 +02:00
Chocobozzz c5de5ef1d0
Fix registering unamed settings 2024-07-10 12:12:07 +02:00
Chocobozzz 471bf5bbce
Don't block video files on transcription 2024-07-04 11:18:04 +02:00
Chocobozzz 8ab6f23a00
Don't block video update on storyboard generation 2024-07-03 15:40:10 +02:00
Chocobozzz 2d26eff129
Don't create pendingTranscription twice 2024-07-03 08:52:05 +02:00
Chocobozzz 01b3396c80
Better view handling with looped videos 2024-07-02 09:41:33 +02:00
Chocobozzz ebcf3329f5
More robust transcription error job handler 2024-07-01 14:38:19 +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 9772280e99
Upgrade to angular 18 & vite 2024-06-26 08:33:54 +02:00
Chocobozzz 05d84f659d
Fix loading actor involved in video 2024-06-21 16:05:40 +02:00
Chocobozzz 985e79f61e
Fix lint and tests 2024-06-21 15:28:09 +02:00
Chocobozzz a722194809
Update server dependencies 2024-06-21 14:39:50 +02:00
Chocobozzz 802601c241
Fix channel update federation 2024-06-20 08:48:24 +02:00
Chocobozzz 346be1d478
Support Service AP actors 2024-06-19 17:08:59 +02:00
kontrollanten ca26687e1f
feat: config option object_storage.max_request_attempts (#6418)
* feat: config option object_storage.max_attempts

Backblaze recommends to have a high amount of attempts since they've
designed their architecture so that it will return 5xx errors to
indicate that the client should do a new attempt.

https://www.backblaze.com/blog/b2-503-500-server-error/

closes #6415

* Rephrase comment

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
2024-06-11 13:57:18 +02:00
Chocobozzz 585050821a
Also prune storyboards and actor images 2024-06-05 15:47:37 +02:00
Chocobozzz 3427330611
Support update object storage urls 2024-06-05 09:01:40 +02:00
Chocobozzz 96b9748585
Support CLI move of original video file 2024-06-04 09:08:24 +02:00
Chocobozzz 54c140c800
Support object storage in prune script
Also prune original files and user exports
2024-06-03 16:37:44 +02:00
Chocobozzz 568a1b1e85
Fix `segmentsSha256Url` in export 2024-06-03 09:44:12 +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 1e3a5b25c3
Plan to have multiple sizes in the future 2024-05-31 09:02:34 +02:00
Chocobozzz 6a4db88e5c
Handle 410 HTTP response code for AP objects 2024-05-30 10:28:20 +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
kontrollanten 1eb8fc2c06 fix(server/plugins): avoid duplicate settings
Filter settings so that the name property is unique.

closes #6356
2024-05-17 10:43:47 +02:00
Chocobozzz 5dd0721bee
Merge branch 'release/6.1.0' into develop 2024-05-16 11:39:53 +02:00
Chocobozzz 3d105296e6
Fix concurrent live streams serialization issue 2024-05-16 11:38:36 +02:00
kontrollanten 2177995056 feat(server): dont client cache HTML files
Tell the clients to not cache the HTML response.

closes #6393
2024-05-13 11:17:50 +02:00
Chocobozzz afb28272f5
Check video rights before providing AP information 2024-04-26 10:09:38 +02:00
Chocobozzz b8635c2606
Compact json-ld AP objects 2024-04-25 11:21:55 +02:00
Chocobozzz f84ac3ba41
Fix local video creator crash 2024-04-05 08:29:23 +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
kontrollanten 6f6abcabfb
feat(plugins): add peertubeHelpers.loadByIdOrUUIDWithFiles (#6302) 2024-04-04 08:20:09 +02:00
Chocobozzz 9b70c8e7e8
Do not take into account empty view sections 2024-04-03 14:25:21 +02:00
Chocobozzz 3f8454ce63
Fix creating remote tracker URLs on video creation 2024-03-27 15:26:15 +01:00
Chocobozzz 11521f231f
Generate small versions of banners too 2024-03-27 15:08:09 +01:00
Chocobozzz 5b8da4e051
Method typo 2024-03-25 15:14:56 +01:00
Chocobozzz be19d9be34
Move email templates in assets directory 2024-03-20 09:15:07 +01:00