fix unknown timestamp fix for ts and avi for migz gpu (#292)

* unknown timestamp fix for ts and avi

* Increment version

* fix formatting

* Fix comment
make-only-subtitle-default
Fish2 4 years ago committed by GitHub
parent 5c605a2d20
commit 01e85692ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -10,7 +10,7 @@ const details = () => ({
Working by the logic that H265 can support the same ammount of data at half the bitrate of H264. Working by the logic that H265 can support the same ammount of data at half the bitrate of H264.
NVDEC & NVENC compatable GPU required. NVDEC & NVENC compatable GPU required.
This plugin will skip any files that are in the VP9 codec.`, This plugin will skip any files that are in the VP9 codec.`,
Version: '3.0', Version: '3.1',
Tags: 'pre-processing,ffmpeg,video only,nvenc h265,configurable', Tags: 'pre-processing,ffmpeg,video only,nvenc h265,configurable',
Inputs: [{ Inputs: [{
name: 'container', name: 'container',
@ -149,6 +149,7 @@ const plugin = (file, librarySettings, inputs, otherArguments) => {
let videoIdx = 0; let videoIdx = 0;
let CPU10 = false; let CPU10 = false;
let extraArguments = ''; let extraArguments = '';
let genpts = '';
let bitrateSettings = ''; let bitrateSettings = '';
// Work out currentBitrate using "Bitrate = file size / (number of minutes * .0075)" // Work out currentBitrate using "Bitrate = file size / (number of minutes * .0075)"
// Used from here https://blog.frame.io/2017/03/06/calculate-video-bitrates/ // Used from here https://blog.frame.io/2017/03/06/calculate-video-bitrates/
@ -164,6 +165,11 @@ const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line no-bitwise // eslint-disable-next-line no-bitwise
const maximumBitrate = ~~(targetBitrate * 1.3); const maximumBitrate = ~~(targetBitrate * 1.3);
// If Container .ts or .avi set genpts to fix unknown timestamp
if (inputs.container.toLowerCase() === 'ts' || inputs.container.toLowerCase() === 'avi') {
genpts = '-fflags +genpts';
}
// If targetBitrate comes out as 0 then something has gone wrong and bitrates could not be calculated. // If targetBitrate comes out as 0 then something has gone wrong and bitrates could not be calculated.
// Cancel plugin completely. // Cancel plugin completely.
if (targetBitrate === 0) { if (targetBitrate === 0) {
@ -321,7 +327,7 @@ const plugin = (file, librarySettings, inputs, otherArguments) => {
response.preset = '-c:v vp8_cuvid'; response.preset = '-c:v vp8_cuvid';
} }
response.preset += `,-map 0 -c:v hevc_nvenc -cq:v 19 ${bitrateSettings} ` response.preset += `${genpts}, -map 0 -c:v hevc_nvenc -cq:v 19 ${bitrateSettings} `
+ `-spatial_aq:v 1 -rc-lookahead:v 32 -c:a copy -c:s copy -max_muxing_queue_size 9999 ${extraArguments}`; + `-spatial_aq:v 1 -rc-lookahead:v 32 -c:a copy -c:s copy -max_muxing_queue_size 9999 ${extraArguments}`;
response.processFile = true; response.processFile = true;
response.infoLog += 'File is not hevc or vp9. Transcoding. \n'; response.infoLog += 'File is not hevc or vp9. Transcoding. \n';

Loading…
Cancel
Save