diff options
author | Chocobozzz <me@florianbigard.com> | 2019-11-15 15:06:03 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2019-11-25 10:59:43 +0100 |
commit | d7a25329f9e607894d29ab342b9cb66638b56dc0 (patch) | |
tree | 6cd6bc4f2689f78944238b313c93427423a932ac /server/initializers | |
parent | 14981d7331da3f63fe6cfaf020ccb7c910006eaf (diff) | |
download | PeerTube-d7a25329f9e607894d29ab342b9cb66638b56dc0.tar.gz PeerTube-d7a25329f9e607894d29ab342b9cb66638b56dc0.tar.zst PeerTube-d7a25329f9e607894d29ab342b9cb66638b56dc0.zip |
Add ability to disable webtorrent
In favour of HLS
Diffstat (limited to 'server/initializers')
-rw-r--r-- | server/initializers/checker-after-init.ts | 7 | ||||
-rw-r--r-- | server/initializers/config.ts | 3 | ||||
-rw-r--r-- | server/initializers/constants.ts | 5 | ||||
-rw-r--r-- | server/initializers/migrations/0065-video-file-size.ts | 3 | ||||
-rw-r--r-- | server/initializers/migrations/0450-streaming-playlist-files.ts | 40 |
5 files changed, 55 insertions, 3 deletions
diff --git a/server/initializers/checker-after-init.ts b/server/initializers/checker-after-init.ts index db3115085..9fefba769 100644 --- a/server/initializers/checker-after-init.ts +++ b/server/initializers/checker-after-init.ts | |||
@@ -101,6 +101,13 @@ function checkConfig () { | |||
101 | } | 101 | } |
102 | } | 102 | } |
103 | 103 | ||
104 | // Transcoding | ||
105 | if (CONFIG.TRANSCODING.ENABLED) { | ||
106 | if (CONFIG.TRANSCODING.WEBTORRENT.ENABLED === false && CONFIG.TRANSCODING.HLS.ENABLED === false) { | ||
107 | return 'You need to enable at least WebTorrent transcoding or HLS transcoding.' | ||
108 | } | ||
109 | } | ||
110 | |||
104 | return null | 111 | return null |
105 | } | 112 | } |
106 | 113 | ||
diff --git a/server/initializers/config.ts b/server/initializers/config.ts index 164d714d6..6d5d55487 100644 --- a/server/initializers/config.ts +++ b/server/initializers/config.ts | |||
@@ -177,6 +177,9 @@ const CONFIG = { | |||
177 | }, | 177 | }, |
178 | HLS: { | 178 | HLS: { |
179 | get ENABLED () { return config.get<boolean>('transcoding.hls.enabled') } | 179 | get ENABLED () { return config.get<boolean>('transcoding.hls.enabled') } |
180 | }, | ||
181 | WEBTORRENT: { | ||
182 | get ENABLED () { return config.get<boolean>('transcoding.webtorrent.enabled') } | ||
180 | } | 183 | } |
181 | }, | 184 | }, |
182 | IMPORT: { | 185 | IMPORT: { |
diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index fd4c0fdaa..eaad84bee 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts | |||
@@ -14,7 +14,7 @@ import { CONFIG, registerConfigChangedHandler } from './config' | |||
14 | 14 | ||
15 | // --------------------------------------------------------------------------- | 15 | // --------------------------------------------------------------------------- |
16 | 16 | ||
17 | const LAST_MIGRATION_VERSION = 445 | 17 | const LAST_MIGRATION_VERSION = 450 |
18 | 18 | ||
19 | // --------------------------------------------------------------------------- | 19 | // --------------------------------------------------------------------------- |
20 | 20 | ||
@@ -505,7 +505,8 @@ const STATIC_PATHS = { | |||
505 | } | 505 | } |
506 | const STATIC_DOWNLOAD_PATHS = { | 506 | const STATIC_DOWNLOAD_PATHS = { |
507 | TORRENTS: '/download/torrents/', | 507 | TORRENTS: '/download/torrents/', |
508 | VIDEOS: '/download/videos/' | 508 | VIDEOS: '/download/videos/', |
509 | HLS_VIDEOS: '/download/streaming-playlists/hls/videos/' | ||
509 | } | 510 | } |
510 | const LAZY_STATIC_PATHS = { | 511 | const LAZY_STATIC_PATHS = { |
511 | AVATARS: '/lazy-static/avatars/', | 512 | AVATARS: '/lazy-static/avatars/', |
diff --git a/server/initializers/migrations/0065-video-file-size.ts b/server/initializers/migrations/0065-video-file-size.ts index 66f25016a..e9ce77e50 100644 --- a/server/initializers/migrations/0065-video-file-size.ts +++ b/server/initializers/migrations/0065-video-file-size.ts | |||
@@ -2,6 +2,7 @@ import * as Sequelize from 'sequelize' | |||
2 | import * as Promise from 'bluebird' | 2 | import * as Promise from 'bluebird' |
3 | import { stat } from 'fs-extra' | 3 | import { stat } from 'fs-extra' |
4 | import { VideoModel } from '../../models/video/video' | 4 | import { VideoModel } from '../../models/video/video' |
5 | import { getVideoFilePath } from '@server/lib/video-paths' | ||
5 | 6 | ||
6 | function up (utils: { | 7 | function up (utils: { |
7 | transaction: Sequelize.Transaction, | 8 | transaction: Sequelize.Transaction, |
@@ -16,7 +17,7 @@ function up (utils: { | |||
16 | videos.forEach(video => { | 17 | videos.forEach(video => { |
17 | video.VideoFiles.forEach(videoFile => { | 18 | video.VideoFiles.forEach(videoFile => { |
18 | const p = new Promise((res, rej) => { | 19 | const p = new Promise((res, rej) => { |
19 | stat(video.getVideoFilePath(videoFile), (err, stats) => { | 20 | stat(getVideoFilePath(video, videoFile), (err, stats) => { |
20 | if (err) return rej(err) | 21 | if (err) return rej(err) |
21 | 22 | ||
22 | videoFile.size = stats.size | 23 | videoFile.size = stats.size |
diff --git a/server/initializers/migrations/0450-streaming-playlist-files.ts b/server/initializers/migrations/0450-streaming-playlist-files.ts new file mode 100644 index 000000000..536ef00f9 --- /dev/null +++ b/server/initializers/migrations/0450-streaming-playlist-files.ts | |||
@@ -0,0 +1,40 @@ | |||
1 | import * as Sequelize from 'sequelize' | ||
2 | |||
3 | async function up (utils: { | ||
4 | transaction: Sequelize.Transaction, | ||
5 | queryInterface: Sequelize.QueryInterface, | ||
6 | sequelize: Sequelize.Sequelize, | ||
7 | db: any | ||
8 | }): Promise<void> { | ||
9 | { | ||
10 | const data = { | ||
11 | type: Sequelize.INTEGER, | ||
12 | allowNull: true, | ||
13 | references: { | ||
14 | model: 'videoStreamingPlaylist', | ||
15 | key: 'id' | ||
16 | }, | ||
17 | onDelete: 'CASCADE' | ||
18 | } | ||
19 | |||
20 | await utils.queryInterface.addColumn('videoFile', 'videoStreamingPlaylistId', data) | ||
21 | } | ||
22 | |||
23 | { | ||
24 | const data = { | ||
25 | type: Sequelize.INTEGER, | ||
26 | allowNull: true | ||
27 | } | ||
28 | |||
29 | await utils.queryInterface.changeColumn('videoFile', 'videoId', data) | ||
30 | } | ||
31 | } | ||
32 | |||
33 | function down (options) { | ||
34 | throw new Error('Not implemented.') | ||
35 | } | ||
36 | |||
37 | export { | ||
38 | up, | ||
39 | down | ||
40 | } | ||