提前谢谢。
我正在尝试使用ffmpeg二进制文件(在electron-react-app的上下文中)裁剪.mp4视频。
(该二进制文件使用execFile()在child process中运行,并输出到一个临时文件夹,该文件夹后来被删除)
ffmpeg在完成剪辑视频文件的创建(1秒到18秒)所需的时间上有很大的不同,这取决于计算机(mac和Windows)。
我需要读一下裁剪后的视频文件。
我已经在electron的Main进程中设置了一个事件侦听器
if (!monitorCroppedFile) {
console.log(`${croppedFilePath} doesn't exist`);
} else {
console.log(`${croppedFilePath} exists !`)
...readFile...;有一次我用fs.readfile()读了monitorCroppedFile = true。
问题是ffmpeg最初会创建裁剪的文件路径,但有时需要很长时间才能完成裁剪过程。
这导致读取的文件通常是空白的(因为读取是在检测到裁剪的文件的文件路径时触发的)。
我尝试过在ffmpeg参数中使用-preset ultrafast,但这只能略微改善Windows端的情况。
这个问题不会发生在Mac电脑上。
有没有人能提出一个可行的解决方案?有没有一种方法可以检测到什么时候裁剪完全完成?
非常感谢。
发布于 2021-09-30 04:05:15
在FILE应为文件名的命令中添加-progress FILE。ffmpeg会将处理状态记录到该文件中。搜索其中的行progress=end。一旦你找到它,你就可以读取这个文件。
https://stackoverflow.com/questions/69384857
复制相似问题