@mediaproc/audio 1.1.0 → 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.
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/commands/convert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAuKtD"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/commands/convert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAyMtD"}
@@ -1,6 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
  import { stat } from 'fs/promises';
3
- import { runFFmpeg, getAudioMetadata, checkFFmpeg, formatFileSize, formatDuration, } from '../utils/ffmpeg.js';
3
+ import { runFFmpeg, getAudioMetadata, checkFFmpeg, formatFileSize, formatDuration } from '../utils/ffmpeg.js';
4
+ import { styleFFmpegOutput, shouldDisplayLine } from '../utils/ffmpeg-output.js';
4
5
  import { parseInputPaths, resolveOutputPaths, validatePaths, createStandardHelp, showPluginBranding, AUDIO_EXTENSIONS } from '@mediaproc/core';
5
6
  import ora from 'ora';
6
7
  export function convertCommand(audioCmd) {
@@ -14,6 +15,13 @@ export function convertCommand(audioCmd) {
14
15
  .option('-c, --channels <channels>', 'Number of channels: 1 (mono), 2 (stereo)', parseInt)
15
16
  .option('-q, --quality <quality>', 'Quality preset: low, medium, high, lossless', 'medium')
16
17
  .option('--codec <codec>', 'Audio codec override (libmp3lame, aac, flac, libvorbis, libopus)')
18
+ .option('--normalize', 'Normalize audio levels (EBU R128 loudness normalization)')
19
+ .option('--volume <db>', 'Adjust output volume in dB (e.g., -3 for -3dB)')
20
+ .option('--fade-in <seconds>', 'Add fade-in effect (seconds)', parseFloat)
21
+ .option('--fade-out <seconds>', 'Add fade-out effect (seconds)', parseFloat)
22
+ .option('--trim <start>:<duration>', 'Trim audio: <start>:<duration> (e.g., 00:01:00:30)')
23
+ .option('--metadata <key=value>', 'Set custom metadata (repeatable)', (val, acc = []) => { acc.push(val); return acc; }, [])
24
+ .option('--force', 'Overwrite output files without prompt')
17
25
  .option('--dry-run', 'Preview command without executing')
18
26
  .option('--explain', 'Explain the proper flow of this command in detail (Coming Soon...)')
19
27
  .option('-v, --verbose', 'Show detailed FFmpeg output')
@@ -37,6 +45,13 @@ export function convertCommand(audioCmd) {
37
45
  { flag: '-c, --channels <channels>', description: 'Audio channels: 1 (mono), 2 (stereo)' },
38
46
  { flag: '-q, --quality <quality>', description: 'Quality preset: low (96k), medium (192k), high (320k), lossless' },
39
47
  { flag: '--codec <codec>', description: 'Codec override: libmp3lame, aac, flac, libvorbis, libopus' },
48
+ { flag: '--normalize', description: 'Normalize audio levels (EBU R128 loudness normalization)' },
49
+ { flag: '--volume <db>', description: 'Adjust output volume in dB (e.g., -3 for -3dB)' },
50
+ { flag: '--fade-in <seconds>', description: 'Add fade-in effect (seconds)' },
51
+ { flag: '--fade-out <seconds>', description: 'Add fade-out effect (seconds)' },
52
+ { flag: '--trim <start>:<duration>', description: 'Trim audio: <start>:<duration> (e.g., 00:01:00:30)' },
53
+ { flag: '--metadata <key=value>', description: 'Set custom metadata (repeatable)' },
54
+ { flag: '--force', description: 'Overwrite output files without prompt' },
40
55
  { flag: '--dry-run', description: 'Preview FFmpeg command without executing' },
41
56
  { flag: '--explain', description: 'Explain what is happening behind the scene in proper flow and in detail (Coming Soon...)' },
42
57
  { flag: '-v, --verbose', description: 'Show detailed FFmpeg output and progress' }
@@ -87,7 +102,17 @@ export function convertCommand(audioCmd) {
87
102
  `Sample Rate: ${metadata.sampleRate} Hz • ` +
88
103
  `Channels: ${metadata.channels}`));
89
104
  // Build FFmpeg args
90
- const args = ['-i', inputFile, '-y'];
105
+ const args = ['-i', inputFile];
106
+ if (options.force)
107
+ args.push('-y');
108
+ // Trim
109
+ if (options.trim) {
110
+ const [start, duration] = options.trim.split(':');
111
+ if (start)
112
+ args.push('-ss', start);
113
+ if (duration)
114
+ args.push('-t', duration);
115
+ }
91
116
  // Codec selection
92
117
  const codecMap = {
93
118
  mp3: 'libmp3lame',
@@ -99,20 +124,35 @@ export function convertCommand(audioCmd) {
99
124
  opus: 'libopus',
100
125
  };
101
126
  const codec = options.codec || codecMap[options.format];
102
- if (codec) {
127
+ if (codec)
103
128
  args.push('-c:a', codec);
104
- }
105
- // Bitrate
106
- if (targetBitrate !== 'lossless') {
129
+ if (targetBitrate !== 'lossless')
107
130
  args.push('-b:a', targetBitrate);
108
- }
109
- // Sample rate
110
- if (options.sampleRate) {
131
+ if (options.sampleRate)
111
132
  args.push('-ar', options.sampleRate.toString());
112
- }
113
- // Channels
114
- if (options.channels) {
133
+ if (options.channels)
115
134
  args.push('-ac', options.channels.toString());
135
+ // Audio filters
136
+ const filters = [];
137
+ if (options.normalize)
138
+ filters.push('loudnorm=I=-16:TP=-1.5:LRA=11');
139
+ if (options.volume)
140
+ filters.push(`volume=${options.volume}dB`);
141
+ if (options.fadeIn)
142
+ filters.push(`afade=t=in:st=0:d=${options.fadeIn}`);
143
+ if (options.fadeOut && metadata && metadata.duration) {
144
+ const fadeStart = metadata.duration - options.fadeOut;
145
+ filters.push(`afade=t=out:st=${fadeStart}:d=${options.fadeOut}`);
146
+ }
147
+ if (filters.length > 0)
148
+ args.push('-af', filters.join(','));
149
+ // Metadata
150
+ if (options.metadata && Array.isArray(options.metadata)) {
151
+ for (const entry of options.metadata) {
152
+ const [key, value] = entry.split('=');
153
+ if (key && value)
154
+ args.push('-metadata', `${key}=${value}`);
155
+ }
116
156
  }
117
157
  args.push(outputFile);
118
158
  // Dry run
@@ -122,14 +162,18 @@ export function convertCommand(audioCmd) {
122
162
  showPluginBranding('Audio', require.resolve('../../package.json'));
123
163
  continue;
124
164
  }
125
- if (options.explain) {
126
- console.log(chalk.gray('Explain mode is not yet available.'));
127
- console.log(chalk.cyan('Planned for v0.8.x.'));
128
- }
165
+ // if (options.explain) {
166
+ // console.log(chalk.gray('Explain mode is not yet available.'))
167
+ // console.log(chalk.cyan('Planned for v0.8.x.'))
168
+ // }
129
169
  // Execute conversion
130
170
  const spinner = ora('Converting...').start();
131
171
  try {
132
- await runFFmpeg(args, options.verbose);
172
+ await runFFmpeg(args, options.verbose, (line) => {
173
+ if (shouldDisplayLine(line, options.verbose)) {
174
+ console.log(styleFFmpegOutput(line));
175
+ }
176
+ });
133
177
  const outputStat = await stat(outputFile);
134
178
  spinner.succeed(chalk.green('Conversion complete'));
135
179
  console.log(chalk.green(`✓ Output: ${outputFile}`));
@@ -1 +1 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/commands/convert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/commands/convert.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/commands/extract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAgKtD"}
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/commands/extract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAmMtD"}
@@ -1,6 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
  import { stat } from 'fs/promises';
3
3
  import { runFFmpeg, getAudioMetadata, checkFFmpeg, formatFileSize, formatDuration, } from '../utils/ffmpeg.js';
4
+ import { styleFFmpegOutput, shouldDisplayLine } from '../utils/ffmpeg-output.js';
4
5
  import { AUDIO_EXTENSIONS, parseInputPaths, resolveOutputPaths, validatePaths, createStandardHelp, showPluginBranding } from '@mediaproc/core';
5
6
  import ora from 'ora';
6
7
  export function extractCommand(audioCmd) {
@@ -13,6 +14,13 @@ export function extractCommand(audioCmd) {
13
14
  .option('-q, --quality <quality>', 'Quality preset: low, medium, high, lossless', 'medium')
14
15
  .option('--sample-rate <rate>', 'Sample rate in Hz (e.g., 44100, 48000)', parseInt)
15
16
  .option('--channels <channels>', 'Number of channels: 1 (mono), 2 (stereo)', parseInt)
17
+ .option('--normalize', 'Normalize audio levels (EBU R128 loudness normalization)')
18
+ .option('--volume <db>', 'Adjust output volume in dB (e.g., -3 for -3dB)')
19
+ .option('--fade-in <seconds>', 'Add fade-in effect (seconds)', parseFloat)
20
+ .option('--fade-out <seconds>', 'Add fade-out effect (seconds)', parseFloat)
21
+ .option('--trim <start>:<duration>', 'Trim audio: <start>:<duration> (e.g., 00:01:00:30)')
22
+ .option('--metadata <key=value>', 'Set custom metadata (repeatable)', (val, acc = []) => { acc.push(val); return acc; }, [])
23
+ .option('--force', 'Overwrite output files without prompt')
16
24
  .option('--dry-run', 'Preview command without executing')
17
25
  .option('-v, --verbose', 'Show detailed FFmpeg output')
18
26
  .option('--explain', 'Explain the proper flow of this command in detail (Coming Soon...)')
@@ -35,6 +43,13 @@ export function extractCommand(audioCmd) {
35
43
  { flag: '-q, --quality <quality>', description: 'Quality preset: low (96k), medium (192k), high (320k), lossless' },
36
44
  { flag: '--sample-rate <rate>', description: 'Sample rate: 44100 (CD), 48000 (studio), 96000 (Hi-Res)' },
37
45
  { flag: '--channels <channels>', description: 'Audio channels: 1 (mono), 2 (stereo)' },
46
+ { flag: '--normalize', description: 'Normalize audio levels (EBU R128 loudness normalization)' },
47
+ { flag: '--volume <db>', description: 'Adjust output volume in dB (e.g., -3 for -3dB)' },
48
+ { flag: '--fade-in <seconds>', description: 'Add fade-in effect (seconds)' },
49
+ { flag: '--fade-out <seconds>', description: 'Add fade-out effect (seconds)' },
50
+ { flag: '--trim <start>:<duration>', description: 'Trim audio: <start>:<duration> (e.g., 00:01:00:30)' },
51
+ { flag: '--metadata <key=value>', description: 'Set custom metadata (repeatable)' },
52
+ { flag: '--force', description: 'Overwrite output files without prompt' },
38
53
  { flag: '--dry-run', description: 'Preview FFmpeg command without executing' },
39
54
  { flag: '--explain', description: 'Explain what is happening behind the scene in proper flow and in detail (Coming Soon...)' },
40
55
  { flag: '-v, --verbose', description: 'Show detailed FFmpeg output and progress' }
@@ -75,8 +90,9 @@ export function extractCommand(audioCmd) {
75
90
  const inputFile = inputPaths[i];
76
91
  const outputFile = outputPaths[i];
77
92
  console.log(chalk.blue(`\n🎵 Extracting audio from: ${inputFile}`));
93
+ let metadata = undefined;
78
94
  try {
79
- const metadata = await getAudioMetadata(inputFile);
95
+ metadata = await getAudioMetadata(inputFile);
80
96
  console.log(chalk.dim(`Duration: ${formatDuration(metadata.duration)} • ` +
81
97
  `Codec: ${metadata.codec} • ` +
82
98
  `Sample Rate: ${metadata.sampleRate} Hz`));
@@ -85,7 +101,17 @@ export function extractCommand(audioCmd) {
85
101
  console.log(chalk.dim('Analyzing video file...'));
86
102
  }
87
103
  // Build FFmpeg args
88
- const args = ['-i', inputFile, '-y', '-vn']; // -vn = no video
104
+ const args = ['-i', inputFile, '-vn']; // -vn = no video
105
+ if (options.force)
106
+ args.push('-y');
107
+ // Trim
108
+ if (options.trim) {
109
+ const [start, duration] = options.trim.split(':');
110
+ if (start)
111
+ args.push('-ss', start);
112
+ if (duration)
113
+ args.push('-t', duration);
114
+ }
89
115
  // Codec selection
90
116
  const codecMap = {
91
117
  mp3: 'libmp3lame',
@@ -96,20 +122,35 @@ export function extractCommand(audioCmd) {
96
122
  opus: 'libopus',
97
123
  };
98
124
  const codec = codecMap[options.format];
99
- if (codec) {
125
+ if (codec)
100
126
  args.push('-c:a', codec);
101
- }
102
- // Bitrate (skip for lossless)
103
- if (targetBitrate !== 'lossless') {
127
+ if (targetBitrate !== 'lossless')
104
128
  args.push('-b:a', targetBitrate);
105
- }
106
- // Sample rate
107
- if (options.sampleRate) {
129
+ if (options.sampleRate)
108
130
  args.push('-ar', options.sampleRate.toString());
109
- }
110
- // Channels
111
- if (options.channels) {
131
+ if (options.channels)
112
132
  args.push('-ac', options.channels.toString());
133
+ // Audio filters
134
+ const filters = [];
135
+ if (options.normalize)
136
+ filters.push('loudnorm=I=-16:TP=-1.5:LRA=11');
137
+ if (options.volume)
138
+ filters.push(`volume=${options.volume}dB`);
139
+ if (options.fadeIn)
140
+ filters.push(`afade=t=in:st=0:d=${options.fadeIn}`);
141
+ if (options.fadeOut && metadata && metadata.duration) {
142
+ const fadeStart = metadata.duration - options.fadeOut;
143
+ filters.push(`afade=t=out:st=${fadeStart}:d=${options.fadeOut}`);
144
+ }
145
+ if (filters.length > 0)
146
+ args.push('-af', filters.join(','));
147
+ // Metadata
148
+ if (options.metadata && Array.isArray(options.metadata)) {
149
+ for (const entry of options.metadata) {
150
+ const [key, value] = entry.split('=');
151
+ if (key && value)
152
+ args.push('-metadata', `${key}=${value}`);
153
+ }
113
154
  }
114
155
  args.push(outputFile);
115
156
  if (options.dryRun) {
@@ -124,7 +165,11 @@ export function extractCommand(audioCmd) {
124
165
  }
125
166
  const spinner = ora('Extracting audio...').start();
126
167
  try {
127
- await runFFmpeg(args, options.verbose);
168
+ await runFFmpeg(args, options.verbose, (line) => {
169
+ if (shouldDisplayLine(line, options.verbose)) {
170
+ console.log(styleFFmpegOutput(line));
171
+ }
172
+ });
128
173
  const outputStat = await stat(outputFile);
129
174
  spinner.succeed(chalk.green('Extraction complete'));
130
175
  console.log(chalk.green(`✓ Output: ${outputFile}`));
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/commands/extract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC/I,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,UAAU,cAAc,CAAC,QAAiB;IAC9C,QAAQ;SACL,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;SAC9D,MAAM,CAAC,uBAAuB,EAAE,+CAA+C,EAAE,KAAK,CAAC;SACvF,MAAM,CAAC,yBAAyB,EAAE,wCAAwC,EAAE,MAAM,CAAC;SACnF,MAAM,CAAC,yBAAyB,EAAE,6CAA6C,EAAE,QAAQ,CAAC;SAC1F,MAAM,CAAC,sBAAsB,EAAE,wCAAwC,EAAE,QAAQ,CAAC;SAClF,MAAM,CAAC,uBAAuB,EAAE,0CAA0C,EAAE,QAAQ,CAAC;SACrF,MAAM,CAAC,WAAW,EAAE,mCAAmC,CAAC;SACxD,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC;SACtD,MAAM,CAAC,WAAW,EAAE,oEAAoE,CAAC;SACzF,MAAM,CAAC,YAAY,EAAE,kCAAkC,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,KAAyB,EAAE,OAAY,EAAE,EAAE;QACxD,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,kBAAkB,CAAC;gBACjB,WAAW,EAAE,SAAS;gBACtB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,6FAA6F;gBAC1G,KAAK,EAAE;oBACL,2BAA2B;oBAC3B,0BAA0B;oBAC1B,kCAAkC;iBACnC;gBACD,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,2DAA2D,EAAE;oBACzG,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,8DAA8D,EAAE;oBAC9G,EAAE,IAAI,EAAE,yBAAyB,EAAE,WAAW,EAAE,uDAAuD,EAAE;oBACzG,EAAE,IAAI,EAAE,yBAAyB,EAAE,WAAW,EAAE,iEAAiE,EAAE;oBACnH,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,yDAAyD,EAAE;oBACxG,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,sCAAsC,EAAE;oBACtF,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,0CAA0C,EAAE;oBAC9E,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,0FAA0F,EAAE;oBAC9H,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,0CAA0C,EAAE;iBACnF;gBACD,QAAQ,EAAE;oBACR,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,sBAAsB,EAAE;oBACrE,EAAE,OAAO,EAAE,kCAAkC,EAAE,WAAW,EAAE,6BAA6B,EAAE;oBAC3F,EAAE,OAAO,EAAE,uCAAuC,EAAE,WAAW,EAAE,0BAA0B,EAAE;oBAC7F,EAAE,OAAO,EAAE,uCAAuC,EAAE,WAAW,EAAE,qBAAqB,EAAE;oBACxF,EAAE,OAAO,EAAE,kCAAkC,EAAE,WAAW,EAAE,2BAA2B,EAAE;iBAC1F;aACF,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAC;gBAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,uBAAuB;YACvB,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAC5D,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACrG,MAAM,cAAc,GAAG,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE;gBAChE,MAAM,EAAE,QAAQ;gBAChB,YAAY,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE;aACnC,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;YAExD,kBAAkB;YAClB,MAAM,UAAU,GAA2B;gBACzC,GAAG,EAAE,KAAK;gBACV,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,UAAU;aACrB,CAAC;YAEF,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC;YAErE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAElC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC,CAAC;gBAEpE,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;wBACvE,UAAU,QAAQ,CAAC,KAAK,KAAK;wBAC7B,gBAAgB,QAAQ,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC;gBAC/C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBACpD,CAAC;gBAED,oBAAoB;gBACpB,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,iBAAiB;gBAE/D,kBAAkB;gBAClB,MAAM,QAAQ,GAA2B;oBACvC,GAAG,EAAE,YAAY;oBACjB,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,MAAM;oBACZ,GAAG,EAAE,WAAW;oBAChB,GAAG,EAAE,WAAW;oBAChB,IAAI,EAAE,SAAS;iBAChB,CAAC;gBAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACvC,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC3B,CAAC;gBAED,8BAA8B;gBAC9B,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;oBACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBACnC,CAAC;gBAED,cAAc;gBACd,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClD,CAAC;gBAED,WAAW;gBACX,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACrB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChD,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEtB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;oBACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnD,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;oBAClD,SAAS;gBACX,CAAC;gBAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAA;oBAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAA;gBAChD,CAAC;gBACD,MAAM,OAAO,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;gBAEnD,IAAI,CAAC;oBACH,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;oBACvC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;oBAE1C,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;oBACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC,CAAC;oBACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK;wBAChE,YAAY,aAAa,KAAK;wBAC9B,SAAS,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;oBAC7C,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,UAAU,CAAC,MAAM,sBAAsB,CAAC,CAAC,CAAC;YAChG,CAAC;YACD,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAe,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/commands/extract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAwJpD"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAgKpD"}
@@ -1,7 +1,8 @@
1
1
  import chalk from 'chalk';
2
2
  import { stat, writeFile, unlink } from 'fs/promises';
3
3
  import { join, dirname } from 'path';
4
- import { runFFmpeg, getAudioMetadata, checkFFmpeg, formatFileSize, formatDuration, } from '../utils/ffmpeg.js';
4
+ import { runFFmpeg, getAudioMetadata, checkFFmpeg, formatFileSize, formatDuration } from '../utils/ffmpeg.js';
5
+ import { styleFFmpegOutput, shouldDisplayLine } from '../utils/ffmpeg-output.js';
5
6
  import { AUDIO_EXTENSIONS, parseInputPaths, createStandardHelp, showPluginBranding } from '@mediaproc/core';
6
7
  import ora from 'ora';
7
8
  export function mergeCommand(audioCmd) {
@@ -122,7 +123,11 @@ export function mergeCommand(audioCmd) {
122
123
  }
123
124
  const spinner = ora('Merging audio files...').start();
124
125
  try {
125
- await runFFmpeg(args, options.verbose);
126
+ await runFFmpeg(args, options.verbose, (line) => {
127
+ if (shouldDisplayLine(line, options.verbose)) {
128
+ console.log(styleFFmpegOutput(line));
129
+ }
130
+ });
126
131
  const outputStat = await stat(options.output);
127
132
  // Clean up concat file
128
133
  await unlink(concatFile);
@@ -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":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC5G,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,UAAU,YAAY,CAAC,QAAiB;IAC5C,QAAQ;SACL,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,YAAY,CAAC;SAC/D,MAAM,CAAC,mBAAmB,EAAE,yCAAyC,EAAE,KAAK,CAAC;SAC7E,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,EAAE,MAAM,CAAC;SAC1E,MAAM,CAAC,uBAAuB,EAAE,4CAA4C,EAAE,UAAU,CAAC;SACzF,MAAM,CAAC,aAAa,EAAE,uCAAuC,CAAC;SAC9D,MAAM,CAAC,WAAW,EAAE,mCAAmC,CAAC;SACxD,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC;SACtD,MAAM,CAAC,WAAW,EAAE,oEAAoE,CAAC;SACzF,MAAM,CAAC,YAAY,EAAE,gCAAgC,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,MAAgB,EAAE,OAAY,EAAE,EAAE;QAC/C,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,kBAAkB,CAAC;gBACjB,WAAW,EAAE,OAAO;gBACpB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,+HAA+H;gBAC5I,KAAK,EAAE;oBACL,+CAA+C;oBAC/C,6BAA6B;oBAC7B,iCAAiC;iBAClC;gBACD,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,wCAAwC,EAAE;oBACtF,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,wDAAwD,EAAE;oBACpG,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,wDAAwD,EAAE;oBACtG,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,oDAAoD,EAAE;oBACpG,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,6DAA6D,EAAE;oBACnG,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,0CAA0C,EAAE;oBAC9E,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,0FAA0F,EAAE;oBAC9H,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,0CAA0C,EAAE;iBACnF;gBACD,QAAQ,EAAE;oBACR,EAAE,OAAO,EAAE,wCAAwC,EAAE,WAAW,EAAE,mBAAmB,EAAE;oBACvF,EAAE,OAAO,EAAE,iCAAiC,EAAE,WAAW,EAAE,0BAA0B,EAAE;oBACvF,EAAE,OAAO,EAAE,iCAAiC,EAAE,WAAW,EAAE,+BAA+B,EAAE;oBAC5F,EAAE,OAAO,EAAE,0CAA0C,EAAE,WAAW,EAAE,oBAAoB,EAAE;oBAC1F,EAAE,OAAO,EAAE,+BAA+B,EAAE,WAAW,EAAE,0BAA0B,EAAE;iBACtF;aACF,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAC;gBAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;gBACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC;YAExE,2BAA2B;YAC3B,MAAM,eAAe,GAAa,EAAE,CAAC;YACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;oBACvD,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;gBAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,mBAAmB;YACnB,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,KAAK,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChF,aAAa,IAAI,QAAQ,CAAC,QAAQ,CAAC;YACrC,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;YAE7E,0BAA0B;YAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACzE,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzE,MAAM,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;YAE3C,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAEpE,6BAA6B;YAC7B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,qCAAqC;gBACrC,MAAM,WAAW,GAAa,EAAE,CAAC;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACpD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBACZ,WAAW,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,SAAS,OAAO,CAAC,CAAC;oBACvE,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACxF,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;YACzD,CAAC;YAED,gBAAgB;YAChB,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC5C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;YACpD,CAAC;YAED,iBAAiB;YACjB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAEnC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAE1B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnD,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;gBACzB,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAA;gBAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAA;YAChD,CAAC;YAED,MAAM,OAAO,GAAG,GAAG,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;YAEtD,IAAI,CAAC;gBACH,MAAM,SAAS,CACb,IAAI,EACJ,OAAO,CAAC,OAAO,EACf,CAAC,IAAY,EAAE,EAAE;oBACf,IAAI,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC7C,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC,CACF,CAAC;gBACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAE9C,uBAAuB;gBACvB,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;gBAEzB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,cAAc,CAAC,aAAa,CAAC,YAAY,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChH,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAe,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/commands/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAgIxD"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/commands/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAwIxD"}
@@ -1,6 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
  import { stat } from 'fs/promises';
3
- import { runFFmpeg, getAudioMetadata, checkFFmpeg, formatFileSize, formatDuration, } from '../utils/ffmpeg.js';
3
+ import { runFFmpeg, getAudioMetadata, checkFFmpeg, formatFileSize, formatDuration } from '../utils/ffmpeg.js';
4
+ import { styleFFmpegOutput, shouldDisplayLine } from '../utils/ffmpeg-output.js';
4
5
  import { AUDIO_EXTENSIONS, parseInputPaths, resolveOutputPaths, validatePaths, createStandardHelp, showPluginBranding } from '@mediaproc/core';
5
6
  import ora from 'ora';
6
7
  export function normalizeCommand(audioCmd) {
@@ -92,7 +93,11 @@ export function normalizeCommand(audioCmd) {
92
93
  }
93
94
  const spinner = ora('Normalizing...').start();
94
95
  try {
95
- await runFFmpeg(args, options.verbose);
96
+ await runFFmpeg(args, options.verbose, (line) => {
97
+ if (shouldDisplayLine(line, options.verbose)) {
98
+ console.log(styleFFmpegOutput(line));
99
+ }
100
+ });
96
101
  const outputStat = await stat(outputFile);
97
102
  spinner.succeed(chalk.green('Normalization complete'));
98
103
  console.log(chalk.green(`✓ Output: ${outputFile}`));
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/commands/normalize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC/I,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,UAAU,gBAAgB,CAAC,QAAiB;IAChD,QAAQ;SACL,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;SAC9D,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;SACtF,MAAM,CAAC,sBAAsB,EAAE,yCAAyC,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC;SAC3F,MAAM,CAAC,uBAAuB,EAAE,iDAAiD,EAAE,UAAU,CAAC;SAC9F,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;SACrE,MAAM,CAAC,WAAW,EAAE,mCAAmC,CAAC;SACxD,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC;SACtD,MAAM,CAAC,WAAW,EAAE,oEAAoE,CAAC;SACzF,MAAM,CAAC,YAAY,EAAE,oCAAoC,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,KAAyB,EAAE,OAAY,EAAE,EAAE;QACxD,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,kBAAkB,CAAC;gBACjB,WAAW,EAAE,WAAW;gBACxB,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,gIAAgI;gBAC7I,KAAK,EAAE;oBACL,6BAA6B;oBAC7B,qBAAqB;oBACrB,mCAAmC;iBACpC;gBACD,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,gEAAgE,EAAE;oBAC9G,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,mEAAmE,EAAE;oBACjH,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,6DAA6D,EAAE;oBAC5G,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,0DAA0D,EAAE;oBAC1G,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,6DAA6D,EAAE;oBACzG,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,0CAA0C,EAAE;oBAC9E,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,0FAA0F,EAAE;oBAC9H,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,0CAA0C,EAAE;iBACnF;gBACD,QAAQ,EAAE;oBACR,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,4CAA4C,EAAE;oBAC7F,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,4CAA4C,EAAE;oBACpG,EAAE,OAAO,EAAE,yCAAyC,EAAE,WAAW,EAAE,kCAAkC,EAAE;oBACvG,EAAE,OAAO,EAAE,6BAA6B,EAAE,WAAW,EAAE,+BAA+B,EAAE;oBACxF,EAAE,OAAO,EAAE,8BAA8B,EAAE,WAAW,EAAE,iCAAiC,EAAE;iBAC5F;aACF,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAC;gBAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;YAChF,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACrG,MAAM,cAAc,GAAG,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9E,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;YAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAElC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC,CAAC;gBAE1D,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBACnD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;gBAExC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;oBACvE,gBAAgB,QAAQ,CAAC,UAAU,QAAQ;oBAC3C,aAAa,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAErC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAErC,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBAClC,kCAAkC;oBAClC,IAAI,CAAC,IAAI,CACP,KAAK,EACL,cAAc,OAAO,CAAC,MAAM,OAAO,OAAO,CAAC,QAAQ,8BAA8B,CAClF,CAAC;gBACJ,CAAC;qBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACrC,4BAA4B;oBAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBACjC,CAAC;gBAED,iDAAiD;gBACjD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC5B,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEtB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;oBACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnD,SAAS;gBACX,CAAC;gBAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAA;oBAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAA;gBAChD,CAAC;gBACD,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;gBAE9C,IAAI,CAAC;oBACH,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;oBACvC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;oBAE1C,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;oBACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC,CAAC;oBACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,MAAM,uBAAuB,OAAO,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;oBAC9F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzG,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBAChD,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,UAAU,CAAC,MAAM,qBAAqB,CAAC,CAAC,CAAC;YACrF,CAAC;YAED,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAEpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAe,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/commands/normalize.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;AAczC,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CA8JnD"}
1
+ {"version":3,"file":"trim.d.ts","sourceRoot":"","sources":["../../src/commands/trim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAoLnD"}
@@ -1,6 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
  import { stat } from 'fs/promises';
3
- import { runFFmpeg, getAudioMetadata, checkFFmpeg, formatFileSize, formatDuration, parseTime, } from '../utils/ffmpeg.js';
3
+ import { runFFmpeg, getAudioMetadata, checkFFmpeg, formatFileSize, formatDuration, parseTime } from '../utils/ffmpeg.js';
4
+ import { styleFFmpegOutput, shouldDisplayLine } from '../utils/ffmpeg-output.js';
4
5
  import { AUDIO_EXTENSIONS, parseInputPaths, resolveOutputPaths, validatePaths, createStandardHelp, showPluginBranding } from '@mediaproc/core';
5
6
  import ora from 'ora';
6
7
  export function trimCommand(audioCmd) {
@@ -15,6 +16,8 @@ export function trimCommand(audioCmd) {
15
16
  .option('--fade-out <seconds>', 'Add fade-out effect (seconds)', parseFloat)
16
17
  .option('--format <format>', 'Output format (default: same as input)')
17
18
  .option('--fast', 'Fast mode (stream copy, no re-encoding)')
19
+ .option('--force', 'Overwrite output files without prompt')
20
+ .option('--metadata <key=value>', 'Set custom metadata (repeatable)', (val, acc = []) => { acc.push(val); return acc; }, [])
18
21
  .option('--dry-run', 'Preview command without executing')
19
22
  .option('-v, --verbose', 'Show detailed FFmpeg output')
20
23
  .option('--explain', 'Explain the proper flow of this command in detail (Coming Soon...)')
@@ -39,6 +42,8 @@ export function trimCommand(audioCmd) {
39
42
  { flag: '--fade-out <seconds>', description: 'Fade-out effect duration in seconds (0.1-10)' },
40
43
  { flag: '--format <format>', description: 'Output format: mp3, aac, wav, flac (default: same as input)' },
41
44
  { flag: '--fast', description: 'Fast mode using stream copy (no quality loss, frame-accurate)' },
45
+ { flag: '--force', description: 'Overwrite output files without prompt' },
46
+ { flag: '--metadata <key=value>', description: 'Set custom metadata (repeatable)' },
42
47
  { flag: '--dry-run', description: 'Preview FFmpeg command without executing' },
43
48
  { flag: '--explain', description: 'Explain what is happening behind the scene in proper flow and in detail (Coming Soon...)' },
44
49
  { flag: '-v, --verbose', description: 'Show detailed FFmpeg output and progress' }
@@ -82,7 +87,9 @@ export function trimCommand(audioCmd) {
82
87
  `Sample Rate: ${metadata.sampleRate} Hz`));
83
88
  console.log(chalk.dim(`Trim: ${formatDuration(startTime)} → ${formatDuration(endTime)} ` +
84
89
  `(${formatDuration(duration)})`));
85
- const args = ['-i', inputFile, '-y'];
90
+ const args = ['-i', inputFile];
91
+ if (options.force)
92
+ args.push('-y');
86
93
  // Start time
87
94
  args.push('-ss', startTime.toString());
88
95
  // Duration or end time
@@ -110,6 +117,14 @@ export function trimCommand(audioCmd) {
110
117
  args.push('-af', filters.join(','));
111
118
  }
112
119
  }
120
+ // Metadata
121
+ if (options.metadata && Array.isArray(options.metadata)) {
122
+ for (const entry of options.metadata) {
123
+ const [key, value] = entry.split('=');
124
+ if (key && value)
125
+ args.push('-metadata', `${key}=${value}`);
126
+ }
127
+ }
113
128
  args.push(outputFile);
114
129
  if (options.dryRun) {
115
130
  console.log(chalk.yellow('\n[DRY RUN] Would execute:'));
@@ -123,7 +138,11 @@ export function trimCommand(audioCmd) {
123
138
  }
124
139
  const spinner = ora('Trimming...').start();
125
140
  try {
126
- await runFFmpeg(args, options.verbose);
141
+ await runFFmpeg(args, options.verbose, (line) => {
142
+ if (shouldDisplayLine(line, options.verbose)) {
143
+ console.log(styleFFmpegOutput(line));
144
+ }
145
+ });
127
146
  const outputStat = await stat(outputFile);
128
147
  spinner.succeed(chalk.green('Trim complete'));
129
148
  console.log(chalk.green(`✓ Output: ${outputFile}`));
@@ -1 +1 @@
1
- {"version":3,"file":"trim.js","sourceRoot":"","sources":["../../src/commands/trim.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trim.js","sourceRoot":"","sources":["../../src/commands/trim.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,eAAO,MAAM,IAAI,qBAAqB,CAAC;AACvC,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAU/C"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,eAAO,MAAM,IAAI,qBAAqB,CAAC;AACvC,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAO/C"}
package/dist/register.js CHANGED
@@ -6,13 +6,11 @@ import { extractCommand } from './commands/extract.js';
6
6
  export const name = '@mediaproc/audio';
7
7
  export const version = '1.0.0';
8
8
  export function register(program) {
9
- const audioCmd = program
10
- .command('audio')
11
- .description('Audio processing commands (powered by FFmpeg)');
12
- convertCommand(audioCmd);
13
- normalizeCommand(audioCmd);
14
- trimCommand(audioCmd);
15
- mergeCommand(audioCmd);
16
- extractCommand(audioCmd);
9
+ // Register each command directly on the root program
10
+ convertCommand(program);
11
+ normalizeCommand(program);
12
+ trimCommand(program);
13
+ mergeCommand(program);
14
+ extractCommand(program);
17
15
  }
18
16
  //# sourceMappingURL=register.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAC;AACvC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,MAAM,UAAU,QAAQ,CAAC,OAAgB;IACvC,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,+CAA+C,CAAC,CAAC;IAEhE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACzB,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3B,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtB,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvB,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAC;AACvC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,MAAM,UAAU,QAAQ,CAAC,OAAgB;IACvC,qDAAqD;IACrD,cAAc,CAAC,OAAO,CAAC,CAAC;IACxB,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,cAAc,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Parse and style FFmpeg output for better readability
3
+ */
4
+ export declare function styleFFmpegOutput(line: string): string;
5
+ /**
6
+ * Check if line should be displayed based on verbosity
7
+ */
8
+ export declare function shouldDisplayLine(line: string, verbose: boolean): boolean;
9
+ //# sourceMappingURL=ffmpeg-output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffmpeg-output.d.ts","sourceRoot":"","sources":["../../src/utils/ffmpeg-output.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgEtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CA+BzE"}
@@ -0,0 +1,94 @@
1
+ import chalk from 'chalk';
2
+ /**
3
+ * Parse and style FFmpeg output for better readability
4
+ */
5
+ export function styleFFmpegOutput(line) {
6
+ line = line.trim();
7
+ // Skip empty lines
8
+ if (!line)
9
+ return '';
10
+ // Error messages (red)
11
+ if (line.includes('Error') || line.includes('error') || line.includes('failed')) {
12
+ return chalk.red(line);
13
+ }
14
+ // Warning messages (yellow)
15
+ if (line.includes('Warning') || line.includes('warning')) {
16
+ return chalk.yellow(line);
17
+ }
18
+ // Progress information (cyan)
19
+ if (line.includes('frame=') || line.includes('fps=') || line.includes('time=') || line.includes('speed=')) {
20
+ // Parse progress line
21
+ const frameMatch = line.match(/frame=\s*(\d+)/);
22
+ const fpsMatch = line.match(/fps=\s*([\d.]+)/);
23
+ const timeMatch = line.match(/time=\s*([\d:\.]+)/);
24
+ const speedMatch = line.match(/speed=\s*([\d.]+x)/);
25
+ const sizeMatch = line.match(/size=\s*(\d+\w+)/);
26
+ const bitrateMatch = line.match(/bitrate=\s*([\d.]+\w+)/);
27
+ let output = chalk.cyan('⚡ Progress: ');
28
+ if (frameMatch)
29
+ output += chalk.white(`Frame ${frameMatch[1]} `);
30
+ if (fpsMatch)
31
+ output += chalk.gray(`• ${fpsMatch[1]} fps `);
32
+ if (timeMatch)
33
+ output += chalk.white(`• ${timeMatch[1]} `);
34
+ if (sizeMatch)
35
+ output += chalk.gray(`• ${sizeMatch[1]} `);
36
+ if (bitrateMatch)
37
+ output += chalk.gray(`• ${bitrateMatch[1]} `);
38
+ if (speedMatch)
39
+ output += chalk.green(`• ${speedMatch[1]}`);
40
+ return output;
41
+ }
42
+ // Input/Output file info (blue)
43
+ if (line.includes('Input #') || line.includes('Output #')) {
44
+ return chalk.blue.bold(line);
45
+ }
46
+ // Stream info (magenta)
47
+ if (line.includes('Stream #')) {
48
+ return chalk.magenta(line);
49
+ }
50
+ // Duration and metadata (green)
51
+ if (line.includes('Duration:') || line.includes('Metadata:')) {
52
+ return chalk.green(line);
53
+ }
54
+ // Configuration info (gray)
55
+ if (line.includes('configuration:') || line.includes('libav') || line.includes('built with')) {
56
+ return chalk.gray(line);
57
+ }
58
+ // Success messages (green)
59
+ if (line.includes('successfully') || line.includes('completed')) {
60
+ return chalk.green(line);
61
+ }
62
+ // Default: dim for general info
63
+ return chalk.dim(line);
64
+ }
65
+ /**
66
+ * Check if line should be displayed based on verbosity
67
+ */
68
+ export function shouldDisplayLine(line, verbose) {
69
+ line = line.trim();
70
+ if (!line)
71
+ return false;
72
+ // Always show errors and warnings
73
+ if (line.includes('Error') || line.includes('error') || line.includes('Warning') || line.includes('warning')) {
74
+ return true;
75
+ }
76
+ // Always show progress
77
+ if (line.includes('frame=') && line.includes('time=')) {
78
+ return true;
79
+ }
80
+ // Show important info
81
+ if (line.includes('Input #') || line.includes('Output #') || line.includes('Stream #')) {
82
+ return verbose;
83
+ }
84
+ // Show duration and metadata if verbose
85
+ if (line.includes('Duration:') || line.includes('Metadata:')) {
86
+ return verbose;
87
+ }
88
+ // Filter out configuration and build info unless very verbose
89
+ if (line.includes('configuration:') || line.includes('built with')) {
90
+ return false;
91
+ }
92
+ return verbose;
93
+ }
94
+ //# sourceMappingURL=ffmpeg-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffmpeg-output.js","sourceRoot":"","sources":["../../src/utils/ffmpeg-output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * FFmpeg Output Logger - Styled output for better readability
3
+ */
4
+ /**
5
+ * Check if a line should be displayed based on content
6
+ */
7
+ export declare function shouldDisplayLine(line: string): boolean;
8
+ /**
9
+ * Style FFmpeg output line with appropriate colors and formatting
10
+ */
11
+ export declare function styleFFmpegOutput(line: string): string;
12
+ /**
13
+ * Log FFmpeg output with styling
14
+ */
15
+ export declare function logFFmpegOutput(output: string): void;
16
+ //# sourceMappingURL=ffmpegLogger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffmpegLogger.d.ts","sourceRoot":"","sources":["../../src/utils/ffmpegLogger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAgBvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmCtD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAQpD"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * FFmpeg Output Logger - Styled output for better readability
3
+ */
4
+ import chalk from 'chalk';
5
+ /**
6
+ * Check if a line should be displayed based on content
7
+ */
8
+ export function shouldDisplayLine(line) {
9
+ const trimmed = line.trim();
10
+ // Skip empty lines
11
+ if (!trimmed)
12
+ return false;
13
+ // Skip configuration lines
14
+ if (trimmed.startsWith('ffmpeg version') ||
15
+ trimmed.startsWith('built with') ||
16
+ trimmed.startsWith('configuration:') ||
17
+ trimmed.startsWith('lib')) {
18
+ return false;
19
+ }
20
+ // Show important progress and status lines
21
+ return true;
22
+ }
23
+ /**
24
+ * Style FFmpeg output line with appropriate colors and formatting
25
+ */
26
+ export function styleFFmpegOutput(line) {
27
+ const trimmed = line.trim();
28
+ // Progress updates (frame=, fps=, time=)
29
+ if (trimmed.match(/frame=|fps=|time=|speed=/)) {
30
+ return chalk.cyan(trimmed);
31
+ }
32
+ // Input file info
33
+ if (trimmed.startsWith('Input #') || trimmed.includes('Duration:') || trimmed.includes('Stream #')) {
34
+ return chalk.blue(trimmed);
35
+ }
36
+ // Output file info
37
+ if (trimmed.startsWith('Output #')) {
38
+ return chalk.green(trimmed);
39
+ }
40
+ // Warnings
41
+ if (trimmed.toLowerCase().includes('warning')) {
42
+ return chalk.yellow(trimmed);
43
+ }
44
+ // Errors
45
+ if (trimmed.toLowerCase().includes('error') || trimmed.toLowerCase().includes('failed')) {
46
+ return chalk.red(trimmed);
47
+ }
48
+ // Success messages
49
+ if (trimmed.includes('successfully') || trimmed.includes('complete')) {
50
+ return chalk.green(trimmed);
51
+ }
52
+ // Default gray for other lines
53
+ return chalk.gray(trimmed);
54
+ }
55
+ /**
56
+ * Log FFmpeg output with styling
57
+ */
58
+ export function logFFmpegOutput(output) {
59
+ const lines = output.split('\n');
60
+ for (const line of lines) {
61
+ if (shouldDisplayLine(line)) {
62
+ console.log(styleFFmpegOutput(line));
63
+ }
64
+ }
65
+ }
66
+ //# sourceMappingURL=ffmpegLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffmpegLogger.js","sourceRoot":"","sources":["../../src/utils/ffmpegLogger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5B,mBAAmB;IACnB,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,2BAA2B;IAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;QACpC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;QAChC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;QACpC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2CAA2C;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5B,yCAAyC;IACzC,IAAI,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,kBAAkB;IAClB,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACnG,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,mBAAmB;IACnB,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW;IACX,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS;IACT,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxF,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,mBAAmB;IACnB,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,+BAA+B;IAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mediaproc/audio",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Audio processing plugin for mediaproc - powered by FFmpeg",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",