From 1896bca09e088b0da9d5e845407ecebae330618c Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 28 Jan 2021 15:52:44 +0100 Subject: Support transcoding options/encoders by plugins --- .../peertube-plugin-test-transcoding-one/main.js | 35 ++++++++++++++++++++ .../package.json | 20 ++++++++++++ .../peertube-plugin-test-transcoding-two/main.js | 38 ++++++++++++++++++++++ .../package.json | 20 ++++++++++++ 4 files changed, 113 insertions(+) create mode 100644 server/tests/fixtures/peertube-plugin-test-transcoding-one/main.js create mode 100644 server/tests/fixtures/peertube-plugin-test-transcoding-one/package.json create mode 100644 server/tests/fixtures/peertube-plugin-test-transcoding-two/main.js create mode 100644 server/tests/fixtures/peertube-plugin-test-transcoding-two/package.json (limited to 'server/tests/fixtures') diff --git a/server/tests/fixtures/peertube-plugin-test-transcoding-one/main.js b/server/tests/fixtures/peertube-plugin-test-transcoding-one/main.js new file mode 100644 index 000000000..5990ce1ce --- /dev/null +++ b/server/tests/fixtures/peertube-plugin-test-transcoding-one/main.js @@ -0,0 +1,35 @@ +async function register ({ transcodingManager }) { + + { + const builder = () => { + return { + outputOptions: [ + '-r 10' + ] + } + } + + transcodingManager.addVODProfile('libx264', 'low-vod', builder) + } + + { + const builder = (options) => { + return { + outputOptions: [ + '-r:' + options.streamNum + ' 5' + ] + } + } + + transcodingManager.addLiveProfile('libx264', 'low-live', builder) + } +} + +async function unregister () { + return +} + +module.exports = { + register, + unregister +} diff --git a/server/tests/fixtures/peertube-plugin-test-transcoding-one/package.json b/server/tests/fixtures/peertube-plugin-test-transcoding-one/package.json new file mode 100644 index 000000000..bedbfa051 --- /dev/null +++ b/server/tests/fixtures/peertube-plugin-test-transcoding-one/package.json @@ -0,0 +1,20 @@ +{ + "name": "peertube-plugin-test-transcoding-one", + "version": "0.0.1", + "description": "Plugin test transcoding 1", + "engine": { + "peertube": ">=1.3.0" + }, + "keywords": [ + "peertube", + "plugin" + ], + "homepage": "https://github.com/Chocobozzz/PeerTube", + "author": "Chocobozzz", + "bugs": "https://github.com/Chocobozzz/PeerTube/issues", + "library": "./main.js", + "staticDirs": {}, + "css": [], + "clientScripts": [], + "translations": {} +} diff --git a/server/tests/fixtures/peertube-plugin-test-transcoding-two/main.js b/server/tests/fixtures/peertube-plugin-test-transcoding-two/main.js new file mode 100644 index 000000000..a914bce49 --- /dev/null +++ b/server/tests/fixtures/peertube-plugin-test-transcoding-two/main.js @@ -0,0 +1,38 @@ +async function register ({ transcodingManager }) { + + { + const builder = () => { + return { + outputOptions: [] + } + } + + transcodingManager.addVODProfile('libopus', 'test-vod-profile', builder) + transcodingManager.addVODProfile('libvpx-vp9', 'test-vod-profile', builder) + + transcodingManager.addVODEncoderPriority('audio', 'libopus', 1000) + transcodingManager.addVODEncoderPriority('video', 'libvpx-vp9', 1000) + } + + { + const builder = (options) => { + return { + outputOptions: [ + '-b:' + options.streamNum + ' 10K' + ] + } + } + + transcodingManager.addLiveProfile('libopus', 'test-live-profile', builder) + transcodingManager.addLiveEncoderPriority('audio', 'libopus', 1000) + } +} + +async function unregister () { + return +} + +module.exports = { + register, + unregister +} diff --git a/server/tests/fixtures/peertube-plugin-test-transcoding-two/package.json b/server/tests/fixtures/peertube-plugin-test-transcoding-two/package.json new file mode 100644 index 000000000..34be0454b --- /dev/null +++ b/server/tests/fixtures/peertube-plugin-test-transcoding-two/package.json @@ -0,0 +1,20 @@ +{ + "name": "peertube-plugin-test-transcoding-two", + "version": "0.0.1", + "description": "Plugin test transcoding 2", + "engine": { + "peertube": ">=1.3.0" + }, + "keywords": [ + "peertube", + "plugin" + ], + "homepage": "https://github.com/Chocobozzz/PeerTube", + "author": "Chocobozzz", + "bugs": "https://github.com/Chocobozzz/PeerTube/issues", + "library": "./main.js", + "staticDirs": {}, + "css": [], + "clientScripts": [], + "translations": {} +} -- cgit v1.2.3