mirror of
https://github.com/gabehf/Tdarr_Plugins.git
synced 2026-03-15 18:25:54 -07:00
Add new tests
This commit is contained in:
parent
e194e6d35c
commit
fa2b0abd92
9 changed files with 1011 additions and 2 deletions
2
.github/workflows/lint.yml
vendored
2
.github/workflows/lint.yml
vendored
|
|
@ -20,4 +20,4 @@ jobs:
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
- run: npm i
|
- run: npm i
|
||||||
- run: npm run checkPlugins && npm run lint
|
- run: npm run checkPlugins && npm run lint && npm run test
|
||||||
|
|
|
||||||
63
package-lock.json
generated
63
package-lock.json
generated
|
|
@ -174,6 +174,12 @@
|
||||||
"es-abstract": "^1.18.0-next.1"
|
"es-abstract": "^1.18.0-next.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"assertion-error": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"ast-types-flow": {
|
"ast-types-flow": {
|
||||||
"version": "0.0.7",
|
"version": "0.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
|
||||||
|
|
@ -230,6 +236,21 @@
|
||||||
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
|
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"chai": {
|
||||||
|
"version": "4.3.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz",
|
||||||
|
"integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"assertion-error": "^1.1.0",
|
||||||
|
"check-error": "^1.0.2",
|
||||||
|
"deep-eql": "^3.0.1",
|
||||||
|
"get-func-name": "^2.0.0",
|
||||||
|
"loupe": "^2.3.1",
|
||||||
|
"pathval": "^1.1.1",
|
||||||
|
"type-detect": "^4.0.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
"chalk": {
|
"chalk": {
|
||||||
"version": "4.1.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
|
||||||
|
|
@ -281,6 +302,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"check-error": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"color-convert": {
|
"color-convert": {
|
||||||
"version": "1.9.3",
|
"version": "1.9.3",
|
||||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
||||||
|
|
@ -346,6 +373,15 @@
|
||||||
"ms": "2.1.2"
|
"ms": "2.1.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"deep-eql": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"type-detect": "^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"deep-is": {
|
"deep-is": {
|
||||||
"version": "0.1.3",
|
"version": "0.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
|
||||||
|
|
@ -790,6 +826,12 @@
|
||||||
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
|
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"get-func-name": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"get-intrinsic": {
|
"get-intrinsic": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz",
|
||||||
|
|
@ -1094,6 +1136,15 @@
|
||||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"loupe": {
|
||||||
|
"version": "2.3.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz",
|
||||||
|
"integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"get-func-name": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"lru-cache": {
|
"lru-cache": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||||
|
|
@ -1296,6 +1347,12 @@
|
||||||
"pify": "^2.0.0"
|
"pify": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pathval": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
|
||||||
|
"integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"pify": {
|
"pify": {
|
||||||
"version": "2.3.0",
|
"version": "2.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
|
||||||
|
|
@ -1577,6 +1634,12 @@
|
||||||
"prelude-ls": "^1.2.1"
|
"prelude-ls": "^1.2.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"type-detect": {
|
||||||
|
"version": "4.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
|
||||||
|
"integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"type-fest": {
|
"type-fest": {
|
||||||
"version": "0.8.1",
|
"version": "0.8.1",
|
||||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,14 @@
|
||||||
"main": "Tdarr_Plugin_aaaa_Pre_Proc_Example.js",
|
"main": "Tdarr_Plugin_aaaa_Pre_Proc_Example.js",
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"chai": "^4.3.6",
|
||||||
"eslint": "^7.14.0",
|
"eslint": "^7.14.0",
|
||||||
"eslint-config-airbnb-base": "^14.2.1",
|
"eslint-config-airbnb-base": "^14.2.1",
|
||||||
"eslint-plugin-import": "^2.22.1",
|
"eslint-plugin-import": "^2.22.1",
|
||||||
"eslint-plugin-jsx-a11y": "^6.4.1"
|
"eslint-plugin-jsx-a11y": "^6.4.1"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "echo \"Error: no test specified\" && exit 1",
|
"test": "node ./tests/runTests.js",
|
||||||
"lint": "eslint Community methods examples tests --ext js",
|
"lint": "eslint Community methods examples tests --ext js",
|
||||||
"lint:fix": "eslint Community methods examples tests --ext js --fix",
|
"lint:fix": "eslint Community methods examples tests --ext js --fix",
|
||||||
"checkPlugins": "node ./tests/checkPlugins.js"
|
"checkPlugins": "node ./tests/checkPlugins.js"
|
||||||
|
|
|
||||||
59
tests/Community/Tdarr_Plugin_00td_filter_by_codec.js
Normal file
59
tests/Community/Tdarr_Plugin_00td_filter_by_codec.js
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
const run = require('../helpers/run');
|
||||||
|
|
||||||
|
const tests = [
|
||||||
|
{
|
||||||
|
input: {
|
||||||
|
file: require('../sampleData/media/sampleH264_1.json'),
|
||||||
|
librarySettings: {},
|
||||||
|
inputs: {},
|
||||||
|
otherArguments: {},
|
||||||
|
},
|
||||||
|
output: { processFile: false, infoLog: '' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: {
|
||||||
|
file: require('../sampleData/media/sampleH264_1.json'),
|
||||||
|
librarySettings: {},
|
||||||
|
inputs: {
|
||||||
|
codecsToProcess: 'h264',
|
||||||
|
},
|
||||||
|
otherArguments: {},
|
||||||
|
},
|
||||||
|
output: { processFile: true, infoLog: 'File is in codecsToProcess. Moving to next plugin.' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: {
|
||||||
|
file: require('../sampleData/media/sampleH264_1.json'),
|
||||||
|
librarySettings: {},
|
||||||
|
inputs: {
|
||||||
|
codecsToProcess: 'h265',
|
||||||
|
},
|
||||||
|
otherArguments: {},
|
||||||
|
},
|
||||||
|
output: { processFile: false, infoLog: 'File is not in codecsToProcess. Breaking out of plugin stack.' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: {
|
||||||
|
file: require('../sampleData/media/sampleH264_1.json'),
|
||||||
|
librarySettings: {},
|
||||||
|
inputs: {
|
||||||
|
codecsToNotProcess: 'h264',
|
||||||
|
},
|
||||||
|
otherArguments: {},
|
||||||
|
},
|
||||||
|
output: { processFile: false, infoLog: 'File is in codecsToNotProcess. Breaking out of plugin stack.' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: {
|
||||||
|
file: require('../sampleData/media/sampleH264_1.json'),
|
||||||
|
librarySettings: {},
|
||||||
|
inputs: {
|
||||||
|
codecsToNotProcess: 'h265',
|
||||||
|
},
|
||||||
|
otherArguments: {},
|
||||||
|
},
|
||||||
|
output: { processFile: true, infoLog: 'File is not in codecsToNotProcess. Moving to next plugin.' },
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
run(tests);
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
const run = require('../helpers/run');
|
||||||
|
|
||||||
|
const tests = [
|
||||||
|
{
|
||||||
|
input: {
|
||||||
|
file: require('../sampleData/media/sampleH264_1.json'),
|
||||||
|
librarySettings: {},
|
||||||
|
inputs: {},
|
||||||
|
otherArguments: {},
|
||||||
|
},
|
||||||
|
output: { processFile: false, infoLog: '' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: {
|
||||||
|
file: require('../sampleData/media/sampleH264_1.json'),
|
||||||
|
librarySettings: {},
|
||||||
|
inputs: {
|
||||||
|
codecTagStringsToProcess: 'avc1,rand',
|
||||||
|
},
|
||||||
|
otherArguments: {},
|
||||||
|
},
|
||||||
|
output: { processFile: true, infoLog: 'File is in codecTagStringsToProcess. Moving to next plugin.' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: {
|
||||||
|
file: require('../sampleData/media/sampleH264_1.json'),
|
||||||
|
librarySettings: {},
|
||||||
|
inputs: {
|
||||||
|
codecTagStringsToNotProcess: 'avc1,rand',
|
||||||
|
},
|
||||||
|
otherArguments: {},
|
||||||
|
},
|
||||||
|
output: { processFile: false, infoLog: 'File is in codecTagStringsToNotProcess. Breaking out of plugin stack.' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: {
|
||||||
|
file: require('../sampleData/media/sampleH265_1.json'),
|
||||||
|
librarySettings: {},
|
||||||
|
inputs: {
|
||||||
|
codecTagStringsToProcess: 'avc1,rand',
|
||||||
|
},
|
||||||
|
otherArguments: {},
|
||||||
|
},
|
||||||
|
output: { processFile: false, infoLog: 'File is not in codecTagStringsToProcess. Breaking out of plugin stack.' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: {
|
||||||
|
file: require('../sampleData/media/sampleH265_1.json'),
|
||||||
|
librarySettings: {},
|
||||||
|
inputs: {
|
||||||
|
codecTagStringsToNotProcess: 'avc1,rand',
|
||||||
|
},
|
||||||
|
otherArguments: {},
|
||||||
|
},
|
||||||
|
output: { processFile: true, infoLog: 'File is not in codecTagStringsToNotProcess. Moving to next plugin.' },
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
run(tests);
|
||||||
30
tests/helpers/run.js
Normal file
30
tests/helpers/run.js
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
const path = require('path');
|
||||||
|
const chai = require('chai');
|
||||||
|
|
||||||
|
const scriptName = path.basename(process.mainModule.filename);
|
||||||
|
// eslint-disable-next-line import/no-dynamic-require
|
||||||
|
const { plugin } = require(`../../Community/${scriptName}`);
|
||||||
|
|
||||||
|
const run = async (tests) => {
|
||||||
|
try {
|
||||||
|
for (let i = 0; i < tests.length; i += 1) {
|
||||||
|
// eslint-disable-next-line no-console
|
||||||
|
console.log(`${scriptName}: test ${i}`);
|
||||||
|
const test = tests[i];
|
||||||
|
// eslint-disable-next-line no-await-in-loop
|
||||||
|
const testOutput = await plugin(
|
||||||
|
test.input.file,
|
||||||
|
test.input.librarySettings,
|
||||||
|
test.input.inputs,
|
||||||
|
test.input.otherArguments,
|
||||||
|
);
|
||||||
|
chai.assert.deepEqual(testOutput, test.output);
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
// eslint-disable-next-line no-console
|
||||||
|
console.log(err);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = run;
|
||||||
31
tests/runTests.js
Normal file
31
tests/runTests.js
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
/* eslint no-console: 0 */ // --> OFF
|
||||||
|
|
||||||
|
const fs = require('fs');
|
||||||
|
const childProcess = require('child_process');
|
||||||
|
|
||||||
|
const filenames = fs.readdirSync(`${__dirname}/Community`);
|
||||||
|
|
||||||
|
const run = async () => {
|
||||||
|
for (let i = 0; i < filenames.length; i += 1) {
|
||||||
|
const path = `${__dirname}/Community/${filenames[i]}`;
|
||||||
|
// eslint-disable-next-line no-await-in-loop
|
||||||
|
await new Promise((resolve) => {
|
||||||
|
childProcess.exec(`node ${path}`, (err, stdout, stderr) => {
|
||||||
|
if (err) {
|
||||||
|
console.log(err);
|
||||||
|
}
|
||||||
|
console.log(stdout);
|
||||||
|
console.log(stderr);
|
||||||
|
}).on('exit', async (code) => {
|
||||||
|
if (code !== 0) {
|
||||||
|
await new Promise((resolve2) => setTimeout(resolve2, 1000));
|
||||||
|
process.exit(1);
|
||||||
|
} else {
|
||||||
|
resolve();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
run();
|
||||||
432
tests/sampleData/media/sampleH264_1.json
Normal file
432
tests/sampleData/media/sampleH264_1.json
Normal file
|
|
@ -0,0 +1,432 @@
|
||||||
|
{
|
||||||
|
"_id": "C:/Transcode/Source Folder/SampleVideo_1280x720_1mb.mp4",
|
||||||
|
"file": "C:/Transcode/Source Folder/SampleVideo_1280x720_1mb.mp4",
|
||||||
|
"DB": "2MY5YD7P8",
|
||||||
|
"footprintId": "KA_y0Hm3Ld",
|
||||||
|
"hasClosedCaptions": false,
|
||||||
|
"container": "mp4",
|
||||||
|
"scannerReads": {
|
||||||
|
"ffProbeRead": "success",
|
||||||
|
"exiftoolRead": "success",
|
||||||
|
"mediaInfoRead": "success",
|
||||||
|
"closedCaptionRead": "\"Unable to run CCExtractor\""
|
||||||
|
},
|
||||||
|
"ffProbeData": {
|
||||||
|
"streams": [
|
||||||
|
{
|
||||||
|
"index": 0,
|
||||||
|
"codec_name": "h264",
|
||||||
|
"codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
|
||||||
|
"profile": "Main",
|
||||||
|
"codec_type": "video",
|
||||||
|
"codec_tag_string": "avc1",
|
||||||
|
"codec_tag": "0x31637661",
|
||||||
|
"width": 1280,
|
||||||
|
"height": 720,
|
||||||
|
"coded_width": 1280,
|
||||||
|
"coded_height": 720,
|
||||||
|
"closed_captions": 0,
|
||||||
|
"has_b_frames": 0,
|
||||||
|
"sample_aspect_ratio": "1:1",
|
||||||
|
"display_aspect_ratio": "16:9",
|
||||||
|
"pix_fmt": "yuv420p",
|
||||||
|
"level": 31,
|
||||||
|
"chroma_location": "left",
|
||||||
|
"refs": 1,
|
||||||
|
"is_avc": "true",
|
||||||
|
"nal_length_size": "4",
|
||||||
|
"r_frame_rate": "25/1",
|
||||||
|
"avg_frame_rate": "25/1",
|
||||||
|
"time_base": "1/12800",
|
||||||
|
"start_pts": 0,
|
||||||
|
"start_time": "0.000000",
|
||||||
|
"duration_ts": 67584,
|
||||||
|
"duration": "5.280000",
|
||||||
|
"bit_rate": "1205959",
|
||||||
|
"bits_per_raw_sample": "8",
|
||||||
|
"nb_frames": "132",
|
||||||
|
"disposition": {
|
||||||
|
"default": 1,
|
||||||
|
"dub": 0,
|
||||||
|
"original": 0,
|
||||||
|
"comment": 0,
|
||||||
|
"lyrics": 0,
|
||||||
|
"karaoke": 0,
|
||||||
|
"forced": 0,
|
||||||
|
"hearing_impaired": 0,
|
||||||
|
"visual_impaired": 0,
|
||||||
|
"clean_effects": 0,
|
||||||
|
"attached_pic": 0,
|
||||||
|
"timed_thumbnails": 0,
|
||||||
|
"captions": 0,
|
||||||
|
"descriptions": 0,
|
||||||
|
"metadata": 0,
|
||||||
|
"dependent": 0,
|
||||||
|
"still_image": 0
|
||||||
|
},
|
||||||
|
"tags": {
|
||||||
|
"creation_time": "1970-01-01T00:00:00.000000Z",
|
||||||
|
"language": "und",
|
||||||
|
"handler_name": "VideoHandler",
|
||||||
|
"vendor_id": "[0][0][0][0]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"index": 1,
|
||||||
|
"codec_name": "aac",
|
||||||
|
"codec_long_name": "AAC (Advanced Audio Coding)",
|
||||||
|
"profile": "LC",
|
||||||
|
"codec_type": "audio",
|
||||||
|
"codec_tag_string": "mp4a",
|
||||||
|
"codec_tag": "0x6134706d",
|
||||||
|
"sample_fmt": "fltp",
|
||||||
|
"sample_rate": "48000",
|
||||||
|
"channels": 6,
|
||||||
|
"channel_layout": "5.1",
|
||||||
|
"bits_per_sample": 0,
|
||||||
|
"r_frame_rate": "0/0",
|
||||||
|
"avg_frame_rate": "0/0",
|
||||||
|
"time_base": "1/48000",
|
||||||
|
"start_pts": 0,
|
||||||
|
"start_time": "0.000000",
|
||||||
|
"duration_ts": 254976,
|
||||||
|
"duration": "5.312000",
|
||||||
|
"bit_rate": "384828",
|
||||||
|
"nb_frames": "249",
|
||||||
|
"disposition": {
|
||||||
|
"default": 1,
|
||||||
|
"dub": 0,
|
||||||
|
"original": 0,
|
||||||
|
"comment": 0,
|
||||||
|
"lyrics": 0,
|
||||||
|
"karaoke": 0,
|
||||||
|
"forced": 0,
|
||||||
|
"hearing_impaired": 0,
|
||||||
|
"visual_impaired": 0,
|
||||||
|
"clean_effects": 0,
|
||||||
|
"attached_pic": 0,
|
||||||
|
"timed_thumbnails": 0,
|
||||||
|
"captions": 0,
|
||||||
|
"descriptions": 0,
|
||||||
|
"metadata": 0,
|
||||||
|
"dependent": 0,
|
||||||
|
"still_image": 0
|
||||||
|
},
|
||||||
|
"tags": {
|
||||||
|
"creation_time": "1970-01-01T00:00:00.000000Z",
|
||||||
|
"language": "und",
|
||||||
|
"handler_name": "SoundHandler",
|
||||||
|
"vendor_id": "[0][0][0][0]"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"format": {
|
||||||
|
"filename": "C:/Transcode/Source Folder/SampleVideo_1280x720_1mb.mp4",
|
||||||
|
"nb_streams": 2,
|
||||||
|
"nb_programs": 0,
|
||||||
|
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
|
||||||
|
"format_long_name": "QuickTime / MOV",
|
||||||
|
"start_time": "0.000000",
|
||||||
|
"duration": "5.312000",
|
||||||
|
"size": "1056519",
|
||||||
|
"bit_rate": "1591143",
|
||||||
|
"probe_score": 100,
|
||||||
|
"tags": {
|
||||||
|
"major_brand": "isom",
|
||||||
|
"minor_version": "512",
|
||||||
|
"compatible_brands": "isomiso2avc1mp41",
|
||||||
|
"creation_time": "1970-01-08T00:00:00.000000Z",
|
||||||
|
"encoder": "Lavf53.24.2",
|
||||||
|
"title": "Sample title test",
|
||||||
|
"composer": "th",
|
||||||
|
"date": "2018",
|
||||||
|
"genre": "this",
|
||||||
|
"artist": "hhj",
|
||||||
|
"comment": "hhk"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"file_size": 1.0075750350952148,
|
||||||
|
"video_resolution": "720p",
|
||||||
|
"fileMedium": "video",
|
||||||
|
"video_codec_name": "h264",
|
||||||
|
"audio_codec_name": "",
|
||||||
|
"lastPluginDetails": "none",
|
||||||
|
"createdAt": 1653029288316,
|
||||||
|
"bit_rate": 1591143,
|
||||||
|
"duration": 5,
|
||||||
|
"statSync": {
|
||||||
|
"dev": 3832468976,
|
||||||
|
"mode": 33060,
|
||||||
|
"nlink": 1,
|
||||||
|
"uid": 0,
|
||||||
|
"gid": 0,
|
||||||
|
"rdev": 0,
|
||||||
|
"blksize": 4096,
|
||||||
|
"ino": 1688849864649366,
|
||||||
|
"size": 1056519,
|
||||||
|
"blocks": 2064,
|
||||||
|
"atimeMs": 1653029288299.0342,
|
||||||
|
"mtimeMs": 1569306262000,
|
||||||
|
"ctimeMs": 1650864287160.0793,
|
||||||
|
"birthtimeMs": 1652683715285.7583,
|
||||||
|
"atime": "2022-05-20T06:48:08.299Z",
|
||||||
|
"mtime": "2019-09-24T06:24:22.000Z",
|
||||||
|
"ctime": "2022-04-25T05:24:47.160Z",
|
||||||
|
"birthtime": "2022-05-16T06:48:35.286Z"
|
||||||
|
},
|
||||||
|
"HealthCheck": "",
|
||||||
|
"TranscodeDecisionMaker": "",
|
||||||
|
"lastHealthCheckDate": 0,
|
||||||
|
"holdUntil": 0,
|
||||||
|
"lastTranscodeDate": 0,
|
||||||
|
"bumped": false,
|
||||||
|
"history": "",
|
||||||
|
"oldSize": 0,
|
||||||
|
"newSize": 0,
|
||||||
|
"videoStreamIndex": 0,
|
||||||
|
"lastUpdate": 1653028721083,
|
||||||
|
"meta": {
|
||||||
|
"SourceFile": "C:/Transcode/Source Folder/SampleVideo_1280x720_1mb.mp4",
|
||||||
|
"errors": [],
|
||||||
|
"Duration": 5.312,
|
||||||
|
"PreviewDuration": 0,
|
||||||
|
"SelectionDuration": 0,
|
||||||
|
"TrackDuration": 5.28,
|
||||||
|
"MediaDuration": 5.28,
|
||||||
|
"ExifToolVersion": 12.4,
|
||||||
|
"FileName": "SampleVideo_1280x720_1mb.mp4",
|
||||||
|
"Directory": "C:/Transcode/Source Folder",
|
||||||
|
"FileSize": "1032 KiB",
|
||||||
|
"FileModifyDate": {
|
||||||
|
"year": 2019,
|
||||||
|
"month": 9,
|
||||||
|
"day": 24,
|
||||||
|
"hour": 7,
|
||||||
|
"minute": 24,
|
||||||
|
"second": 22,
|
||||||
|
"millisecond": 0,
|
||||||
|
"tzoffsetMinutes": 60,
|
||||||
|
"rawValue": "2019:09:24 07:24:22+01:00"
|
||||||
|
},
|
||||||
|
"FileAccessDate": {
|
||||||
|
"year": 2022,
|
||||||
|
"month": 5,
|
||||||
|
"day": 20,
|
||||||
|
"hour": 7,
|
||||||
|
"minute": 48,
|
||||||
|
"second": 6,
|
||||||
|
"millisecond": 0,
|
||||||
|
"tzoffsetMinutes": 60,
|
||||||
|
"rawValue": "2022:05:20 07:48:06+01:00"
|
||||||
|
},
|
||||||
|
"FileCreateDate": {
|
||||||
|
"year": 2022,
|
||||||
|
"month": 5,
|
||||||
|
"day": 16,
|
||||||
|
"hour": 7,
|
||||||
|
"minute": 48,
|
||||||
|
"second": 35,
|
||||||
|
"millisecond": 0,
|
||||||
|
"tzoffsetMinutes": 60,
|
||||||
|
"rawValue": "2022:05:16 07:48:35+01:00"
|
||||||
|
},
|
||||||
|
"FilePermissions": "-r--r--r--",
|
||||||
|
"FileType": "MP4",
|
||||||
|
"FileTypeExtension": "mp4",
|
||||||
|
"MIMEType": "video/mp4",
|
||||||
|
"MajorBrand": "MP4 Base Media v1 [IS0 14496-12:2003]",
|
||||||
|
"MinorVersion": "0.2.0",
|
||||||
|
"CompatibleBrands": [
|
||||||
|
"isom",
|
||||||
|
"iso2",
|
||||||
|
"avc1",
|
||||||
|
"mp41"
|
||||||
|
],
|
||||||
|
"MediaDataSize": 0,
|
||||||
|
"MediaDataOffset": 1051515,
|
||||||
|
"MovieHeaderVersion": 0,
|
||||||
|
"CreateDate": {
|
||||||
|
"year": 1970,
|
||||||
|
"month": 1,
|
||||||
|
"day": 8,
|
||||||
|
"hour": 0,
|
||||||
|
"minute": 0,
|
||||||
|
"second": 0,
|
||||||
|
"millisecond": 0,
|
||||||
|
"rawValue": "1970:01:08 00:00:00"
|
||||||
|
},
|
||||||
|
"ModifyDate": {
|
||||||
|
"year": 2014,
|
||||||
|
"month": 7,
|
||||||
|
"day": 19,
|
||||||
|
"hour": 17,
|
||||||
|
"minute": 15,
|
||||||
|
"second": 29,
|
||||||
|
"millisecond": 0,
|
||||||
|
"rawValue": "2014:07:19 17:15:29"
|
||||||
|
},
|
||||||
|
"TimeScale": 1000,
|
||||||
|
"PreferredRate": 1,
|
||||||
|
"PreferredVolume": "100.00%",
|
||||||
|
"PreviewTime": "0 s",
|
||||||
|
"PosterTime": "0 s",
|
||||||
|
"SelectionTime": "0 s",
|
||||||
|
"CurrentTime": "0 s",
|
||||||
|
"NextTrackID": 3,
|
||||||
|
"TrackHeaderVersion": 0,
|
||||||
|
"TrackCreateDate": "0000:00:00 00:00:00",
|
||||||
|
"TrackModifyDate": "0000:00:00 00:00:00",
|
||||||
|
"TrackID": 1,
|
||||||
|
"TrackLayer": 0,
|
||||||
|
"TrackVolume": "0.00%",
|
||||||
|
"ImageWidth": 1280,
|
||||||
|
"ImageHeight": 720,
|
||||||
|
"GraphicsMode": "srcCopy",
|
||||||
|
"OpColor": "0 0 0",
|
||||||
|
"CompressorID": "avc1",
|
||||||
|
"SourceImageWidth": 1280,
|
||||||
|
"SourceImageHeight": 720,
|
||||||
|
"XResolution": 72,
|
||||||
|
"YResolution": 72,
|
||||||
|
"BitDepth": 24,
|
||||||
|
"VideoFrameRate": 25,
|
||||||
|
"MatrixStructure": "1 0 0 0 1 0 0 0 1",
|
||||||
|
"MediaHeaderVersion": 0,
|
||||||
|
"MediaCreateDate": "0000:00:00 00:00:00",
|
||||||
|
"MediaModifyDate": "0000:00:00 00:00:00",
|
||||||
|
"MediaTimeScale": 48000,
|
||||||
|
"MediaLanguageCode": "und",
|
||||||
|
"HandlerDescription": "SoundHandler",
|
||||||
|
"Balance": 0,
|
||||||
|
"AudioFormat": "mp4a",
|
||||||
|
"AudioChannels": 2,
|
||||||
|
"AudioBitsPerSample": 16,
|
||||||
|
"AudioSampleRate": 48000,
|
||||||
|
"HandlerType": "Metadata",
|
||||||
|
"HandlerVendorID": "Apple",
|
||||||
|
"Encoder": "Lavf53.24.2",
|
||||||
|
"Title": "Sample title test",
|
||||||
|
"Composer": "th",
|
||||||
|
"BeatsPerMinute": 0,
|
||||||
|
"ContentCreateDate": 2018,
|
||||||
|
"Genre": "this",
|
||||||
|
"Artist": "hhj",
|
||||||
|
"Comment": "hhk",
|
||||||
|
"Subtitle": "jj",
|
||||||
|
"Mood": "lik",
|
||||||
|
"ContentDistributor": "cont",
|
||||||
|
"Conductor": "jo",
|
||||||
|
"Writer": "writ",
|
||||||
|
"InitialKey": "ho",
|
||||||
|
"Producer": "prod",
|
||||||
|
"ParentalRating": "par",
|
||||||
|
"Director": "dir",
|
||||||
|
"Period": "pol",
|
||||||
|
"Publisher": "pub",
|
||||||
|
"PromotionURL": "prom",
|
||||||
|
"AuthorURL": "auth",
|
||||||
|
"EncodedBy": "enc",
|
||||||
|
"Category": "h",
|
||||||
|
"ImageSize": "1280x720",
|
||||||
|
"Megapixels": 0.922,
|
||||||
|
"AvgBitrate": "1.58 Mbps",
|
||||||
|
"Rotation": 0
|
||||||
|
},
|
||||||
|
"mediaInfo": {
|
||||||
|
"@ref": "",
|
||||||
|
"track": [
|
||||||
|
{
|
||||||
|
"@type": "General",
|
||||||
|
"VideoCount": "1",
|
||||||
|
"AudioCount": "1",
|
||||||
|
"Format": "MPEG-4",
|
||||||
|
"Format_Profile": "Base Media",
|
||||||
|
"CodecID": "isom",
|
||||||
|
"CodecID_Compatible": "isom/iso2/avc1/mp41",
|
||||||
|
"FileSize": "1056519",
|
||||||
|
"Duration": "5.312",
|
||||||
|
"OverallBitRate_Mode": "VBR",
|
||||||
|
"OverallBitRate": "1591143",
|
||||||
|
"FrameRate": "25.000",
|
||||||
|
"FrameCount": "132",
|
||||||
|
"StreamSize": "5060",
|
||||||
|
"HeaderSize": "40",
|
||||||
|
"DataSize": "1051467",
|
||||||
|
"FooterSize": "5012",
|
||||||
|
"IsStreamable": "No",
|
||||||
|
"Title": "Sample title test",
|
||||||
|
"Movie": "Sample title test",
|
||||||
|
"Performer": "hhj",
|
||||||
|
"Composer": "th",
|
||||||
|
"Genre": "this",
|
||||||
|
"Recorded_Date": "2018",
|
||||||
|
"Encoded_Date": "UTC 1970-01-08 00:00:00",
|
||||||
|
"Tagged_Date": "UTC 2014-07-19 17:15:29",
|
||||||
|
"Encoded_Application": "Lavf53.24.2",
|
||||||
|
"Comment": "hhk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "Video",
|
||||||
|
"StreamOrder": "0",
|
||||||
|
"ID": "1",
|
||||||
|
"Format": "AVC",
|
||||||
|
"Format_Profile": "Main",
|
||||||
|
"Format_Level": "3.1",
|
||||||
|
"Format_Settings_CABAC": "Yes",
|
||||||
|
"Format_Settings_RefFrames": "1",
|
||||||
|
"CodecID": "avc1",
|
||||||
|
"Duration": "5.280",
|
||||||
|
"BitRate": "1205959",
|
||||||
|
"Width": "1280",
|
||||||
|
"Height": "720",
|
||||||
|
"Sampled_Width": "1280",
|
||||||
|
"Sampled_Height": "720",
|
||||||
|
"PixelAspectRatio": "1.000",
|
||||||
|
"DisplayAspectRatio": "1.778",
|
||||||
|
"Rotation": "0.000",
|
||||||
|
"FrameRate_Mode": "CFR",
|
||||||
|
"FrameRate_Mode_Original": "VFR",
|
||||||
|
"FrameRate": "25.000",
|
||||||
|
"FrameCount": "132",
|
||||||
|
"ColorSpace": "YUV",
|
||||||
|
"ChromaSubsampling": "4:2:0",
|
||||||
|
"BitDepth": "8",
|
||||||
|
"ScanType": "Progressive",
|
||||||
|
"StreamSize": "795933",
|
||||||
|
"Encoded_Date": "UTC 1970-01-01 00:00:00",
|
||||||
|
"Tagged_Date": "UTC 1970-01-01 00:00:00",
|
||||||
|
"extra": {
|
||||||
|
"CodecConfigurationBox": "avcC"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "Audio",
|
||||||
|
"StreamOrder": "1",
|
||||||
|
"ID": "2",
|
||||||
|
"Format": "AAC",
|
||||||
|
"Format_AdditionalFeatures": "LC",
|
||||||
|
"CodecID": "mp4a-40-2",
|
||||||
|
"Duration": "5.312",
|
||||||
|
"BitRate_Mode": "VBR",
|
||||||
|
"BitRate": "384000",
|
||||||
|
"BitRate_Maximum": "400392",
|
||||||
|
"Channels": "6",
|
||||||
|
"ChannelPositions": "Front: L C R, Side: L R, LFE",
|
||||||
|
"ChannelLayout": "C L R Ls Rs LFE",
|
||||||
|
"SamplesPerFrame": "1024",
|
||||||
|
"SamplingRate": "48000",
|
||||||
|
"SamplingCount": "254976",
|
||||||
|
"FrameRate": "46.875",
|
||||||
|
"FrameCount": "249",
|
||||||
|
"Compression_Mode": "Lossy",
|
||||||
|
"StreamSize": "255526",
|
||||||
|
"StreamSize_Proportion": "0.24186",
|
||||||
|
"Default": "Yes",
|
||||||
|
"AlternateGroup": "1",
|
||||||
|
"Encoded_Date": "UTC 1970-01-01 00:00:00",
|
||||||
|
"Tagged_Date": "UTC 1970-01-01 00:00:00"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
334
tests/sampleData/media/sampleH265_1.json
Normal file
334
tests/sampleData/media/sampleH265_1.json
Normal file
|
|
@ -0,0 +1,334 @@
|
||||||
|
{
|
||||||
|
"_id": "C:/Transcode/Source Folder/qsv_h265.mkv",
|
||||||
|
"file": "C:/Transcode/Source Folder/qsv_h265.mkv",
|
||||||
|
"DB": "2MY5YD7P8",
|
||||||
|
"footprintId": "xkZP3IPR6g",
|
||||||
|
"hasClosedCaptions": false,
|
||||||
|
"container": "mkv",
|
||||||
|
"scannerReads": {
|
||||||
|
"ffProbeRead": "success",
|
||||||
|
"exiftoolRead": "success",
|
||||||
|
"mediaInfoRead": "success",
|
||||||
|
"closedCaptionRead": "\"Unable to run CCExtractor\""
|
||||||
|
},
|
||||||
|
"ffProbeData": {
|
||||||
|
"streams": [
|
||||||
|
{
|
||||||
|
"index": 0,
|
||||||
|
"codec_name": "hevc",
|
||||||
|
"codec_long_name": "H.265 / HEVC (High Efficiency Video Coding)",
|
||||||
|
"profile": "Main",
|
||||||
|
"codec_type": "video",
|
||||||
|
"codec_tag_string": "[0][0][0][0]",
|
||||||
|
"codec_tag": "0x0000",
|
||||||
|
"width": 1920,
|
||||||
|
"height": 1080,
|
||||||
|
"coded_width": 1920,
|
||||||
|
"coded_height": 1088,
|
||||||
|
"closed_captions": 0,
|
||||||
|
"has_b_frames": 1,
|
||||||
|
"sample_aspect_ratio": "1:1",
|
||||||
|
"display_aspect_ratio": "16:9",
|
||||||
|
"pix_fmt": "yuv420p",
|
||||||
|
"level": 150,
|
||||||
|
"color_range": "tv",
|
||||||
|
"color_space": "bt709",
|
||||||
|
"color_transfer": "bt709",
|
||||||
|
"color_primaries": "bt709",
|
||||||
|
"chroma_location": "left",
|
||||||
|
"refs": 1,
|
||||||
|
"r_frame_rate": "25/1",
|
||||||
|
"avg_frame_rate": "25/1",
|
||||||
|
"time_base": "1/1000",
|
||||||
|
"start_pts": 21,
|
||||||
|
"start_time": "0.021000",
|
||||||
|
"disposition": {
|
||||||
|
"default": 1,
|
||||||
|
"dub": 0,
|
||||||
|
"original": 0,
|
||||||
|
"comment": 0,
|
||||||
|
"lyrics": 0,
|
||||||
|
"karaoke": 0,
|
||||||
|
"forced": 0,
|
||||||
|
"hearing_impaired": 0,
|
||||||
|
"visual_impaired": 0,
|
||||||
|
"clean_effects": 0,
|
||||||
|
"attached_pic": 0,
|
||||||
|
"timed_thumbnails": 0,
|
||||||
|
"captions": 0,
|
||||||
|
"descriptions": 0,
|
||||||
|
"metadata": 0,
|
||||||
|
"dependent": 0,
|
||||||
|
"still_image": 0
|
||||||
|
},
|
||||||
|
"tags": {
|
||||||
|
"DURATION": "00:00:21.341000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"index": 1,
|
||||||
|
"codec_name": "aac",
|
||||||
|
"codec_long_name": "AAC (Advanced Audio Coding)",
|
||||||
|
"profile": "LC",
|
||||||
|
"codec_type": "audio",
|
||||||
|
"codec_tag_string": "[0][0][0][0]",
|
||||||
|
"codec_tag": "0x0000",
|
||||||
|
"sample_fmt": "fltp",
|
||||||
|
"sample_rate": "48000",
|
||||||
|
"channels": 2,
|
||||||
|
"channel_layout": "stereo",
|
||||||
|
"bits_per_sample": 0,
|
||||||
|
"r_frame_rate": "0/0",
|
||||||
|
"avg_frame_rate": "0/0",
|
||||||
|
"time_base": "1/1000",
|
||||||
|
"start_pts": 0,
|
||||||
|
"start_time": "0.000000",
|
||||||
|
"disposition": {
|
||||||
|
"default": 1,
|
||||||
|
"dub": 0,
|
||||||
|
"original": 0,
|
||||||
|
"comment": 0,
|
||||||
|
"lyrics": 0,
|
||||||
|
"karaoke": 0,
|
||||||
|
"forced": 0,
|
||||||
|
"hearing_impaired": 0,
|
||||||
|
"visual_impaired": 0,
|
||||||
|
"clean_effects": 0,
|
||||||
|
"attached_pic": 0,
|
||||||
|
"timed_thumbnails": 0,
|
||||||
|
"captions": 0,
|
||||||
|
"descriptions": 0,
|
||||||
|
"metadata": 0,
|
||||||
|
"dependent": 0,
|
||||||
|
"still_image": 0
|
||||||
|
},
|
||||||
|
"tags": {
|
||||||
|
"title": "Stereo",
|
||||||
|
"DURATION": "00:00:21.375000000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"format": {
|
||||||
|
"filename": "C:/Transcode/Source Folder/qsv_h265.mkv",
|
||||||
|
"nb_streams": 2,
|
||||||
|
"nb_programs": 0,
|
||||||
|
"format_name": "matroska,webm",
|
||||||
|
"format_long_name": "Matroska / WebM",
|
||||||
|
"start_time": "0.000000",
|
||||||
|
"duration": "21.375000",
|
||||||
|
"size": "8569883",
|
||||||
|
"bit_rate": "3207441",
|
||||||
|
"probe_score": 100,
|
||||||
|
"tags": {
|
||||||
|
"creation_time": "2019-09-13T16:46:14.000000Z",
|
||||||
|
"ENCODER": "Lavf58.20.100"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"file_size": 8.172877311706543,
|
||||||
|
"video_resolution": "1080p",
|
||||||
|
"fileMedium": "video",
|
||||||
|
"video_codec_name": "hevc",
|
||||||
|
"audio_codec_name": "",
|
||||||
|
"lastPluginDetails": "none",
|
||||||
|
"createdAt": 1653029410394,
|
||||||
|
"bit_rate": 3207441,
|
||||||
|
"duration": 21,
|
||||||
|
"statSync": {
|
||||||
|
"dev": 3832468976,
|
||||||
|
"mode": 33060,
|
||||||
|
"nlink": 1,
|
||||||
|
"uid": 0,
|
||||||
|
"gid": 0,
|
||||||
|
"rdev": 0,
|
||||||
|
"blksize": 4096,
|
||||||
|
"ino": 1970324841360027,
|
||||||
|
"size": 8569883,
|
||||||
|
"blocks": 16744,
|
||||||
|
"atimeMs": 1653029410381.1382,
|
||||||
|
"mtimeMs": 1568393195000,
|
||||||
|
"ctimeMs": 1650864287188.087,
|
||||||
|
"birthtimeMs": 1650864302270.2063,
|
||||||
|
"atime": "2022-05-20T06:50:10.381Z",
|
||||||
|
"mtime": "2019-09-13T16:46:35.000Z",
|
||||||
|
"ctime": "2022-04-25T05:24:47.188Z",
|
||||||
|
"birthtime": "2022-04-25T05:25:02.270Z"
|
||||||
|
},
|
||||||
|
"HealthCheck": "",
|
||||||
|
"TranscodeDecisionMaker": "",
|
||||||
|
"lastHealthCheckDate": 0,
|
||||||
|
"holdUntil": 0,
|
||||||
|
"lastTranscodeDate": 0,
|
||||||
|
"bumped": false,
|
||||||
|
"history": "",
|
||||||
|
"oldSize": 0,
|
||||||
|
"newSize": 0,
|
||||||
|
"videoStreamIndex": 0,
|
||||||
|
"lastUpdate": 1653027918258,
|
||||||
|
"meta": {
|
||||||
|
"SourceFile": "C:/Transcode/Source Folder/qsv_h265.mkv",
|
||||||
|
"errors": [],
|
||||||
|
"Duration": 21.375,
|
||||||
|
"ExifToolVersion": 12.4,
|
||||||
|
"FileName": "qsv_h265.mkv",
|
||||||
|
"Directory": "C:/Transcode/Source Folder",
|
||||||
|
"FileSize": "8.2 MiB",
|
||||||
|
"FileModifyDate": {
|
||||||
|
"year": 2019,
|
||||||
|
"month": 9,
|
||||||
|
"day": 13,
|
||||||
|
"hour": 17,
|
||||||
|
"minute": 46,
|
||||||
|
"second": 35,
|
||||||
|
"millisecond": 0,
|
||||||
|
"tzoffsetMinutes": 60,
|
||||||
|
"rawValue": "2019:09:13 17:46:35+01:00"
|
||||||
|
},
|
||||||
|
"FileAccessDate": {
|
||||||
|
"year": 2022,
|
||||||
|
"month": 5,
|
||||||
|
"day": 20,
|
||||||
|
"hour": 7,
|
||||||
|
"minute": 50,
|
||||||
|
"second": 9,
|
||||||
|
"millisecond": 0,
|
||||||
|
"tzoffsetMinutes": 60,
|
||||||
|
"rawValue": "2022:05:20 07:50:09+01:00"
|
||||||
|
},
|
||||||
|
"FileCreateDate": {
|
||||||
|
"year": 2022,
|
||||||
|
"month": 4,
|
||||||
|
"day": 25,
|
||||||
|
"hour": 6,
|
||||||
|
"minute": 25,
|
||||||
|
"second": 2,
|
||||||
|
"millisecond": 0,
|
||||||
|
"tzoffsetMinutes": 60,
|
||||||
|
"rawValue": "2022:04:25 06:25:02+01:00"
|
||||||
|
},
|
||||||
|
"FilePermissions": "-r--r--r--",
|
||||||
|
"FileType": "MKV",
|
||||||
|
"FileTypeExtension": "mkv",
|
||||||
|
"MIMEType": "video/x-matroska",
|
||||||
|
"EBMLVersion": 1,
|
||||||
|
"EBMLReadVersion": 1,
|
||||||
|
"DocType": "matroska",
|
||||||
|
"DocTypeVersion": 4,
|
||||||
|
"DocTypeReadVersion": 2,
|
||||||
|
"TimecodeScale": "1 ms",
|
||||||
|
"MuxingApp": "Lavf58.20.100",
|
||||||
|
"WritingApp": "HandBrake 1.2.2 2019022300",
|
||||||
|
"DateTimeOriginal": {
|
||||||
|
"year": 2019,
|
||||||
|
"month": 9,
|
||||||
|
"day": 13,
|
||||||
|
"hour": 16,
|
||||||
|
"minute": 46,
|
||||||
|
"second": 14,
|
||||||
|
"millisecond": 0,
|
||||||
|
"tzoffsetMinutes": 0,
|
||||||
|
"rawValue": "2019:09:13 16:46:14Z"
|
||||||
|
},
|
||||||
|
"VideoFrameRate": 25,
|
||||||
|
"ImageWidth": 1920,
|
||||||
|
"ImageHeight": 1080,
|
||||||
|
"TrackNumber": 2,
|
||||||
|
"TrackName": "Stereo",
|
||||||
|
"TrackLanguage": "und",
|
||||||
|
"CodecID": "A_AAC",
|
||||||
|
"TrackType": "Audio",
|
||||||
|
"AudioChannels": 2,
|
||||||
|
"AudioSampleRate": 48000,
|
||||||
|
"TagName": "DURATION",
|
||||||
|
"TagString": "00:00:21.375000000",
|
||||||
|
"ImageSize": "1920x1080",
|
||||||
|
"Megapixels": 2.1
|
||||||
|
},
|
||||||
|
"mediaInfo": {
|
||||||
|
"@ref": "",
|
||||||
|
"track": [
|
||||||
|
{
|
||||||
|
"@type": "General",
|
||||||
|
"UniqueID": "112612991515236890937117095733641799622",
|
||||||
|
"VideoCount": "1",
|
||||||
|
"AudioCount": "1",
|
||||||
|
"Format": "Matroska",
|
||||||
|
"Format_Version": "4",
|
||||||
|
"FileSize": "8569883",
|
||||||
|
"Duration": "21.375",
|
||||||
|
"OverallBitRate": "3207442",
|
||||||
|
"FrameRate": "25.000",
|
||||||
|
"FrameCount": "533",
|
||||||
|
"IsStreamable": "Yes",
|
||||||
|
"Encoded_Date": "UTC 2019-09-13 16:46:14",
|
||||||
|
"Encoded_Application": "HandBrake 1.2.2 2019022300",
|
||||||
|
"Encoded_Library": "Lavf58.20.100",
|
||||||
|
"extra": {
|
||||||
|
"ErrorDetectionType": "Per level 1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "Video",
|
||||||
|
"StreamOrder": "0",
|
||||||
|
"ID": "1",
|
||||||
|
"UniqueID": "1",
|
||||||
|
"Format": "HEVC",
|
||||||
|
"Format_Profile": "Main",
|
||||||
|
"Format_Level": "5",
|
||||||
|
"Format_Tier": "Main",
|
||||||
|
"CodecID": "V_MPEGH/ISO/HEVC",
|
||||||
|
"Duration": "21.320000000",
|
||||||
|
"Width": "1920",
|
||||||
|
"Height": "1080",
|
||||||
|
"Stored_Height": "1088",
|
||||||
|
"Sampled_Width": "1920",
|
||||||
|
"Sampled_Height": "1080",
|
||||||
|
"PixelAspectRatio": "1.000",
|
||||||
|
"DisplayAspectRatio": "1.778",
|
||||||
|
"FrameRate_Mode": "CFR",
|
||||||
|
"FrameRate": "25.000",
|
||||||
|
"FrameCount": "533",
|
||||||
|
"ColorSpace": "YUV",
|
||||||
|
"ChromaSubsampling": "4:2:0",
|
||||||
|
"BitDepth": "8",
|
||||||
|
"Delay": "0.021",
|
||||||
|
"Default": "Yes",
|
||||||
|
"Forced": "No",
|
||||||
|
"colour_description_present": "Yes",
|
||||||
|
"colour_description_present_Source": "Stream",
|
||||||
|
"colour_range": "Limited",
|
||||||
|
"colour_range_Source": "Stream",
|
||||||
|
"colour_primaries": "BT.709",
|
||||||
|
"colour_primaries_Source": "Stream",
|
||||||
|
"transfer_characteristics": "BT.709",
|
||||||
|
"transfer_characteristics_Source": "Stream",
|
||||||
|
"matrix_coefficients": "BT.709",
|
||||||
|
"matrix_coefficients_Source": "Stream"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "Audio",
|
||||||
|
"StreamOrder": "1",
|
||||||
|
"ID": "2",
|
||||||
|
"UniqueID": "2",
|
||||||
|
"Format": "AAC",
|
||||||
|
"Format_Settings_SBR": "No (Explicit)",
|
||||||
|
"Format_AdditionalFeatures": "LC",
|
||||||
|
"CodecID": "A_AAC-2",
|
||||||
|
"Duration": "21.375000000",
|
||||||
|
"Channels": "2",
|
||||||
|
"ChannelPositions": "Front: L R",
|
||||||
|
"ChannelLayout": "L R",
|
||||||
|
"SamplesPerFrame": "1024",
|
||||||
|
"SamplingRate": "48000",
|
||||||
|
"SamplingCount": "1026000",
|
||||||
|
"FrameRate": "46.875",
|
||||||
|
"Compression_Mode": "Lossy",
|
||||||
|
"Delay": "0.000",
|
||||||
|
"Delay_Source": "Container",
|
||||||
|
"Title": "Stereo",
|
||||||
|
"Default": "Yes",
|
||||||
|
"Forced": "No"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue