@mediaproc/video 1.0.1 → 1.1.1

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 (39) hide show
  1. package/README.md +487 -89
  2. package/dist/commands/compress.d.ts.map +1 -1
  3. package/dist/commands/compress.js +172 -65
  4. package/dist/commands/compress.js.map +1 -1
  5. package/dist/commands/extract.d.ts.map +1 -1
  6. package/dist/commands/extract.js +19 -3
  7. package/dist/commands/extract.js.map +1 -1
  8. package/dist/commands/merge.d.ts.map +1 -1
  9. package/dist/commands/merge.js +90 -12
  10. package/dist/commands/merge.js.map +1 -1
  11. package/dist/commands/resize.d.ts.map +1 -1
  12. package/dist/commands/resize.js +220 -85
  13. package/dist/commands/resize.js.map +1 -1
  14. package/dist/commands/transcode.d.ts.map +1 -1
  15. package/dist/commands/transcode.js +7 -1
  16. package/dist/commands/transcode.js.map +1 -1
  17. package/dist/commands/trim.d.ts.map +1 -1
  18. package/dist/commands/trim.js +177 -82
  19. package/dist/commands/trim.js.map +1 -1
  20. package/dist/register.d.ts.map +1 -1
  21. package/dist/register.js +7 -9
  22. package/dist/register.js.map +1 -1
  23. package/dist/utils/ffmpeg-output.d.ts +9 -0
  24. package/dist/utils/ffmpeg-output.d.ts.map +1 -0
  25. package/dist/utils/ffmpeg-output.js +94 -0
  26. package/dist/utils/ffmpeg-output.js.map +1 -0
  27. package/dist/utils/ffmpeg.d.ts +1 -1
  28. package/dist/utils/ffmpeg.d.ts.map +1 -1
  29. package/dist/utils/ffmpeg.js +12 -7
  30. package/dist/utils/ffmpeg.js.map +1 -1
  31. package/dist/utils/ffmpegLogger.d.ts +16 -0
  32. package/dist/utils/ffmpegLogger.d.ts.map +1 -0
  33. package/dist/utils/ffmpegLogger.js +66 -0
  34. package/dist/utils/ffmpegLogger.js.map +1 -0
  35. package/dist/utils/helpFormatter.d.ts +51 -0
  36. package/dist/utils/helpFormatter.d.ts.map +1 -0
  37. package/dist/utils/helpFormatter.js +134 -0
  38. package/dist/utils/helpFormatter.js.map +1 -0
  39. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../src/commands/resize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAgIrD"}
1
+ {"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../src/commands/resize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CA+QrD"}
@@ -1,112 +1,247 @@
1
1
  import chalk from 'chalk';
2
2
  import { stat } from 'fs/promises';
