40 Commits

Author SHA1 Message Date
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
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
b10482e0e0 Fix lint 2024-06-27 14:34:18 +02:00
Chocobozzz
9772280e99 Upgrade to angular 18 & vite 2024-06-26 08:33:54 +02:00
Chocobozzz
be19d9be34 Move email templates in assets directory 2024-03-20 09:15:07 +01:00
Chocobozzz
c727a34cb6 Prevent aborting another live session 2024-03-18 16:09:22 +01:00
Chocobozzz
1a8b20ba30 Less verbose on expected error 2024-03-18 11:28:43 +01:00
Chocobozzz
1048d1054b Fix dev:client command 2024-03-15 16:49:55 +01:00
Chocobozzz
a043de80d2 Fix build concurrency issue 2023-12-18 09:36:08 +01:00
Chocobozzz
5a3d0650c9 server/server -> server/core 2023-10-04 15:13:25 +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
1772b383de Add peertube runner cli 2023-05-09 08:57:34 +02:00
Chocobozzz
31ee48d579 Fix error when running setup:cli 2022-09-28 14:55:15 +02:00
Chocobozzz
9452d4fd33 /!\ Use a dedicated config file for development
It means you have to replace NODE_ENV=test to NODE_ENV=dev if you use it
npm run dev:* commands are already updated
2022-07-06 16:12:17 +02:00
Chocobozzz
f8360396ff Stop using tsconfig register
Prefer to replace paths at compile time
2022-01-06 08:26:14 +01:00
Chocobozzz
9270bd3a7e Migrate to --enable-source-maps option 2022-01-03 16:37:16 +01:00
Chocobozzz
9b3294a849 Fix some build scripts and lint 2021-12-16 10:08:43 +01:00
Chocobozzz
8cbc40b2fe Move to sass module 2021-06-28 10:54:02 +02:00
Chocobozzz
27bc958674 Bidi support 2021-06-07 18:14:05 +02:00
Chocobozzz
5a547f69d5 Support encoding profiles 2020-11-25 10:07:51 +01:00
Chocobozzz
d573926e9b Add migrations for abuse messages 2020-07-31 11:35:19 +02:00
Chocobozzz
99ae9d3a9e Fix npm run dev 2020-02-19 09:14:28 +01:00
Chocobozzz
0e4338fd1d Use bash to run scripts 2020-02-19 08:56:24 +01:00
Chocobozzz
0e9c3b2810 Fix client dev mode 2020-02-10 16:39:28 +01:00
Chocobozzz
361dcebc75 Support i18n build 2020-02-10 16:39:28 +01:00
Chocobozzz
b764380ac2 Add ability to list redundancies 2020-01-28 11:35:26 +01:00
Chocobozzz
36619ac8f5 Reduce dev commands RAM usage 2020-01-22 10:18:57 +01:00
Chocobozzz
9b7668f527 Fix npm run dev script 2020-01-07 16:53:55 +01:00
Rigel Kent
9650937374 (fix) npm run dev invocation 2019-12-18 20:41:44 +01:00
Chocobozzz
03d641a0d7 Add embed api build 2019-12-18 10:14:25 +01:00
Chocobozzz
c026a2e673 Remove watch scripts 2019-12-18 10:14:24 +01:00
Chocobozzz
47f6cb31d7 Fix email to field 2019-11-29 13:36:40 +01:00
Chocobozzz
8d2be0ed7b WIP plugins: move plugin CLI in peertube script
Install/uninstall/list plugins remotely
2019-07-24 10:58:16 +02:00
Chocobozzz
2adfc7ea9a Refractor videojs player
Add fake p2p-media-loader plugin
2019-02-11 09:13:02 +01:00
Chocobozzz
8244c85ad6 Fix npm run dev:server 2018-06-29 09:33:36 +02:00
Chocobozzz
6cca7360eb Reduce bundle sizes 2018-06-07 16:50:33 +02:00
Léo Andrès
0e4ffb4b67 Clean shell scripts (#398) 2018-03-27 10:35:12 +02:00
Chocobozzz
93e1258c7c Move video file metadata in their own table
Will be used for user video quotas and multiple video resolutions
2017-08-25 11:36:23 +02:00
Chocobozzz
18c8e94508 Video search -> case insensitive 2017-07-06 18:01:02 +02:00
Chocobozzz
66dd264f7b Better build/dev scripts 2017-06-11 11:36:05 +02:00