]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/tests/cli/print-transcode-command.ts
27896f0310f804ca482dc53a9e1530268800cc7b
[github/Chocobozzz/PeerTube.git] / server / tests / cli / print-transcode-command.ts
1 /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
2
3 import 'mocha'
4 import * as chai from 'chai'
5 import { buildAbsoluteFixturePath } from '@shared/core-utils'
6 import { CLICommand } from '@shared/server-commands'
7 import { VideoResolution } from '../../../shared/models/videos'
8
9 const expect = chai.expect
10
11 describe('Test print transcode jobs', function () {
12
13 it('Should print the correct command for each resolution', async function () {
14 const fixturePath = buildAbsoluteFixturePath('video_short.webm')
15
16 for (const resolution of [
17 VideoResolution.H_720P,
18 VideoResolution.H_1080P
19 ]) {
20 const command = await CLICommand.exec(`npm run print-transcode-command -- ${fixturePath} -r ${resolution}`)
21
22 expect(command).to.includes(`-vf scale=w=-2:h=${resolution}`)
23 expect(command).to.includes(`-y -acodec aac -vcodec libx264`)
24 expect(command).to.includes('-f mp4')
25 expect(command).to.includes('-movflags faststart')
26 expect(command).to.includes('-b:a 256k')
27 expect(command).to.includes('-r 25')
28 expect(command).to.includes('-level:v 3.1')
29 expect(command).to.includes('-g:v 50')
30 expect(command).to.includes(`-maxrate `)
31 expect(command).to.includes(`-bufsize `)
32 }
33 })
34 })