提前致谢。
我正在尝试裁剪 .mp4
使用 ffmpeg
的视频二进制(在 electron-react-app
的上下文中)。
(二进制文件在 child process
中运行,使用 execFile()
并输出到临时文件夹,该文件夹随后被删除)ffmpeg
根据计算机(mac 与 Windows)的不同,完成创建裁剪视频文件(1 秒到 18 秒)所需的时间差异很大。
我需要阅读裁剪的视频文件。
我在 Main
中设置了一个事件监听器electron
的进程
if (!monitorCroppedFile) {
console.log(`${croppedFilePath} doesn't exist`);
} else {
console.log(`${croppedFilePath} exists !`)
...readFile...;
一次monitorCroppedFile = true
我使用 fs.readfile()
阅读它.问题是
ffmpeg
最初创建裁剪的文件路径,但有时需要很长时间才能完成裁剪过程。这导致读取的文件通常为空白(因为在检测到裁剪文件的文件路径时触发读取)。
我试过使用
-preset ultrafast
在 ffmpeg
争论,但这只会稍微改善 Windows 上的情况。Mac 上不会出现此问题。
任何人都可以提出一个可能的解决方案吗?有没有办法检测裁剪何时完全完成?
非常感谢。
最佳答案
添加 -progress FILE
到你的命令FILE
应该是一个文件名。 ffmpeg 会将处理状态记录到该文件。搜索线progress=end
在里面。一旦找到它,您就可以读取该文件。
关于node.js - ffmpeg - 如何检测视频裁剪是否完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69384857/