]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Add 4k transcoding test
authorChocobozzz <me@florianbigard.com>
Wed, 13 Jan 2021 08:52:41 +0000 (09:52 +0100)
committerChocobozzz <me@florianbigard.com>
Wed, 13 Jan 2021 08:52:52 +0000 (09:52 +0100)
server/tests/api/videos/video-transcoder.ts
server/tests/fixtures/video_short_4k.mp4 [new file with mode: 0644]

index f88c59f0d6edf38cdb25bdf737b71ec108ae2999..817d9faf243f7e42bf33af82f5b142674b69166c 100644 (file)
@@ -486,7 +486,9 @@ describe('Test video transcoding', function () {
           '360p': true,
           '480p': true,
           '720p': true,
-          '1080p': true
+          '1080p': true,
+          '1440p': true,
+          '2160p': true
         },
         webtorrent: { enabled: true },
         hls: { enabled: true }
@@ -567,6 +569,34 @@ describe('Test video transcoding', function () {
     }
   })
 
+  it('Should transcode a 4k video', async function () {
+    this.timeout(200000)
+
+    const videoAttributes = {
+      name: '4k video',
+      fixture: 'video_short_4k.mp4'
+    }
+
+    const resUpload = await uploadVideo(servers[1].url, servers[1].accessToken, videoAttributes)
+    const videoUUID = resUpload.body.video.uuid
+
+    await waitJobs(servers)
+
+    const resolutions = [ 240, 360, 480, 720, 1080, 1440, 2160 ]
+
+    for (const server of servers) {
+      const res = await getVideo(server.url, videoUUID)
+      const videoDetails: VideoDetails = res.body
+
+      expect(videoDetails.files).to.have.lengthOf(resolutions.length)
+
+      for (const r of resolutions) {
+        expect(videoDetails.files.find(f => f.resolution.id === r)).to.not.be.undefined
+        expect(videoDetails.streamingPlaylists[0].files.find(f => f.resolution.id === r)).to.not.be.undefined
+      }
+    }
+  })
+
   after(async function () {
     await cleanupTests(servers)
   })
diff --git a/server/tests/fixtures/video_short_4k.mp4 b/server/tests/fixtures/video_short_4k.mp4
new file mode 100644 (file)
index 0000000..e17e03e
Binary files /dev/null and b/server/tests/fixtures/video_short_4k.mp4 differ