@mediaproc/video 1.2.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/cli.js +25 -4
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/compress.d.ts.map +1 -1
  4. package/dist/commands/compress.js +18 -11
  5. package/dist/commands/compress.js.map +1 -1
  6. package/dist/commands/convert.d.ts.map +1 -1
  7. package/dist/commands/convert.js +40 -25
  8. package/dist/commands/convert.js.map +1 -1
  9. package/dist/commands/extract.d.ts.map +1 -1
  10. package/dist/commands/extract.js +288 -209
  11. package/dist/commands/extract.js.map +1 -1
  12. package/dist/commands/merge.d.ts.map +1 -1
  13. package/dist/commands/merge.js +161 -43
  14. package/dist/commands/merge.js.map +1 -1
  15. package/dist/commands/metadata.d.ts +3 -0
  16. package/dist/commands/metadata.d.ts.map +1 -0
  17. package/dist/commands/metadata.js +310 -0
  18. package/dist/commands/metadata.js.map +1 -0
  19. package/dist/commands/resize.d.ts.map +1 -1
  20. package/dist/commands/resize.js +50 -17
  21. package/dist/commands/resize.js.map +1 -1
  22. package/dist/commands/transcode.d.ts.map +1 -1
  23. package/dist/commands/transcode.js +67 -17
  24. package/dist/commands/transcode.js.map +1 -1
  25. package/dist/commands/trim.d.ts.map +1 -1
  26. package/dist/commands/trim.js +55 -16
  27. package/dist/commands/trim.js.map +1 -1
  28. package/dist/register.d.ts +2 -1
  29. package/dist/register.d.ts.map +1 -1
  30. package/dist/register.js +28 -8
  31. package/dist/register.js.map +1 -1
  32. package/dist/types.d.ts +32 -33
  33. package/dist/types.d.ts.map +1 -1
  34. package/dist/utils/explainFormatter.d.ts +2 -0
  35. package/dist/utils/explainFormatter.d.ts.map +1 -0
  36. package/dist/utils/explainFormatter.js +4 -0
  37. package/dist/utils/explainFormatter.js.map +1 -0
  38. package/dist/utils/ffmpeg-output.d.ts +7 -3
  39. package/dist/utils/ffmpeg-output.d.ts.map +1 -1
  40. package/dist/utils/ffmpeg-output.js +56 -65
  41. package/dist/utils/ffmpeg-output.js.map +1 -1
  42. package/dist/utils/ffmpeg.d.ts +26 -22
  43. package/dist/utils/ffmpeg.d.ts.map +1 -1
  44. package/dist/utils/ffmpeg.js +211 -93
  45. package/dist/utils/ffmpeg.js.map +1 -1
  46. package/dist/utils/ffmpegLogger.d.ts +3 -10
  47. package/dist/utils/ffmpegLogger.d.ts.map +1 -1
  48. package/dist/utils/ffmpegLogger.js +15 -51
  49. package/dist/utils/ffmpegLogger.js.map +1 -1
  50. package/package.json +7 -12
  51. package/bin/cli.js +0 -5
@@ -3,11 +3,10 @@ import ora from 'ora';
3
3
  import { writeFile, unlink, stat } from 'fs/promises';
4
4
  import { tmpdir } from 'os';
5
5
  import { join } from 'path';
6
- import { runFFmpeg, getVideoMetadata, checkFFmpeg, formatFileSize, formatDuration, } from '../utils/ffmpeg.js';
7
- import { showPluginBranding } from '../utils/branding.js';
8
- import { fileExists, validatePaths, resolveOutputPaths } from '../utils/pathValidator.js';
6
+ import { runFFmpeg, getVideoMetadata, getStreamInfo, checkFFmpeg, formatFileSize, formatDuration, } from '../utils/ffmpeg.js';
7
+ import { fileExists, resolveOutputPaths, createStandardHelp, VIDEO_EXTENSIONS } from '@mediaproc/core';
8
+ import { validatePaths } from '@mediaproc/core';
9
9
  import { logFFmpegOutput } from '../utils/ffmpegLogger.js';
