aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/helpers/utils.ts
diff options
context:
space:
mode:
authorFelix Ableitner <me@nutomic.com>2018-10-08 09:26:04 -0500
committerChocobozzz <me@florianbigard.com>2018-10-08 16:26:04 +0200
commitedb4ffc7e0b13659d7c73b120f2c87b27e4c26a1 (patch)
treefb9df6826eaeb23ab3bcac7fe21773978c68d27c /server/helpers/utils.ts
parent2cae5f13076a31aa95774679aed1f13c3bd5f8ce (diff)
downloadPeerTube-edb4ffc7e0b13659d7c73b120f2c87b27e4c26a1.tar.gz
PeerTube-edb4ffc7e0b13659d7c73b120f2c87b27e4c26a1.tar.zst
PeerTube-edb4ffc7e0b13659d7c73b120f2c87b27e4c26a1.zip
Set bitrate limits for transcoding (fixes #638) (#1135)
* Set bitrate limits for transcoding (fixes #638) * added optimization script and test, changed stuff * fix test, improve docs * re-add optimize-old-videos script * added documentation * Don't optimize videos without valid UUID, or redundancy videos * move getUUIDFromFilename * fix tests? * update torrent and file size, some more fixes/improvements * use higher bitrate for high fps video, adjust bitrates * add test video * don't throw error if resolution is undefined * generate test fixture on the fly * use random noise video for bitrate test, add promise * shorten test video to avoid timeout * use existing function to optimize video * various fixes * increase test timeout * limit test fixture size, add link * test fixes * add await * more test fixes, add -b:v parameter * replace ffmpeg wiki link * fix ffmpeg params * fix unit test * add test fixture to .gitgnore * add video transcoding fps model * add missing file
Diffstat (limited to 'server/helpers/utils.ts')
-rw-r--r--server/helpers/utils.ts17
1 files changed, 16 insertions, 1 deletions
diff --git a/server/helpers/utils.ts b/server/helpers/utils.ts
index 6228fec04..39afb4e7b 100644
--- a/server/helpers/utils.ts
+++ b/server/helpers/utils.ts
@@ -77,6 +77,20 @@ async function getVersion () {
77 return require('../../../package.json').version 77 return require('../../../package.json').version
78} 78}
79 79
80/**
81 * From a filename like "ede4cba5-742b-46fa-a388-9a6eb3a3aeb3.mp4", returns
82 * only the "ede4cba5-742b-46fa-a388-9a6eb3a3aeb3" part. If the filename does
83 * not contain a UUID, returns null.
84 */
85function getUUIDFromFilename (filename: string) {
86 const regex = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
87 const result = filename.match(regex)
88
89 if (!result || Array.isArray(result) === false) return null
90
91 return result[0]
92}
93
80// --------------------------------------------------------------------------- 94// ---------------------------------------------------------------------------
81 95
82export { 96export {
@@ -86,5 +100,6 @@ export {
86 getSecureTorrentName, 100 getSecureTorrentName,
87 getServerActor, 101 getServerActor,
88 getVersion, 102 getVersion,
89 generateVideoTmpPath 103 generateVideoTmpPath,
104 getUUIDFromFilename
90} 105}