From 73c695919c6569bfb667c36fc5a6b9b862130a0d Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 26 Feb 2018 10:48:53 +0100 Subject: Add 30 fps limit in transcoding --- server/tests/api/fixtures/video_60fps_short.mp4 | Bin 0 -> 33968 bytes server/tests/api/videos/video-transcoder.ts | 33 +++++++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 server/tests/api/fixtures/video_60fps_short.mp4 (limited to 'server/tests/api') diff --git a/server/tests/api/fixtures/video_60fps_short.mp4 b/server/tests/api/fixtures/video_60fps_short.mp4 new file mode 100644 index 000000000..ff0593cf3 Binary files /dev/null and b/server/tests/api/fixtures/video_60fps_short.mp4 differ diff --git a/server/tests/api/videos/video-transcoder.ts b/server/tests/api/videos/video-transcoder.ts index c494e7f67..ef929960d 100644 --- a/server/tests/api/videos/video-transcoder.ts +++ b/server/tests/api/videos/video-transcoder.ts @@ -2,10 +2,13 @@ import * as chai from 'chai' import 'mocha' +import { VideoDetails } from '../../../../shared/models/videos' +import { getVideoFileFPS } from '../../../helpers/ffmpeg-utils' import { - flushAndRunMultipleServers, flushTests, getVideo, getVideosList, killallServers, ServerInfo, setAccessTokensToServers, uploadVideo, + flushAndRunMultipleServers, flushTests, getVideo, getVideosList, killallServers, root, ServerInfo, setAccessTokensToServers, uploadVideo, wait, webtorrentAdd } from '../../utils' +import { join } from 'path' const expect = chai.expect @@ -78,6 +81,34 @@ describe('Test video transcoding', function () { expect(torrent.files[0].path).match(/\.mp4$/) }) + it('Should transcode to 30 FPS', async function () { + this.timeout(60000) + + const videoAttributes = { + name: 'my super 30fps name for server 2', + description: 'my super 30fps description for server 2', + fixture: 'video_60fps_short.mp4' + } + await uploadVideo(servers[1].url, servers[1].accessToken, videoAttributes) + + await wait(20000) + + const res = await getVideosList(servers[1].url) + + const video = res.body.data[0] + const res2 = await getVideo(servers[1].url, video.id) + const videoDetails: VideoDetails = res2.body + + expect(videoDetails.files).to.have.lengthOf(1) + + for (const resolution of [ '240' ]) { + const path = join(root(), 'test2', 'videos', video.uuid + '-' + resolution + '.mp4') + const fps = await getVideoFileFPS(path) + + expect(fps).to.be.below(31) + } + }) + after(async function () { killallServers(servers) -- cgit v1.2.3