10
- import { createStandardHelp } from '../utils/helpFormatter.js';
11
10
  export function mergeCommand(videoCmd) {
12
11
  videoCmd
13
12
  .command('merge <inputs...>')
@@ -24,10 +23,11 @@ export function mergeCommand(videoCmd) {
24
23
  .option('--normalize-audio', 'Normalize audio levels across videos')
25
24
  .option('--format <format>', 'Output format: mp4, mkv, avi, webm (default: mp4)', 'mp4')
26
25
  .option('--dry-run', 'Preview command without executing')
26
+ .option('--explain [mode]', 'Show a detailed explanation of what this command will do, including technical and human-readable output. Modes: human, details, json. Adds context like timestamp, user, and platform.')
27
27
  .option('-v, --verbose', 'Show detailed FFmpeg output')
28
28
  .option('-h, --help', 'Display help for merge command')
29
29
  .action(async (inputs, options) => {
30
- if (options.help) {
30
+ if (options.help || !inputs) {
31
31
  createStandardHelp({
32
32
  commandName: 'merge',
33
33
  emoji: 'šŸ”—',
@@ -50,6 +50,7 @@ export function mergeCommand(videoCmd) {
50
50
  { flag: '--normalize-audio', description: 'Normalize audio levels across videos' },
51
51
  { flag: '--format <format>', description: 'Output format: mp4, mkv, avi, webm (default: mp4)' },
52
52
  { flag: '--dry-run', description: 'Preview FFmpeg command without executing' },
53
+ { flag: '--explain [mode]', description: 'Show a detailed explanation of what this command will do, including technical and human-readable output. Modes: human, details, json. Adds context like timestamp, user, and platform.' },
53
54
  { flag: '-v, --verbose', description: 'Show detailed FFmpeg output' }
54
55
  ],
55
56
  examples: [
@@ -90,10 +91,20 @@ export function mergeCommand(videoCmd) {
90
91
  const tempListFile = join(tmpdir(), `mediaproc-merge-${Date.now()}.txt`);
91
92
  const spinner = ora('Processing video merge...').start();
92
93
  try {
93
- if (inputs.length < 2) {
94
+ if (!inputs || inputs.length < 2) {
94
95
  spinner.fail(chalk.red('At least 2 videos are required for merging'));
95
96
  process.exit(1);
96
97
  }
98
+ // Centralized input validation using pathValidator
99
+ const { inputFiles, errors } = validatePaths(inputs.join(','), undefined, { allowedExtensions: VIDEO_EXTENSIONS });
100
+ if (errors.length > 0) {
101
+ spinner.fail(chalk.red(errors.join('\n')));
102
+ process.exit(1);
103
+ }
104
+ if (inputFiles.length < 2) {
105
+ spinner.fail(chalk.red('At least 2 valid video files are required for merging'));
106
+ process.exit(1);
107
+ }
97
108
  // Check ffmpeg
98
109
  const ffmpegAvailable = await checkFFmpeg();
99
110
  if (!ffmpegAvailable) {
@@ -101,28 +112,48 @@ export function mergeCommand(videoCmd) {
101
112
  process.exit(1);
102
113
  }
103
114
  spinner.text = 'Analyzing videos...';
104
- const inputPaths = [];
105
115
  const metadataList = [];
116
+ const validInputFiles = []; // Track only valid files
117
+ const audioStreamInfo = []; // Track which files have audio
106
118
  let totalDuration = 0;
107
119
  let totalSize = 0;
108
- for (let i = 0; i < inputs.length; i++) {
109
- const validation = validatePaths(inputs[i], undefined);
110
- if (validation.errors.length > 0) {
111
- throw new Error(`Input ${i + 1}: ${validation.errors.join(', ')}`);
120
+ for (let i = 0; i < inputFiles.length; i++) {
121
+ const inputPath = inputFiles[i];
122
+ let metadata;
123
+ let streamInfo;
124
+ try {
125
+ metadata = await getVideoMetadata(inputPath);
126
+ streamInfo = await getStreamInfo(inputPath);
112
127
  }
113
- const inputPath = validation.inputFiles[0];
114
- // Check if input file exists
115
- if (!(await fileExists(inputPath))) {
116
- throw new Error(`Input ${i + 1} does not exist: ${inputPath}`);
128
+ catch (metaErr) {
129
+ // Make ffprobe failures non-fatal warnings
130
+ console.log(chalk.yellow('\u26a0\ufe0f Warning:'), `ffprobe failed for ${inputPath}`);
131
+ console.log(chalk.dim(metaErr.message || String(metaErr)));
132
+ console.log(chalk.yellow('This may be due to an unsupported format, incomplete file, or codec issue.'));
133
+ console.log(chalk.yellow('Skipping this file from merge...'));
134
+ continue;
117
135
  }
118
- inputPaths.push(inputPath);
119
- const metadata = await getVideoMetadata(inputPath);
120
136
  const fileStat = await stat(inputPath);
121
137
  metadataList.push(metadata);
138
+ validInputFiles.push(inputPath); // Only add if validation passed
139
+ audioStreamInfo.push(streamInfo.hasAudio); // Track audio presence
122
140
  totalDuration += metadata.duration;
123
141
  totalSize += fileStat.size;
124
- console.log(chalk.gray(` ${i + 1}. ${inputs[i]}`));
125
- console.log(chalk.dim(` ${metadata.width}x${metadata.height}, ${formatDuration(metadata.duration)}, ${metadata.codec}`));
142
+ console.log(chalk.gray(` ${validInputFiles.length}. ${inputPath}`));
143
+ console.log(chalk.dim(` ${metadata.width}x${metadata.height}, ${formatDuration(metadata.duration)}, ${metadata.codec}${streamInfo.hasAudio ? '' : ' (no audio)'}`));
144
+ }
145
+ // Check if we have any valid files after analysis
146
+ if (metadataList.length === 0) {
147
+ spinner.fail(chalk.red('No valid video files to merge'));
148
+ process.exit(1);
149
+ }
150
+ if (metadataList.length < inputFiles.length) {
151
+ console.log(chalk.yellow(`\u26a0\ufe0f Only ${metadataList.length} of ${inputFiles.length} files are valid for merging`));
152
+ }
153
+ // Require at least 2 valid files to merge
154
+ if (validInputFiles.length < 2) {
155
+ spinner.fail(chalk.red('At least 2 valid video files are required for merging'));
156
+ process.exit(1);
126
157
  }
127
158
  console.log();
128
159
  console.log(chalk.gray(` Total duration: ${formatDuration(totalDuration)}`));
@@ -136,36 +167,125 @@ export function mergeCommand(videoCmd) {
136
167
  console.log(chalk.yellow(' Will re-encode for compatibility (slower)'));
137
168
  console.log(chalk.dim(' Use --re-encode to skip this warning\n'));
138
169
  }
139
- // Validate and resolve output path
140
- const outputValidation = validatePaths(inputPaths[0], options.output, {
141
- newExtension: '.mp4'
142
- });
170
+ // Centralized output path validation and resolution
171
+ const outputExt = options.formats ? `.${options.formats}` : '.mp4';
172
+ const outputValidation = validatePaths(validInputFiles[0], options.output, { allowedExtensions: VIDEO_EXTENSIONS });
143
173
  if (outputValidation.errors.length > 0) {
144
- throw new Error(`Output path invalid: ${outputValidation.errors.join(', ')}`);
174
+ spinner.fail(chalk.red(`Output path invalid: ${outputValidation.errors.join(', ')}`));
175
+ process.exit(1);
145
176
  }
146
- const outputMap = resolveOutputPaths([inputPaths[0]], options.output, {
147
- newExtension: '.mp4'
148
- });
149
- const output = outputMap.get(inputPaths[0]);
177
+ const outputMap = resolveOutputPaths([validInputFiles[0]], options.output, { newExtension: outputExt });
178
+ const output = outputMap.get(validInputFiles[0]);
150
179
  // Check if output file already exists
151
- if (await fileExists(output) && !options.dryRun) {
180
+ if (fileExists(output) && !options.dryRun) {
152
181
  console.log(chalk.yellow(`āš ļø Output file exists and will be overwritten: ${output}\n`));
153
182
  }
154
183
  let args;
155
184
  if (needsReEncode) {
156
- // Re-encode mode: use filter_complex
157
- const filterInputs = inputPaths.map((_, i) => `[${i}:v][${i}:a]`).join('');
158
- const filterComplex = `${filterInputs}concat=n=${inputPaths.length}:v=1:a=1[outv][outa]`;
159
- args = [];
160
- inputPaths.forEach((path) => {
161
- args.push('-i', path);
162
- });
163
- args.push('-filter_complex', filterComplex, '-map', '[outv]', '-map', '[outa]', '-c:v', 'libx264', '-crf', '23', '-c:a', 'aac', '-y', output);
185
+ // Re-encode mode: use filter_complex with conditional audio handling
186
+ // Determine target resolution (use first video's resolution or largest resolution)
187
+ const targetWidth = Math.max(...metadataList.map(m => m.width));
188
+ const targetHeight = Math.max(...metadataList.map(m => m.height));
189
+ const needsScaling = metadataList.some(m => m.width !== targetWidth || m.height !== targetHeight);
190
+ if (needsScaling) {
191
+ console.log(chalk.yellow(`āš ļø Videos have different resolutions - scaling all to ${targetWidth}x${targetHeight}`));
192
+ }
193
+ const hasAnyAudio = audioStreamInfo.some(hasAudio => hasAudio);
194
+ if (hasAnyAudio) {
195
+ // Check if all videos have audio or only some
196
+ const allHaveAudio = audioStreamInfo.every(hasAudio => hasAudio);
197
+ if (allHaveAudio) {
198
+ // All videos have audio - use standard concat with audio and scaling
199
+ args = [];
200
+ validInputFiles.forEach((path) => {
201
+ args.push('-i', path);
202
+ });
203
+ if (needsScaling) {
204
+ // Scale videos first, then concat
205
+ const scaleFilters = metadataList.map((_, i) => `[${i}:v]scale=${targetWidth}:${targetHeight}:force_original_aspect_ratio=decrease,pad=${targetWidth}:${targetHeight}:(ow-iw)/2:(oh-ih)/2,setsar=1[v${i}]`).join(';');
206
+ const concatInputs = metadataList.map((_, i) => `[v${i}][${i}:a]`).join('');
207
+ const filterComplex = `${scaleFilters};${concatInputs}concat=n=${validInputFiles.length}:v=1:a=1[outv][outa]`;
208
+ args.push('-filter_complex', filterComplex, '-map', '[outv]', '-map', '[outa]', '-c:v', 'libx264', '-crf', '23', '-c:a', 'aac', '-y', output);
209
+ }
210
+ else {
211
+ // No scaling needed
212
+ const filterInputs = validInputFiles.map((_, i) => `[${i}:v][${i}:a]`).join('');
213
+ const filterComplex = `${filterInputs}concat=n=${validInputFiles.length}:v=1:a=1[outv][outa]`;
214
+ args.push('-filter_complex', filterComplex, '-map', '[outv]', '-map', '[outa]', '-c:v', 'libx264', '-crf', '23', '-c:a', 'aac', '-y', output);
215
+ }
216
+ }
217
+ else {
218
+ // Mixed: some have audio, some don't - generate silent audio for videos without audio
219
+ console.log(chalk.yellow('āš ļø Some videos have no audio - will add silent audio track'));
220
+ args = [];
221
+ validInputFiles.forEach((path) => {
222
+ args.push('-i', path);
223
+ });
224
+ const filterParts = [];
225
+ const scaleFilters = [];
226
+ const silentFilters = [];
227
+ // Build filters for each video
228
+ metadataList.forEach((_, i) => {
229
+ if (needsScaling) {
230
+ // Scale video
231
+ scaleFilters.push(`[${i}:v]scale=${targetWidth}:${targetHeight}:force_original_aspect_ratio=decrease,pad=${targetWidth}:${targetHeight}:(ow-iw)/2:(oh-ih)/2,setsar=1[v${i}]`);
232
+ if (audioStreamInfo[i]) {
233
+ // Has audio - use scaled video and original audio
234
+ filterParts.push(`[v${i}][${i}:a]`);
235
+ }
236
+ else {
237
+ // No audio - use scaled video and generate silent audio
238
+ silentFilters.push(`anullsrc=channel_layout=stereo:sample_rate=44100[silent${i}]`);
239
+ filterParts.push(`[v${i}][silent${i}]`);
240
+ }
241
+ }
242
+ else {
243
+ // No scaling needed
244
+ if (audioStreamInfo[i]) {
245
+ // Has audio - use as-is
246
+ filterParts.push(`[${i}:v][${i}:a]`);
247
+ }
248
+ else {
249
+ // No audio - generate silent audio
250
+ silentFilters.push(`anullsrc=channel_layout=stereo:sample_rate=44100[silent${i}]`);
251
+ filterParts.push(`[${i}:v][silent${i}]`);
252
+ }
253
+ }
254
+ });
255
+ // Combine all filters
256
+ const allFilters = [...scaleFilters, ...silentFilters].filter(f => f.length > 0);
257
+ const filterComplex = allFilters.length > 0
258
+ ? `${allFilters.join(';')};${filterParts.join('')}concat=n=${validInputFiles.length}:v=1:a=1[outv][outa]`
259
+ : `${filterParts.join('')}concat=n=${validInputFiles.length}:v=1:a=1[outv][outa]`;
260
+ args.push('-filter_complex', filterComplex, '-map', '[outv]', '-map', '[outa]', '-c:v', 'libx264', '-crf', '23', '-c:a', 'aac', '-y', output);
261
+ }
262
+ }
263
+ else {
264
+ // No videos have audio - video-only concat
265
+ console.log(chalk.yellow('āš ļø All videos have no audio - output will be video-only'));
266
+ args = [];
267
+ validInputFiles.forEach((path) => {
268
+ args.push('-i', path);
269
+ });
270
+ if (needsScaling) {
271
+ // Scale videos first, then concat
272
+ const scaleFilters = metadataList.map((_, i) => `[${i}:v]scale=${targetWidth}:${targetHeight}:force_original_aspect_ratio=decrease,pad=${targetWidth}:${targetHeight}:(ow-iw)/2:(oh-ih)/2,setsar=1[v${i}]`).join(';');
273
+ const concatInputs = metadataList.map((_, i) => `[v${i}]`).join('');
274
+ const filterComplex = `${scaleFilters};${concatInputs}concat=n=${validInputFiles.length}:v=1:a=0[outv]`;
275
+ args.push('-filter_complex', filterComplex, '-map', '[outv]', '-c:v', 'libx264', '-crf', '23', '-y', output);
276
+ }
277
+ else {
278
+ // No scaling needed
279
+ const filterInputs = validInputFiles.map((_, i) => `[${i}:v]`).join('');
280
+ const filterComplex = `${filterInputs}concat=n=${validInputFiles.length}:v=1:a=0[outv]`;
281
+ args.push('-filter_complex', filterComplex, '-map', '[outv]', '-c:v', 'libx264', '-crf', '23', '-y', output);
282
+ }
283
+ }
164
284
  }
165
285
  else {
166
286
  // Fast concat mode: use concat demuxer (no re-encode)
167
- // Create concat list file
168
- const listContent = inputPaths.map((path) => `file '${path.replace(/'/g, "'\\''")}'`).join('\n');
287
+ // Create concat list file with ONLY valid files
288
+ const listContent = validInputFiles.map((path) => `file '${path.replace(/'/g, "'\\''")}'`).join('\n');
169
289
  await writeFile(tempListFile, listContent);
170
290
  args = ['-f', 'concat', '-safe', '0', '-i', tempListFile, '-c', 'copy', '-y', output];
171
291
  }
@@ -176,7 +296,6 @@ export function mergeCommand(videoCmd) {
176
296
  console.log(chalk.dim('\nCommand:'));
177
297
  console.log(chalk.gray(` ffmpeg ${args.join(' ')}\n`));
178
298
  console.log(chalk.green('āœ“ Dry run complete'));
179
- showPluginBranding('Video');
180
299
  return;
181
300
  }
182
301
  // Run merge
@@ -193,18 +312,17 @@ export function mergeCommand(videoCmd) {
193
312
  const outputStat = await stat(output);
194
313
  console.log();
195
314
  console.log(chalk.green.bold('āœ“ Merging Complete!\n'));
196
- console.log(chalk.gray(` Videos merged: ${inputs.length}`));
315
+ console.log(chalk.gray(` Videos merged: ${validInputFiles.length}`));
197
316
  console.log(chalk.gray(` Total duration: ${formatDuration(totalDuration)}`));
198
317
  console.log(chalk.gray(` Output size: ${formatFileSize(outputStat.size)}`));
199
318
  console.log(chalk.dim(`\n ${output}`));
200
- showPluginBranding('Video');
201
319
  }
202
320
  catch (error) {
203
321
  console.error(chalk.red(`\nāœ— Error: ${error.message}`));
204
322
  process.exit(1);
205
323
  }
206
324
  finally {
207
- // Clean up temp file
325
+ // Clean up temp file (even on error)
208
326
  try {
209
327
  await unlink(tempListFile);
210
328
  }
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function metadataCommand(videoCmd: Command): void;
3
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/commands/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0DzC,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAyHvD"}