program
.option('-v, --video [videoUUID]', 'Video UUID')
+ .option('-r, --resolution [resolution]', 'Video resolution (integer)')
.parse(process.argv)
if (program['video'] === undefined) {
process.exit(-1)
}
+if (program.resolution !== undefined && Number.isNaN(+program.resolution)) {
+ console.error('The resolution must be an integer (example: 1080).')
+ process.exit(-1)
+}
+
run()
.then(() => process.exit(0))
.catch(err => {
const dataInput = {
videoUUID: video.uuid,
- isNewVideo: false
+ isNewVideo: false,
+ resolution: undefined
+ }
+
+ if (program.resolution !== undefined) {
+ dataInput.resolution = program.resolution
}
await JobQueue.Instance.init()
describe('Test create transcoding jobs', function () {
let servers: ServerInfo[] = []
+ let video1UUID: string
let video2UUID: string
before(async function () {
await doubleFollow(servers[0], servers[1])
// Upload two videos for our needs
- await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video1' })
- const res = await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video2' })
- video2UUID = res.body.video.uuid
+ const res1 = await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video1' })
+ video1UUID = res1.body.video.uuid
+ const res2 = await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video2' })
+ video2UUID = res2.body.video.uuid
await waitJobs(servers)
})
}
})
+ it('Should run a transcoding job on video 1 with resolution', async function () {
+ this.timeout(60000)
+
+ const env = getEnvCli(servers[0])
+ await execCLI(`${env} npm run create-transcoding-job -- -v ${video1UUID} -r 480`)
+
+ await waitJobs(servers)
+
+ for (const server of servers) {
+ const res = await getVideosList(server.url)
+ const videos = res.body.data
+ expect(videos).to.have.lengthOf(2)
+
+ const res2 = await getVideo(server.url, video1UUID)
+ const videoDetail: VideoDetails = res2.body
+
+ expect(videoDetail.files).to.have.lengthOf(2)
+
+ expect(videoDetail.files[0].resolution.id).to.equal(720)
+
+ expect(videoDetail.files[1].resolution.id).to.equal(480)
+ }
+ })
+
after(async function () {
killallServers(servers)
})