ffmpeg - 如何检测视频裁剪是否完成?
ffpmeg - how to detect if video crop is completed?
提前致谢。
我正在尝试使用 ffmpeg
二进制文件(在 electron-react-app
的上下文中)裁剪 .mp4
视频。
(二进制文件是 运行 在 child process
中使用 execFile()
并输出到临时文件夹,稍后删除)
ffmpeg
完成裁剪视频文件创建所需的时间(1 秒到 18 秒)因计算机而异(mac vs Windows)。
我需要阅读裁剪后的视频文件。
我在 electron
的 Main
进程中设置了事件侦听器
if (!monitorCroppedFile) {
console.log(`${croppedFilePath} doesn't exist`);
} else {
console.log(`${croppedFilePath} exists !`)
...readFile...;
曾经 monitorCroppedFile = true
我用 fs.readfile()
读过它。
问题是 ffmpeg
最初创建裁剪文件路径,但有时需要很长时间才能完成裁剪过程。
这导致读取的文件经常是空白的(因为读取是在检测到裁剪文件的文件路径时触发的)。
我试过在 ffmpeg
参数中使用 -preset ultrafast
但这只会稍微改善 Windows 的情况。
Mac 上不会出现此问题。
任何人都可以提出一个可能的解决方案吗?有没有办法检测作物何时完全完成?
非常感谢。
将 -progress FILE
添加到您的命令中,其中 FILE
应该是文件名。 ffmpeg 会将处理状态记录到该文件。在其中搜索 progress=end
行。一旦找到它,您就可以阅读该文件。
提前致谢。
我正在尝试使用 ffmpeg
二进制文件(在 electron-react-app
的上下文中)裁剪 .mp4
视频。
(二进制文件是 运行 在 child process
中使用 execFile()
并输出到临时文件夹,稍后删除)
ffmpeg
完成裁剪视频文件创建所需的时间(1 秒到 18 秒)因计算机而异(mac vs Windows)。
我需要阅读裁剪后的视频文件。
我在 electron
Main
进程中设置了事件侦听器
if (!monitorCroppedFile) {
console.log(`${croppedFilePath} doesn't exist`);
} else {
console.log(`${croppedFilePath} exists !`)
...readFile...;
曾经 monitorCroppedFile = true
我用 fs.readfile()
读过它。
问题是 ffmpeg
最初创建裁剪文件路径,但有时需要很长时间才能完成裁剪过程。
这导致读取的文件经常是空白的(因为读取是在检测到裁剪文件的文件路径时触发的)。
我试过在 ffmpeg
参数中使用 -preset ultrafast
但这只会稍微改善 Windows 的情况。
Mac 上不会出现此问题。
任何人都可以提出一个可能的解决方案吗?有没有办法检测作物何时完全完成?
非常感谢。
将 -progress FILE
添加到您的命令中,其中 FILE
应该是文件名。 ffmpeg 会将处理状态记录到该文件。在其中搜索 progress=end
行。一旦找到它,您就可以阅读该文件。