{ const physicalFile = fileMap[clip.file_name]; if (!physicalFile) return; const isVideo = clip.type.startsWith('video'); const isImage = clip.type.startsWith('image'); // 👈 NEW: Catch images! const isAudio = clip.type.startsWith('audio'); const start = Number(clip.start_time) || 0; const inP = Number(clip.in_point) || 0; const dur = Number(clip.duration) || 5; const vol = clip.volume !== undefined ? Number(clip.volume) : 1; // 🧠 FIX 1: Tell FFmpeg to loop static images so they act like video clips! if (isImage) { inputsString += `-loop 1 -framerate 30 -t ${dur} -i "${physicalFile}" `; } else { inputsString += `-i "${physicalFile}" `; }"> { const physicalFile = fileMap[clip.file_name]; if (!physicalFile) return; const isVideo = clip.type.startsWith('video'); const isImage = clip.type.startsWith('image'); // 👈 NEW: Catch images! const isAudio = clip.type.startsWith('audio'); const start = Number(clip.start_time) || 0; const inP = Number(clip.in_point) || 0; const dur = Number(clip.duration) || 5; const vol = clip.volume !== undefined ? Number(clip.volume) : 1; // 🧠 FIX 1: Tell FFmpeg to loop static images so they act like video clips! if (isImage) { inputsString += `-loop 1 -framerate 30 -t ${dur} -i "${physicalFile}" `; } else { inputsString += `-i "${physicalFile}" `; }"> { const physicalFile = fileMap[clip.file_name]; if (!physicalFile) return; const isVideo = clip.type.startsWith('video'); const isImage = clip.type.startsWith('image'); // 👈 NEW: Catch images! const isAudio = clip.type.startsWith('audio'); const start = Number(clip.start_time) || 0; const inP = Number(clip.in_point) || 0; const dur = Number(clip.duration) || 5; const vol = clip.volume !== undefined ? Number(clip.volume) : 1; // 🧠 FIX 1: Tell FFmpeg to loop static images so they act like video clips! if (isImage) { inputsString += `-loop 1 -framerate 30 -t ${dur} -i "${physicalFile}" `; } else { inputsString += `-i "${physicalFile}" `; }">

Loading Post...

Redirecting you to the player...