Commit Graph

28 Commits (9f672b01a4c5c0147246524abcf5d4ff7897bf46)

Author SHA1 Message Date
Chocobozzz 565a11d8d3
Don't resize remote actor images
Use their own size. In the future we may imagine resizing remote images
on demand like classic CDNs
2024-09-12 08:46:08 +02:00
Chocobozzz 78149322ee
Remove useless option 2024-09-10 14:11:04 +02:00
Chocobozzz c255ea92cf
Update server dependencies 2024-08-16 14:27:49 +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 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 8ab6f23a00
Don't block video update on storyboard generation 2024-07-03 15:40:10 +02:00
Chocobozzz 1bfb791e05
Integrate transcription in PeerTube 2024-06-28 08:44:58 +02:00
Chocobozzz 0adbc73eb9
Fix HLS audio desync on some videos 2024-06-12 10:58:07 +02:00
Chocobozzz 4ea659d569
Handle videos with FPS < 1 2024-05-29 08:56:53 +02:00
Chocobozzz 9b70c8e7e8
Do not take into account empty view sections 2024-04-03 14:25:21 +02:00
Chocobozzz 058ef6912c
Remove deprecated transcoding type 2024-03-25 15:17:02 +01:00
Chocobozzz c09e27d77a
Optimize transcoding profile building 2024-03-19 09:53:59 +01:00
Chocobozzz 46950fbcc8
Fix encoder after transcoding profile deletion 2024-03-12 10:44:20 +01:00
Chocobozzz 888b142e2e
Fix storyboard generation with some videos
Where `t` variable is never an integer due to our setpts formula
2024-03-11 15:40:14 +01:00
Chocobozzz b6b1aaa56f
Add video aspect ratio in server 2024-02-27 15:24:34 +01:00
Chocobozzz fb2dc40858
Improve generated image quality 2024-02-26 11:33:17 +01:00
Chocobozzz 7b23f24b24
Fix thumbnail generation when on bad input seek 2023-12-19 08:23:38 +01:00
Chocobozzz 3da9fbbe39
Adapt storyboard sprite ratio 2023-11-09 09:03:32 +01:00
Chocobozzz 2bc4d26b94
Add ability to customize frames to analyze 2023-11-08 10:18:39 +01:00
Chocobozzz 272a902b2a
Optimize video thumbnail generation
Process images in worker threads
Reduce ffmpeg calls
2023-10-20 16:00:36 +02:00
Chocobozzz 58fda6d416
Fix upload with chapters having non int timecode 2023-10-12 15:32:01 +02:00
Chocobozzz fbc7f1a00d
Fix video quality on high resolution/fps 2023-10-04 09:21:14 +02:00
Chocobozzz 1022e27309
Fix live replay privacy change 2023-09-01 16:47:25 +02:00
Chocobozzz d8a80446da
Reduce ffmpeg thumbnail generation load
Can also lead to memory issues with big values (default is 100)
2023-08-28 17:50:47 +02:00
Chocobozzz 77b70702d2
Add video chapters support 2023-08-28 16:17:31 +02:00
Seth Falco 2055962c84 fix: handle git installation of ffmpeg 2023-08-18 10:17:16 +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