Commit Graph

254 Commits (d97484c2f74a5a82f81e038d8bc1273894204d14)

Author SHA1 Message Date
Chocobozzz 16d9204ea8
Replace sanitize-html by dompurify in frontend
It's lighter and we don't have native dependencies warnings in web
browser
2024-08-16 10:41:02 +02:00
Chocobozzz 38cc3910ff
Fix tests 2024-08-14 16:14:06 +02:00
Chocobozzz b708d2102a
Regenerate code contributors 2024-08-14 15:36:35 +02:00
Chocobozzz d24d221550
Add SSRF protection 2024-08-14 15:33:57 +02:00
Chocobozzz e6de476ae8
Add ability to disable federation 2024-08-14 14:12:37 +02:00
Chocobozzz 7d52f17a35
Fix tests 2024-08-14 11:07:13 +02:00
Chocobozzz 3a2e457320
Fix tests 2024-08-13 14:51:30 +02:00
Chocobozzz 38dbafcf63
Support youtube-dl executables
Also disable youtube tests in CI due to youtube blocking
2024-08-13 14:20:08 +02:00
Chocobozzz 5439a591e0
Add ability to set proxies to youtube-dl 2024-08-13 10:49:31 +02:00
Chocobozzz bbaf96d60d
Support max FPS configuration 2024-08-13 09:38:36 +02:00
Chocobozzz 90859f2b61
Reduce peertube types package size 2024-08-13 09:38:35 +02:00
Chocobozzz 25684e837c
Fix client player error on fast restream 2024-08-09 10:00:34 +02:00
Chocobozzz d47d95cb6f
More robust encrypt/decrypt test 2024-08-09 09:16:00 +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 84e9b0bfea
Fix import tests 2024-08-08 07:32:11 +02:00
Chocobozzz 56d48fc41b
Notify local users with internal video privacy 2024-08-07 09:26:07 +02:00
Chocobozzz da992cbcab
Fix tests 2024-08-07 08:17:40 +02:00
Chocobozzz 21215122a8
Better resolution label for custom video aspect 2024-08-06 16:01:38 +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 f00d656ba1
Fix peertube runner tests 2024-08-06 11:15:05 +02:00
Chocobozzz 0a87497a11
Merge branch 'release/6.2.0' into develop 2024-08-05 16:34:58 +02:00
Chocobozzz e7b9311e92
Don't send m3u8 containing non existing chunks 2024-08-05 16:32:55 +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 5276f236f0
Fix tracker test 2024-07-31 16:00:31 +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 a9d08d2646
Correctly handle invalid current password 2024-07-31 08:35:24 +02:00
Chocobozzz 300676f62b
Don't replace caption on transcription 2024-07-12 16:20:26 +02:00
Chocobozzz 6379d42d64
Fix tests build 2024-07-11 16:21:57 +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 07058e17c3
Better whisper-ctranslate vad filter option 2024-07-03 17:08:32 +02:00
Chocobozzz efa58350eb
Fix transcription tests 2024-07-03 16:14:54 +02:00
Chocobozzz 8ab6f23a00
Don't block video update on storyboard generation 2024-07-03 15:40:10 +02:00
Chocobozzz c289c86741
Add vad_filter to ctranslate transcriber
Helps us to correctly detect the language if there is no voice in the
first 30 seconds

Also helps to lower hallucinations
2024-07-03 15:23:26 +02:00
Chocobozzz 2d26eff129
Don't create pendingTranscription twice 2024-07-03 08:52:05 +02:00
Chocobozzz 0870a3fe51
Fix check logs params tests 2024-07-02 13:16:59 +02:00
Chocobozzz 9ee467b9cd
Better whisper logging 2024-07-02 09:01:54 +02:00
Chocobozzz 3a71086e35
Correctly handle transcription conflicts 2024-06-28 14:42:19 +02:00
Chocobozzz 0b30e58f6f
Remove verbose option from transcription
Can be specified on-demand using NODE_DEBUG=execa env variable
2024-06-28 08:51:35 +02:00
Chocobozzz b66963fe6f
Runner can choose job type 2024-06-28 08:44:59 +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
lutangar ef14cf4a5c
feat(transcription): groundwork
chore: fiddling around some more

