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.
Showing
- client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts 4 additions, 0 deletions...config/edit-custom-config/edit-custom-config.component.ts
- client/src/assets/player/videojs-components/resolution-menu-button.ts 1 addition, 1 deletion...ssets/player/videojs-components/resolution-menu-button.ts
- client/src/assets/player/webtorrent/webtorrent-plugin.ts 13 additions, 3 deletionsclient/src/assets/player/webtorrent/webtorrent-plugin.ts
- config/default.yaml 1 addition, 0 deletionsconfig/default.yaml
- config/production.yaml.example 1 addition, 0 deletionsconfig/production.yaml.example
- config/test.yaml 1 addition, 0 deletionsconfig/test.yaml
- server/controllers/api/config.ts 2 additions, 0 deletionsserver/controllers/api/config.ts
- server/helpers/ffmpeg-utils.ts 38 additions, 7 deletionsserver/helpers/ffmpeg-utils.ts
- server/initializers/config.ts 1 addition, 0 deletionsserver/initializers/config.ts
- server/lib/video-transcoding.ts 43 additions, 3 deletionsserver/lib/video-transcoding.ts
- server/middlewares/validators/config.ts 1 addition, 0 deletionsserver/middlewares/validators/config.ts
- server/tests/api/check-params/config.ts 1 addition, 0 deletionsserver/tests/api/check-params/config.ts
- server/tests/api/server/config.ts 1 addition, 0 deletionsserver/tests/api/server/config.ts
- shared/extra-utils/server/config.ts 1 addition, 0 deletionsshared/extra-utils/server/config.ts
- shared/models/server/custom-config.model.ts 1 addition, 0 deletionsshared/models/server/custom-config.model.ts
- shared/models/videos/video-resolution.enum.ts 5 additions, 0 deletionsshared/models/videos/video-resolution.enum.ts
Loading
Please register or sign in to comment