diff options
author | frankdelange <yetangitu-f@unternet.org> | 2019-11-01 02:06:19 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2019-11-25 10:59:47 +0100 |
commit | 5c7d650827cc471a03e7fa18362bcbcbe5d30838 (patch) | |
tree | 41c96e3c9e2dcd4f15166e4f13b427ef116ea4f1 /server/initializers | |
parent | dee6fe1e4f5c024fd387e8c2b306c174b24aa8b3 (diff) | |
download | PeerTube-5c7d650827cc471a03e7fa18362bcbcbe5d30838.tar.gz PeerTube-5c7d650827cc471a03e7fa18362bcbcbe5d30838.tar.zst PeerTube-5c7d650827cc471a03e7fa18362bcbcbe5d30838.zip |
Add audio-only option to transcoders and player
This patch adds an audio-only option to PeerTube by means of a new transcoding configuration which creates mp4 files which only contain an audio stream. This new transcoder has a resolution of '0' and is presented in the preferences and in the player resolution menu as 'Audio-only' (localised). When playing such streams the player shows the file thumbnail as background and disables controls autohide.
Audio-only files can be shared and streamed just like any other file. They can be downloaded as well, the resulting file will be an mp4 container with a single audio stream.
This patch is a proof of concept to show the feasibility of 'true' audio-only support. There are better ways of doing this which also enable multiple audio streams for a given video stream (e.g. DASH) but as this would entail a fundamental change in the way PeerTube works it is a bridge too far for a simple proof of concept.
Diffstat (limited to 'server/initializers')
-rw-r--r-- | server/initializers/config.ts | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/server/initializers/config.ts b/server/initializers/config.ts index 6d5d55487..c6e478f57 100644 --- a/server/initializers/config.ts +++ b/server/initializers/config.ts | |||
@@ -168,6 +168,7 @@ const CONFIG = { | |||
168 | get ALLOW_AUDIO_FILES () { return config.get<boolean>('transcoding.allow_audio_files') }, | 168 | get ALLOW_AUDIO_FILES () { return config.get<boolean>('transcoding.allow_audio_files') }, |
169 | get THREADS () { return config.get<number>('transcoding.threads') }, | 169 | get THREADS () { return config.get<number>('transcoding.threads') }, |
170 | RESOLUTIONS: { | 170 | RESOLUTIONS: { |
171 | get '0p' () { return config.get<boolean>('transcoding.resolutions.0p') }, | ||
171 | get '240p' () { return config.get<boolean>('transcoding.resolutions.240p') }, | 172 | get '240p' () { return config.get<boolean>('transcoding.resolutions.240p') }, |
172 | get '360p' () { return config.get<boolean>('transcoding.resolutions.360p') }, | 173 | get '360p' () { return config.get<boolean>('transcoding.resolutions.360p') }, |
173 | get '480p' () { return config.get<boolean>('transcoding.resolutions.480p') }, | 174 | get '480p' () { return config.get<boolean>('transcoding.resolutions.480p') }, |