]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commit - server/controllers/api/config.ts
Add audio-only option to transcoders and player
authorfrankdelange <yetangitu-f@unternet.org>
Fri, 1 Nov 2019 01:06:19 +0000 (02:06 +0100)
committerChocobozzz <me@florianbigard.com>
Mon, 25 Nov 2019 09:59:47 +0000 (10:59 +0100)
commit5c7d650827cc471a03e7fa18362bcbcbe5d30838
tree41c96e3c9e2dcd4f15166e4f13b427ef116ea4f1
parentdee6fe1e4f5c024fd387e8c2b306c174b24aa8b3
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.
16 files changed:
client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
client/src/assets/player/videojs-components/resolution-menu-button.ts
client/src/assets/player/webtorrent/webtorrent-plugin.ts
config/default.yaml
config/production.yaml.example
config/test.yaml
server/controllers/api/config.ts
server/helpers/ffmpeg-utils.ts
server/initializers/config.ts
server/lib/video-transcoding.ts
server/middlewares/validators/config.ts
server/tests/api/check-params/config.ts
server/tests/api/server/config.ts
shared/extra-utils/server/config.ts
shared/models/server/custom-config.model.ts
shared/models/videos/video-resolution.enum.ts