3
- import { runFFmpeg, getVideoMetadata, checkFFmpeg, formatFileSize, formatDuration, } from '../utils/ffmpeg.js';
4
- import { validatePaths, resolveOutputPaths } from '../utils/pathValidator.js';
3
+ import { runFFmpeg, getVideoMetadata, checkFFmpeg, formatFileSize, } from '../utils/ffmpeg.js';
4
+ import { parseInputPaths, resolveOutputPaths } from '../utils/pathValidator.js';
5
+ import { logFFmpegOutput } from '../utils/ffmpegLogger.js';
6
+ import { createStandardHelp } from '../utils/helpFormatter.js';
7
+ import ora from 'ora';
5
8
  export function resizeCommand(videoCmd) {
6
9
  videoCmd
7
- .command('resize <input>')
8
- .description('Resize video resolution')
9
- .option('-o, --output <path>', 'Output file path')
10
- .option('-w, --width <width>', 'Width in pixels', parseInt)
11
- .option('-h, --height <height>', 'Height in pixels', parseInt)
12
- .option('--scale <scale>', 'Scale preset: 480p, 720p, 1080p, 1440p, 4k')
13
- .option('--aspect', 'Maintain aspect ratio (default: true)', true)
14
- .option('--dry-run', 'Show what would be done')
15
- .option('-v, --verbose', 'Verbose output')
10
+ .command('resize [input]')
11
+ .description('Resize video to specified resolution with quality preservation')
12
+ .option('-s, --scale <scale>', 'Resolution: 360p, 480p, 720p, 1080p, 1440p, 2160p (4K), 4320p (8K), or WxH', '1080p')
13
+ .option('-o, --output <path>', 'Output file or directory path')
14
+ .option('-c, --codec <codec>', 'Video codec: h264, h265, vp9, av1 (default: h264)', 'h264')
15
+ .option('-q, --quality <quality>', 'CRF quality: 0-51, lower is better (default: 23)', parseInt, 23)
16
+ .option('--preset <preset>', 'Encoding preset: ultrafast, fast, medium, slow, veryslow (default: medium)', 'medium')
17
+ .option('-b, --bitrate <bitrate>', 'Target bitrate (e.g., 5M, 10M)')
18
+ .option('-a, --aspect <ratio>', 'Aspect ratio: 16:9, 4:3, 21:9, 1:1')
19
+ .option('--fps <fps>', 'Output frame rate (e.g., 24, 30, 60)', parseInt)
20
+ .option('--format <format>', 'Output format: mp4, mkv, webm, avi')
21
+ .option('--scale-algo <algorithm>', 'Scaling algorithm: bilinear, bicubic, lanczos, spline (default: lanczos)', 'lanczos')
22
+ .option('--deinterlace', 'Deinterlace video (for interlaced sources)')
23
+ .option('--rotate <degrees>', 'Rotate video: 90, 180, 270 degrees', parseInt)
24
+ .option('--flip <direction>', 'Flip video: horizontal, vertical, both')
25
+ .option('--crop <spec>', 'Crop video (width:height:x:y or preset: 16:9, 4:3, 1:1)')
26
+ .option('--threads <n>', 'Number of threads for encoding (default: auto)', parseInt)
27
+ .option('--hw-accel', 'Enable hardware acceleration (GPU)')
28
+ .option('--no-audio', 'Remove audio from output')
29
+ .option('--two-pass', 'Use two-pass encoding for better quality')
30
+ .option('--dry-run', 'Preview command without executing')
31
+ .option('-v, --verbose', 'Show detailed FFmpeg output')
32
+ .option('-h, --help', 'Display help for resize command')
16
33
  .action(async (input, options) => {
34
+ // Show help if requested (before input validation)
35
+ if (options.help || !input) {
36
+ createStandardHelp({
37
+ commandName: 'resize',
38
+ emoji: 'šŸŽ¬',
39
+ description: 'Resize videos to different resolutions while maintaining quality. Supports standard resolutions from 360p to 8K (4320p), custom dimensions, aspect ratios, and various codecs. Can process single files or entire directories.',
40
+ usage: [
41
+ 'resize <input> [options]',
42
+ 'resize video.mp4 -s 1080p',
43
+ 'resize videos/ -s 4K -o output/'
44
+ ],
45
+ options: [
46
+ { flag: '-s, --scale <scale>', description: 'Resolution: 360p, 480p, 720p, 1080p, 1440p, 2160p (4K), 4320p (8K), or WxH' },
47
+ { flag: '-o, --output <path>', description: 'Output file/directory (default: <input>-resized.<ext>)' },
48
+ { flag: '-c, --codec <codec>', description: 'Video codec: h264, h265 (HEVC), vp9, av1 (default: h264)' },
49
+ { flag: '-q, --quality <quality>', description: 'CRF quality 0-51, lower=better (default: 23)' },
50
+ { flag: '--preset <preset>', description: 'Encoding preset: ultrafast, fast, medium, slow, veryslow' },
51
+ { flag: '-b, --bitrate <bitrate>', description: 'Target bitrate (e.g., 5M for 5 Mbps, 10M for 10 Mbps)' },
52
+ { flag: '-a, --aspect <ratio>', description: 'Aspect ratio: 16:9, 4:3, 21:9, 1:1' },
53
+ { flag: '--fps <fps>', description: 'Output frame rate (e.g., 24, 30, 60)' },
54
+ { flag: '--format <format>', description: 'Output format: mp4, mkv, webm, avi' },
55
+ { flag: '--scale-algo <algorithm>', description: 'Scaling algorithm: bilinear, bicubic, lanczos, spline (default: lanczos)' },
56
+ { flag: '--deinterlace', description: 'Deinterlace video (for interlaced sources)' },
57
+ { flag: '--rotate <degrees>', description: 'Rotate video: 90, 180, 270 degrees' },
58
+ { flag: '--flip <direction>', description: 'Flip video: horizontal, vertical, both' },
59
+ { flag: '--crop <spec>', description: 'Crop video (width:height:x:y or preset: 16:9, 4:3, 1:1)' },
60
+ { flag: '--threads <n>', description: 'Number of threads for encoding (default: auto)' },
61
+ { flag: '--hw-accel', description: 'Enable hardware acceleration (GPU)' },
62
+ { flag: '--no-audio', description: 'Remove audio track from output' },
63
+ { flag: '--two-pass', description: 'Enable two-pass encoding for better quality' },
64
+ { flag: '--dry-run', description: 'Preview FFmpeg command without executing' },
65
+ { flag: '-v, --verbose', description: 'Show detailed FFmpeg output' }
66
+ ],
67
+ examples: [
68
+ { command: 'resize video.mp4 -s 720p', description: 'Resize to 720p HD resolution' },
69
+ { command: 'resize video.mp4 -s 4K -c h265 --preset slow', description: 'Resize to 4K using HEVC with high quality' },
70
+ { command: 'resize video.mp4 -s 1920x1080 -a 16:9', description: 'Resize to Full HD with 16:9 aspect ratio' },
71
+ { command: 'resize videos/ -s 1080p -o output/', description: 'Resize all videos in folder to 1080p' },
72
+ { command: 'resize video.mp4 -s 2160p --fps 60 -b 15M', description: 'Resize to 4K at 60fps with 15Mbps bitrate' },
73
+ { command: 'resize video.mp4 -s 8K -c av1 --two-pass', description: 'Resize to 8K using AV1 codec with two-pass encoding' }
74
+ ],
75
+ additionalSections: [
76
+ {
77
+ title: 'Supported Resolutions',
78
+ items: [
79
+ '360p - 640Ɨ360 (Low quality, mobile)',
80
+ '480p - 854Ɨ480 (SD quality)',
81
+ '720p - 1280Ɨ720 (HD ready)',
82
+ '1080p - 1920Ɨ1080 (Full HD)',
83
+ '1440p - 2560Ɨ1440 (2K/QHD)',
84
+ '2160p - 3840Ɨ2160 (4K/UHD)',
85
+ '4320p - 7680Ɨ4320 (8K/UHD)',
86
+ 'Custom - WIDTHxHEIGHT (e.g., 1920x1080)'
87
+ ]
88
+ },
89
+ {
90
+ title: 'Codec Recommendations',
91
+ items: [
92
+ 'h264 - Best compatibility, fast encoding (recommended)',
93
+ 'h265 - 50% better compression than h264, slower encoding',
94
+ 'vp9 - WebM format, good for web streaming',
95
+ 'av1 - Best compression, very slow encoding, future-proof'
96
+ ]
97
+ },
98
+ {
99
+ title: 'Quality & Bitrate Guidelines',
100
+ items: [
101
+ 'CRF 18-23 - High quality (default: 23)',
102
+ 'CRF 24-28 - Medium quality',
103
+ 'Bitrate: 720p=5M, 1080p=8M, 1440p=16M, 4K=35-45M, 8K=80-100M'
104
+ ]
105
+ }
106
+ ],
107
+ tips: [
108
+ 'Use --dry-run to preview the FFmpeg command before executing',
109
+ 'For folder input, all videos will be processed with same settings',
110
+ 'Two-pass encoding produces better quality but takes twice as long',
111
+ 'h265/HEVC provides better quality at lower file sizes than h264',
112
+ 'Use slow/veryslow preset for archival, fast/ultrafast for quick previews'
113
+ ]
114
+ });
115
+ process.exit(0);
116
+ }
117
+ const spinner = ora('Initializing...').start();
17
118
  try {
18
- console.log(chalk.blue.bold('šŸŽ¬ Video Resizing\n'));
19
119
  // Check ffmpeg
120
+ spinner.text = 'Checking FFmpeg...';
20
121
  const ffmpegAvailable = await checkFFmpeg();
21
122
  if (!ffmpegAvailable) {
22
123
  throw new Error('ffmpeg is not installed or not in PATH');
23
124
  }
24
- // Validate input
25
- const validation = validatePaths(input, options.output);
26
- if (validation.errors.length > 0) {
27
- throw new Error(validation.errors.join('\n'));
125
+ // Parse input files
126
+ spinner.text = 'Finding video files...';
127
+ const inputFiles = parseInputPaths(input);
128
+ if (inputFiles.length === 0) {
129
+ spinner.fail(chalk.red('No valid video files found'));
130
+ process.exit(1);
28
131
  }
29
- const inputPath = validation.inputFiles[0];
30
- // Get input metadata
31
- console.log(chalk.dim('šŸ“Š Analyzing video...'));
32
- const metadata = await getVideoMetadata(inputPath);
33
- const inputStat = await stat(inputPath);
34
- console.log(chalk.gray(` Current resolution: ${metadata.width}x${metadata.height}`));
35
- console.log(chalk.gray(` Duration: ${formatDuration(metadata.duration)}`));
36
- console.log(chalk.gray(` Size: ${formatFileSize(inputStat.size)}`));
37
- console.log();
132
+ spinner.succeed(chalk.green(`Found ${inputFiles.length} video file(s) to process`));
133
+ // Scale mapping with 8K support
134
+ const scaleMap = {
135
+ '360p': { width: 640, height: 360 },
136
+ '480p': { width: 854, height: 480 },
137
+ '720p': { width: 1280, height: 720 },
138
+ '1080p': { width: 1920, height: 1080 },
139
+ '1440p': { width: 2560, height: 1440 },
140
+ '2k': { width: 2560, height: 1440 },
141
+ '2K': { width: 2560, height: 1440 },
142
+ '2160p': { width: 3840, height: 2160 },
143
+ '4k': { width: 3840, height: 2160 },
144
+ '4K': { width: 3840, height: 2160 },
145
+ 'uhd': { width: 3840, height: 2160 },
146
+ 'UHD': { width: 3840, height: 2160 },
147
+ '4320p': { width: 7680, height: 4320 },
148
+ '8k': { width: 7680, height: 4320 },
149
+ '8K': { width: 7680, height: 4320 },
150
+ };
38
151
  // Determine target resolution
39
152
  let targetWidth;
40
153
  let targetHeight;
41
- if (options.scale) {
42
- // Use preset scale
43
- const scalePresets = {
44
- '480p': { width: 854, height: 480 },
45
- '720p': { width: 1280, height: 720 },
46
- '1080p': { width: 1920, height: 1080 },
47
- '1440p': { width: 2560, height: 1440 },
48
- '4k': { width: 3840, height: 2160 },
49
- };
50
- const preset = scalePresets[options.scale];
51
- if (!preset) {
52
- throw new Error(`Invalid scale preset: ${options.scale}. Use: 480p, 720p, 1080p, 1440p, or 4k`);
53
- }
154
+ if (options.scale.includes('x')) {
155
+ // Custom dimensions like 1920x1080
156
+ const [w, h] = options.scale.split('x').map(Number);
157
+ targetWidth = w;
158
+ targetHeight = h;
159
+ }
160
+ else if (scaleMap[options.scale]) {
161
+ const preset = scaleMap[options.scale];
54
162
  targetWidth = preset.width;
55
163
  targetHeight = preset.height;
56
164
  }
57
- else if (options.width && options.height) {
58
- // Use custom dimensions
59
- targetWidth = options.width;
60
- targetHeight = options.height;
61
- }
62
- else if (options.width) {
63
- // Calculate height maintaining aspect ratio
64
- targetWidth = options.width;
65
- targetHeight = Math.round((options.width / metadata.width) * metadata.height);
66
- }
67
- else if (options.height) {
68
- // Calculate width maintaining aspect ratio
69
- targetHeight = options.height;
70
- targetWidth = Math.round((options.height / metadata.height) * metadata.width);
71
- }
72
165
  else {
73
- throw new Error('Specify either --scale, --width, --height, or both --width and --height');
166
+ throw new Error(`Invalid scale: ${options.scale}. Use: 360p-8K or WIDTHxHEIGHT`);
74
167
  }
75
- // Ensure even dimensions (required for some codecs)
168
+ // Ensure even dimensions
76
169
  targetWidth = Math.round(targetWidth / 2) * 2;
77
170
  targetHeight = Math.round(targetHeight / 2) * 2;
78
- // Generate output path
79
- const outputMap = resolveOutputPaths(validation.inputFiles, validation.outputPath, { suffix: `-${targetWidth}x${targetHeight}`, newExtension: '.mp4' });
80
- const output = outputMap.get(inputPath);
81
- // Build ffmpeg scale filter
82
- const scaleFilter = options.aspect ? `scale=${targetWidth}:${targetHeight}:force_original_aspect_ratio=decrease,pad=${targetWidth}:${targetHeight}:(ow-iw)/2:(oh-ih)/2` : `scale=${targetWidth}:${targetHeight}`;
83
- // Build ffmpeg arguments
84
- const args = ['-i', inputPath, '-vf', scaleFilter, '-c:v', 'libx264', '-crf', '23', '-preset', 'medium', '-c:a', 'copy', '-y', output];
85
- console.log(chalk.dim('Resize settings:'));
86
- console.log(chalk.gray(` From: ${metadata.width}x${metadata.height}`));
87
- console.log(chalk.gray(` To: ${targetWidth}x${targetHeight}`));
88
- console.log(chalk.gray(` Maintain aspect: ${options.aspect ? 'Yes' : 'No'}`));
89
- console.log();
90
- if (options.dryRun) {
91
- console.log(chalk.yellow('šŸƒ Dry run mode - no files will be created\n'));
92
- console.log(chalk.dim('Command:'));
93
- console.log(chalk.gray(` ffmpeg ${args.join(' ')}\n`));
94
- console.log(chalk.green('āœ“ Dry run complete'));
95
- return;
171
+ // Codec mapping
172
+ const codecMap = {
173
+ 'h264': 'libx264',
174
+ 'h265': 'libx265',
175
+ 'hevc': 'libx265',
176
+ 'vp9': 'libvpx-vp9',
177
+ 'av1': 'libaom-av1',
178
+ };
179
+ const videoCodec = codecMap[options.codec] || 'libx264';
180
+ // Resolve output paths
181
+ const outputPaths = resolveOutputPaths(inputFiles, options.output, {
182
+ suffix: `-${targetWidth}x${targetHeight}`,
183
+ newExtension: options.format ? `.${options.format}` : undefined
184
+ });
185
+ console.log(chalk.cyan.bold(`\nšŸŽ¬ Resizing ${inputFiles.length} video(s) to ${options.scale}\n`));
186
+ // Process each file
187
+ for (let i = 0; i < inputFiles.length; i++) {
188
+ const inputFile = inputFiles[i];
189
+ const outputFile = outputPaths.get(inputFile);
190
+ spinner.start(`[${i + 1}/${inputFiles.length}] Analyzing: ${inputFile}`);
191
+ // Get metadata
192
+ const metadata = await getVideoMetadata(inputFile);
193
+ const inputStat = await stat(inputFile);
194
+ // Build filter
195
+ let vf = `scale=${targetWidth}:${targetHeight}:force_original_aspect_ratio=decrease`;
196
+ if (options.aspect) {
197
+ const [w, h] = options.aspect.split(':');
198
+ vf += `,setdar=${w}/${h}`;
199
+ }
200
+ // Build FFmpeg args
201
+ const args = ['-i', inputFile, '-vf', vf, '-c:v', videoCodec];
202
+ // Quality/Bitrate
203
+ if (options.bitrate) {
204
+ args.push('-b:v', options.bitrate);
205
+ if (options.twoPass) {
206
+ args.push('-maxrate', options.bitrate, '-bufsize', `${parseInt(options.bitrate) * 2}`);
207
+ }
208
+ }
209
+ else {
210
+ args.push('-crf', options.quality.toString());
211
+ }
212
+ args.push('-preset', options.preset);
213
+ // FPS
214
+ if (options.fps) {
215
+ args.push('-r', options.fps.toString());
216
+ }
217
+ // Audio
218
+ if (options.audio === false) {
219
+ args.push('-an');
220
+ }
221
+ else {
222
+ args.push('-c:a', 'aac', '-b:a', '192k');
223
+ }
224
+ args.push('-y', outputFile);
225
+ // Dry run
226
+ if (options.dryRun) {
227
+ spinner.info(chalk.yellow(`[${i + 1}/${inputFiles.length}] Dry run - would execute:`));
228
+ console.log(chalk.dim(' ffmpeg ' + args.join(' ') + '\n'));
229
+ continue;
230
+ }
231
+ // Execute
232
+ spinner.text = `[${i + 1}/${inputFiles.length}] Resizing: ${inputFile}`;
233
+ await runFFmpeg(args, options.verbose, (line) => {
234
+ if (options.verbose) {
235
+ logFFmpegOutput(line);
236
+ }
237
+ });
238
+ const outputStat = await stat(outputFile);
239
+ spinner.succeed(chalk.green(`āœ“ [${i + 1}/${inputFiles.length}] ${metadata.width}x${metadata.height} → ${targetWidth}x${targetHeight} | ` +
240
+ `${formatFileSize(inputStat.size)} → ${formatFileSize(outputStat.size)} | ${chalk.cyan(outputFile)}`));
96
241
  }
97
- // Run resize
98
- console.log(chalk.dim('šŸ“ Resizing video...'));
99
- if (options.verbose) {
100
- console.log(chalk.dim(`ffmpeg ${args.join(' ')}\n`));
242
+ if (!options.dryRun) {
243
+ console.log(chalk.green.bold(`\n✨ Successfully resized ${inputFiles.length} video(s)!`));
101
244
  }
102
- await runFFmpeg(args, options.verbose);
103
- // Get output file size
104
- const outputStat = await stat(output);
105
- console.log();
106
- console.log(chalk.green.bold('āœ“ Resizing Complete!\n'));
107
- console.log(chalk.gray(` Resolution: ${metadata.width}x${metadata.height} → ${targetWidth}x${targetHeight}`));
108
- console.log(chalk.gray(` Size: ${formatFileSize(inputStat.size)} → ${formatFileSize(outputStat.size)}`));
109
- console.log(chalk.dim(`\n ${output}`));
110
245
  }
111
246
  catch (error) {
112
247
  console.error(chalk.red(`\nāœ— Error: ${error.message}`));
@@ -1 +1 @@
1
- {"version":3,"file":"resize.js","sourceRoot":"","sources":["../../src/commands/resize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resize.js","sourceRoot":"","sources":["../../src/commands/resize.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transcode.d.ts","sourceRoot":"","sources":["../../src/commands/transcode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAgHxD"}
1
+ {"version":3,"file":"transcode.d.ts","sourceRoot":"","sources":["../../src/commands/transcode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAqHxD"}
@@ -1,6 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
  import { stat } from 'fs/promises';
3
3
  import { runFFmpeg, getVideoMetadata, checkFFmpeg, validateInputFile, generateOutputPath, formatFileSize, formatDuration, } from '../utils/ffmpeg.js';
4
+ import { styleFFmpegOutput, shouldDisplayLine } from '../utils/ffmpeg-output.js';
4
5
  export function transcodeCommand(videoCmd) {
5
6
  videoCmd
6
7
  .command('transcode <input>')
@@ -13,6 +14,7 @@ export function transcodeCommand(videoCmd) {
13
14
  .option('--audio-bitrate <bitrate>', 'Audio bitrate (e.g., 128k)', '128k')
14
15
  .option('--dry-run', 'Show what would be done')
15
16
  .option('-v, --verbose', 'Verbose output')
17
+ .option('--help', 'Display help for command')
16
18
  .action(async (input, options) => {
17
19
  try {
18
20
  console.log(chalk.blue.bold('šŸŽ¬ Video Transcoding\n'));
@@ -83,7 +85,11 @@ export function transcodeCommand(videoCmd) {
83
85
  if (options.verbose) {
84
86
  console.log(chalk.dim(`ffmpeg ${args.join(' ')}\n`));
85
87
  }
86
- await runFFmpeg(args, options.verbose);
88
+ await runFFmpeg(args, options.verbose, (line) => {
89
+ if (shouldDisplayLine(line, options.verbose || false)) {
90
+ console.log(styleFFmpegOutput(line));
91
+ }
92
+ });
87
93
  // Get output file size
88
94
  const outputStat = await stat(output);
89
95
  console.log();
@@ -1 +1 @@
1
- {"version":3,"file":"transcode.js","sourceRoot":"","sources":["../../src/commands/transcode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcode.js","sourceRoot":"","sources":["../../src/commands/transcode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"trim.d.ts","sourceRoot":"","sources":["../../src/commands/trim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAgHnD"}
1
+ {"version":3,"file":"trim.d.ts","sourceRoot":"","sources":["../../src/commands/trim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAmNnD"}