2021-01-09 15:07:22 -06:00
|
|
|
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
|
|
|
|
|
|
|
|
import 'mocha'
|
|
|
|
import * as chai from 'chai'
|
2021-12-17 04:58:15 -06:00
|
|
|
import { buildAbsoluteFixturePath } from '@shared/core-utils'
|
|
|
|
import { CLICommand } from '@shared/server-commands'
|
2021-08-06 06:35:25 -05:00
|
|
|
import { VideoResolution } from '../../../shared/models/videos'
|
2021-01-09 15:07:22 -06:00
|
|
|
|
|
|
|
const expect = chai.expect
|
|
|
|
|
2021-10-12 02:18:54 -05:00
|
|
|
describe('Test print transcode jobs', function () {
|
2021-07-05 09:37:50 -05:00
|
|
|
|
2021-01-09 15:07:22 -06:00
|
|
|
it('Should print the correct command for each resolution', async function () {
|
2021-08-06 06:35:25 -05:00
|
|
|
const fixturePath = buildAbsoluteFixturePath('video_short.webm')
|
2021-01-09 15:07:22 -06:00
|
|
|
|
|
|
|
for (const resolution of [
|
|
|
|
VideoResolution.H_720P,
|
|
|
|
VideoResolution.H_1080P
|
|
|
|
]) {
|
2021-07-05 09:37:50 -05:00
|
|
|
const command = await CLICommand.exec(`npm run print-transcode-command -- ${fixturePath} -r ${resolution}`)
|
2021-01-09 15:07:22 -06:00
|
|
|
|
2021-04-09 08:51:15 -05:00
|
|
|
expect(command).to.includes(`-vf scale=w=-2:h=${resolution}`)
|
|
|
|
expect(command).to.includes(`-y -acodec aac -vcodec libx264`)
|
2021-01-09 15:07:22 -06:00
|
|
|
expect(command).to.includes('-f mp4')
|
|
|
|
expect(command).to.includes('-movflags faststart')
|
|
|
|
expect(command).to.includes('-b:a 256k')
|
|
|
|
expect(command).to.includes('-r 25')
|
|
|
|
expect(command).to.includes('-level:v 3.1')
|
|
|
|
expect(command).to.includes('-g:v 50')
|
2021-11-10 07:25:33 -06:00
|
|
|
expect(command).to.includes(`-maxrate `)
|
|
|
|
expect(command).to.includes(`-bufsize `)
|
2021-01-09 15:07:22 -06:00
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|