chore: add ctranslate2 and timestamped

chore: add performance markers

chore: refactor test

chore: change worflow name

chore: ensure Python3

chore(duration): convert to chai/mocha syntahx

chore(transcription): add individual tests for others transcribers

chore(transcription): implement formats test of all implementations

Also compare result of other implementation to the reference implementation

chore(transcription): add more test case with other language and models size and local model

chore(test): wip ctranslate 2 adapat

chore(transcription): wip transcript file and benchmark

chore(test): clean a bit

chore(test): clean a bit

chore(test): refacto timestamed spec

chore(test): update workflow

chore(test): fix glob expansion with sh

chore(test): extract some hw info

chore(test): fix async tests

chore(benchmark): add model info

feat(transcription): allow use of a local mode in timestamped-whisper

feat(transcription): extract run and profiling info in own value object

feat(transcription): extract run concept in own class an run more bench

chore(transcription): somplify run object only a uuid is now needed and add more benchmark scenario

docs(transcription): creates own package readme

docs(transcription): add local model usage

docs(transcription): update README

fix(transcription): use fr video for better comparison

chore(transcription): make openai comparison passed

docs(timestamped): clea

chore(transcription): change transcribers transcribe method signature

Introduce whisper builtin model.

fix(transcription): activate language detection

Forbid transcript creation without a language.
Add `languageDetection` flag to an engine and some assertions.

Fix an issue in `whisper-ctranslate2` :
https://github.com/Softcatala/whisper-ctranslate2/pull/93

chore(transcription): use PeerTube time helpers instead of custom ones

Update existing time function to output an integer number of seconds and add a ms human-readable time formatter with hints of tests.

chore(transcription): use PeerTube UUID helpers

chore(transcription): enable CER evaluation

Thanks to this recent fix in Jiwer <3
https://github.com/jitsi/jiwer/issues/873

chore(jiwer): creates JiWer package

I'm not very happy with the TranscriptFileEvaluator constructor... suggestions ?

chore(JiWer): add usage in README

docs(jiwer): update JiWer readme

chore(transcription): use FunMOOC video in fixtures

chore(transcription): add proper english video fixture

chore(transcription): use os tmp directory where relevant

chore(transcription): fix jiwer cli test reference.txt

chore(transcription): move benchmark out of tests

chore(transcription): remove transcription workflow

docs(transcription): add benchmark info

fix(transcription): use ms precision in other transcribers

chore(transcription): simplify most of the tests

chore(transcription): remove slashes when building path with join

chore(transcription): make fromPath method async

chore(transcription): assert path to model is a directory for CTranslate2 transcriber

chore(transcription): ctranslate2 assertion

chore(transcription): ctranslate2 assertion

chore(transcription): add preinstall script for Python dependencies

chore(transcription): add download and unzip utils functions

chore(transcription): add download and unzip utils functions

chore(transcription): download & unzip models fixtures

chore(transcription): zip

chore(transcription): raise download file test timeout

chore(transcription): simplify download file test

chore(transcription): add transcriptions test to CI

chore(transcription): raise test preconditions timeout

chore(transcription): run preinstall scripts before running ci

chore(transcription): create dedicated tmp folder for transcriber tests

chore(transcription): raise timeout some more

chore(transcription): raise timeout some more

chore(transcription): raise timeout some more

chore(transcription): raise timeout some more

chore(transcription): raise timeout some more

chore(transcription): raise timeout some more

chore(transcription): raise timeout some more

chore(transcription): raise timeout some more

chore(transcription): use short video for local model test

chore(transcription): raise timeout some more

chore(transcription): raise timeout some more

chore(transcription): raise timeout some more

chore(transcription): setup verbosity based on NODE_ENV value
2024-06-28 08:43:40 +02:00
Chocobozzz ef0a6b267b
Add server restart test 2024-06-27 11:56:48 +02:00
Chocobozzz 985e79f61e
Fix lint and tests 2024-06-21 15:28:09 +02:00
Chocobozzz 990266f149
Owner must not be able to approve its own comment 2024-06-21 10:27:03 +02:00
Chocobozzz 0adbc73eb9
Fix HLS audio desync on some videos 2024-06-12 10:58:07 +02:00