diff --git a/FlowPlugins/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandRemoveStreamByProperty/1.0.0/index.js b/FlowPlugins/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandRemoveStreamByProperty/1.0.0/index.js index b44d2eb8f..67b26a235 100644 --- a/FlowPlugins/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandRemoveStreamByProperty/1.0.0/index.js +++ b/FlowPlugins/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandRemoveStreamByProperty/1.0.0/index.js @@ -64,7 +64,7 @@ var plugin = function (args) { // eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign args.inputs = lib.loadDefaultValues(args.inputs, details); var propertyToCheck = String(args.inputs.propertyToCheck).trim(); - var valuesToRemove = String(args.inputs.valuesToRemove).trim().split(','); + var valuesToRemove = String(args.inputs.valuesToRemove).trim().split(',').map(function (item) { return item.trim(); }); var condition = String(args.inputs.condition); args.variables.ffmpegCommand.streams.forEach(function (stream) { var _a; diff --git a/FlowPlugins/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandSetContainer/1.0.0/index.js b/FlowPlugins/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandSetContainer/1.0.0/index.js index 49d916522..e6b1c357f 100644 --- a/FlowPlugins/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandSetContainer/1.0.0/index.js +++ b/FlowPlugins/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandSetContainer/1.0.0/index.js @@ -77,12 +77,15 @@ var plugin = function (args) { } } if (newContainer === 'mp4') { - if ([ - 'hdmv_pgs_subtitle', - 'eia_608', - 'timed_id3', - 'subrip', - ].includes(codecName)) { + if (codecType === 'attachment' + || [ + 'hdmv_pgs_subtitle', + 'eia_608', + 'timed_id3', + 'subrip', + 'ass', + 'ssa', + ].includes(codecName)) { stream.removed = true; } } @@ -92,6 +95,16 @@ var plugin = function (args) { } } } + // handle genpts if coming from odd container + var container = args.inputFileObj.container.toLowerCase(); + if ([ + 'ts', + 'avi', + 'mpg', + 'mpeg', + ].includes(container)) { + args.variables.ffmpegCommand.overallOuputArguments.push('-fflags', '+genpts'); + } } return { outputFileObj: args.inputFileObj, diff --git a/FlowPluginsTs/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandRemoveStreamByProperty/1.0.0/index.ts b/FlowPluginsTs/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandRemoveStreamByProperty/1.0.0/index.ts index 5a9c987eb..2a2d62751 100644 --- a/FlowPluginsTs/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandRemoveStreamByProperty/1.0.0/index.ts +++ b/FlowPluginsTs/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandRemoveStreamByProperty/1.0.0/index.ts @@ -85,7 +85,7 @@ const plugin = (args: IpluginInputArgs): IpluginOutputArgs => { args.inputs = lib.loadDefaultValues(args.inputs, details); const propertyToCheck = String(args.inputs.propertyToCheck).trim(); - const valuesToRemove = String(args.inputs.valuesToRemove).trim().split(','); + const valuesToRemove = String(args.inputs.valuesToRemove).trim().split(',').map((item) => item.trim()); const condition = String(args.inputs.condition); args.variables.ffmpegCommand.streams.forEach((stream) => { @@ -101,7 +101,6 @@ const plugin = (args: IpluginInputArgs): IpluginOutputArgs => { const prop = String(target).toLowerCase(); for (let i = 0; i < valuesToRemove.length; i += 1) { const val = valuesToRemove[i].toLowerCase(); - const prefix = `Removing stream index ${stream.index} because ${propertyToCheck} of ${prop}`; if (condition === 'includes' && prop.includes(val)) { args.jobLog(`${prefix} includes ${val}\n`); diff --git a/FlowPluginsTs/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandSetContainer/1.0.0/index.ts b/FlowPluginsTs/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandSetContainer/1.0.0/index.ts index 2ed84f985..b573af3f5 100644 --- a/FlowPluginsTs/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandSetContainer/1.0.0/index.ts +++ b/FlowPluginsTs/CommunityFlowPlugins/ffmpegCommand/ffmpegCommandSetContainer/1.0.0/index.ts @@ -93,11 +93,14 @@ const plugin = (args: IpluginInputArgs): IpluginOutputArgs => { if (newContainer === 'mp4') { if ( - [ + codecType === 'attachment' + || [ 'hdmv_pgs_subtitle', 'eia_608', 'timed_id3', 'subrip', + 'ass', + 'ssa', ].includes(codecName) ) { stream.removed = true; @@ -108,6 +111,18 @@ const plugin = (args: IpluginInputArgs): IpluginOutputArgs => { } } } + // handle genpts if coming from odd container + const container = args.inputFileObj.container.toLowerCase(); + if ( + [ + 'ts', + 'avi', + 'mpg', + 'mpeg', + ].includes(container) + ) { + args.variables.ffmpegCommand.overallOuputArguments.push('-fflags', '+genpts'); + } } return {