electron 如何解决电子ffmpeg错误打开输入文件?

3j86kqsm  于 2023-09-28  发布在  Electron
关注(0)|答案(1)|浏览(202)

我在项目的bin文件夹中有一个带有ffmpeg.exe的Electron应用程序。当我尝试使用ffmpeg制作新视频时,我在阅读输入文件时遇到错误。

FFmpeg error: [in#0 @ 000002667f2ab9c0] Error opening input: No such file or directory

Error opening input file C:/Users/xxxx/Videos/Powder/2023.08.19%2017.30.37_Apex_Legends/Powder_2023.08.19%2021.00.48.mp4
const ffmpeg = spawn(ffmpegPath, [
  '-i', videoFile,
  '-filter_complex', filterComplex,
  '-map', '[out]',
  '-c:v', 'libx264',
  '-crf', '18',
  '-preset', 'veryfast',
  '-y',
  path.join(outputDir, outputName)
]);

ffmpeg.stdout.on('data', (data) => {
  console.log(`FFmpeg output: ${data}`);
});

ffmpeg.stderr.on('data', (data) => {
  console.error(`FFmpeg error: ${data}`);
});

ffmpeg.on('close', (code) => {
  console.log(`FFmpeg process exited with code ${code}`);
  event.reply('ffmpeg-export-done'); // Notify the renderer process
});

如何解决此路径问题?

csbfibhn

csbfibhn1#

我必须解码文件路径,因为它是URI格式。

const decodeURI = (uri) => {
  return uri.replace(/%[0-9A-F]{2}/g, match => String.fromCharCode('0x' + match.slice(1)));
};

相关问题