aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/initializers
diff options
context:
space:
mode:
authorfrankdelange <yetangitu-f@unternet.org>2019-11-01 02:06:19 +0100
committerChocobozzz <me@florianbigard.com>2019-11-25 10:59:47 +0100
commit5c7d650827cc471a03e7fa18362bcbcbe5d30838 (patch)
tree41c96e3c9e2dcd4f15166e4f13b427ef116ea4f1 /server/initializers
parentdee6fe1e4f5c024fd387e8c2b306c174b24aa8b3 (diff)
downloadPeerTube-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.ts1
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') },