mirror of https://github.com/Chocobozzz/PeerTube
Fix bitrate tests
parent
41085b1583
commit
9f430a53be
|
@ -517,10 +517,16 @@ describe('Test live', function () {
|
|||
|
||||
await waitUntilLivePublishedOnAllServers(servers, liveVideoId)
|
||||
|
||||
const bitrateLimits = {
|
||||
720: 5000 * 1000, // 60FPS
|
||||
360: 1100 * 1000,
|
||||
240: 600 * 1000
|
||||
const maxBitrateLimits = {
|
||||
720: 6500 * 1000, // 60FPS
|
||||
360: 1250 * 1000,
|
||||
240: 700 * 1000
|
||||
}
|
||||
|
||||
const minBitrateLimits = {
|
||||
720: 5500 * 1000,
|
||||
360: 1000 * 1000,
|
||||
240: 550 * 1000
|
||||
}
|
||||
|
||||
for (const server of servers) {
|
||||
|
@ -560,7 +566,8 @@ describe('Test live', function () {
|
|||
const probe = await ffprobePromise(segmentPath)
|
||||
const videoStream = await getVideoStreamFromFile(segmentPath, probe)
|
||||
|
||||
expect(probe.format.bit_rate).to.be.below(bitrateLimits[videoStream.height])
|
||||
expect(probe.format.bit_rate).to.be.below(maxBitrateLimits[videoStream.height])
|
||||
expect(probe.format.bit_rate).to.be.at.least(minBitrateLimits[videoStream.height])
|
||||
|
||||
await makeRawRequest(file.torrentUrl, HttpStatusCode.OK_200)
|
||||
await makeRawRequest(file.fileUrl, HttpStatusCode.OK_200)
|
||||
|
|
|
@ -11,7 +11,6 @@ import {
|
|||
doubleFollow,
|
||||
generateHighBitrateVideo,
|
||||
generateVideoWithFramerate,
|
||||
getFileSize,
|
||||
makeGetRequest,
|
||||
PeerTubeServer,
|
||||
setAccessTokensToServers,
|
||||
|
@ -617,8 +616,8 @@ describe('Test video transcoding', function () {
|
|||
const file = video.files.find(f => f.resolution.id === r)
|
||||
|
||||
const path = servers[1].servers.buildWebTorrentFilePath(file.fileUrl)
|
||||
const size = await getFileSize(path)
|
||||
expect(size, `${path} not below ${60_000}`).to.be.below(60_000)
|
||||
const bitrate = await getVideoFileBitrate(path)
|
||||
expect(bitrate, `${path} not below ${60_000}`).to.be.below(60_000)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
|
|
@ -9,7 +9,7 @@ import { VideoResolution } from '../../../shared/models/videos'
|
|||
|
||||
const expect = chai.expect
|
||||
|
||||
describe('Test create transcoding jobs', function () {
|
||||
describe('Test print transcode jobs', function () {
|
||||
|
||||
it('Should print the correct command for each resolution', async function () {
|
||||
const fixturePath = buildAbsoluteFixturePath('video_short.webm')
|
||||
|
@ -21,7 +21,7 @@ describe('Test create transcoding jobs', function () {
|
|||
VideoResolution.H_1080P
|
||||
]) {
|
||||
const command = await CLICommand.exec(`npm run print-transcode-command -- ${fixturePath} -r ${resolution}`)
|
||||
const targetBitrate = Math.min(getMaxBitrate({ resolution, fps, ratio: 16 / 9 }), bitrate)
|
||||
const targetBitrate = Math.min(getMaxBitrate({ resolution, fps, ratio: 16 / 9 }), bitrate + (bitrate * 0.3))
|
||||
|
||||
expect(command).to.includes(`-vf scale=w=-2:h=${resolution}`)
|
||||
expect(command).to.includes(`-y -acodec aac -vcodec libx264`)
|
||||
|
|
|
@ -78,7 +78,7 @@ function calculateBitrate (options: {
|
|||
|
||||
for (const toTestResolution of resolutionsOrder) {
|
||||
if (toTestResolution <= resolution) {
|
||||
return resolution * resolution * ratio * fps * bitPerPixel[toTestResolution]
|
||||
return Math.floor(resolution * resolution * ratio * fps * bitPerPixel[toTestResolution])
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue