@ignix-social/editor 0.1.13 → 0.1.14
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.
- package/package.json +1 -1
- package/src/analysis/review.mjs +6 -4
package/package.json
CHANGED
package/src/analysis/review.mjs
CHANGED
|
@@ -43,11 +43,13 @@ const SAFE = { x0: 0.12, x1: 0.88, y0: 0.13, y1: 0.765 };
|
|
|
43
43
|
/**
|
|
44
44
|
* Lo que cambia en un vídeo HORIZONTAL (YouTube, 2026-10-06): su manual pide un cambio cada
|
|
45
45
|
* ~3-5 s (no 1-1,5), subtítulos abajo del todo y ~0,8 s de aire al cambiar de capítulo.
|
|
46
|
-
*
|
|
46
|
+
* Calibrado con un youtuber que Fran da por bueno (36 min, 2026-10-06): plano al 89 %, quietud
|
|
47
|
+
* máxima 4,1 s, 8 cortes/min y ~26 pausas naturales de 1-2 s al hablar → los huecos avisan desde
|
|
48
|
+
* 2,5 s, y «sin efectos» no se dice (bajo una voz continua no se distinguen).
|
|
47
49
|
*/
|
|
48
50
|
const WIDE = {
|
|
49
51
|
stillFailSec: 6,
|
|
50
|
-
gapWarnSec:
|
|
52
|
+
gapWarnSec: 2.5,
|
|
51
53
|
captionBand: { y0: 0.8, y1: 0.98 },
|
|
52
54
|
safe: { x0: 0.05, x1: 0.95, y0: 0.06, y1: 0.92 },
|
|
53
55
|
};
|
|
@@ -202,7 +204,7 @@ export async function reviewVideo({ ffmpeg, ffprobe, path, log = () => {} }) {
|
|
|
202
204
|
level: 'warn',
|
|
203
205
|
code: 'speech_gap',
|
|
204
206
|
at: [r1(gp.start), r1(gp.end)],
|
|
205
|
-
text: `${r1(gp.end - gp.start)} s of silence between two voice lines at ${r1(gp.start)} s.
|
|
207
|
+
text: `${r1(gp.end - gp.start)} s of silence between two voice lines at ${r1(gp.start)} s. ${wide ? 'Cut the pause, or keep it only where it lands a point or changes chapter.' : 'Lay the lines back to back (≤ 0.3 s).'}`,
|
|
206
208
|
});
|
|
207
209
|
}
|
|
208
210
|
// Calibrado con los reels de Fran (2026-10-06): todos los buenos cortan 3,5-10 veces por
|
|
@@ -211,7 +213,7 @@ export async function reviewVideo({ ffmpeg, ffprobe, path, log = () => {} }) {
|
|
|
211
213
|
issues.push({ level: 'warn', code: 'no_cuts', text: 'No real change of scene anywhere: it plays as one slow sequence of fades. Change scene with cuts or quick whips, and move a camera inside each scene.' });
|
|
212
214
|
}
|
|
213
215
|
const sfx = m?.audio?.sound?.sfxPerMinute;
|
|
214
|
-
if (sfx === 0 && info.duration > 8) {
|
|
216
|
+
if (sfx === 0 && info.duration > 8 && !wide) {
|
|
215
217
|
issues.push({ level: 'warn', code: 'no_sfx', text: 'No sound effect is heard. A 20 s reel usually needs 4-8, on the moments that matter (hook, scene change, the key click or reveal, the CTA).' });
|
|
216
218
|
}
|
|
217
219
|
return {
|