【问题标题】:ffpmeg - how to detect if video crop is completed?ffmpeg - 如何检测视频裁剪是否完成?
【发布时间】:2021-11-21 20:39:39
【问题描述】:

提前致谢。

我正在尝试使用ffmpeg 二进制文件(在electron-react-app 的上下文中)裁剪.mp4 视频。

(二进制文件在child process 中使用execFile() 运行,并输出到临时文件夹,该文件夹稍后会被删除)

ffmpeg 完成创建裁剪视频文件(1 秒到 18 秒)所需的时间差异很大,具体取决于计算机(mac 与 Windows)。

我需要阅读裁剪后的视频文件。

我在electronMain进程中设置了一个事件监听器


if (!monitorCroppedFile) {
        console.log(`${croppedFilePath} doesn't exist`);
      } else {
        console.log(`${croppedFilePath} exists !`)
        ...readFile...;

曾经monitorCroppedFile = true 我使用fs.readfile() 阅读它。

问题是ffmpeg 最初创建了裁剪的文件路径,但有时需要很长时间才能完成裁剪过程。

这会导致读取的文件经常为空白(因为读取是在检测到裁剪文件的文件路径时触发的)。

我尝试在ffmpeg 参数中使用-preset ultrafast,但这只会稍微改善Windows 上的情况。

Mac 上不会出现此问题。

任何人都可以提出一个可能的解决方案吗?有没有办法检测作物何时完全完成?

非常感谢。

【问题讨论】:

    标签: node.js reactjs ffmpeg electron


    【解决方案1】:

    -progress FILE 添加到您的命令中,其中FILE 应该是文件名。 ffmpeg 会将处理状态记录到该文件。在其中搜索progress=end 行。找到后,就可以读取文件了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-29
      • 2018-06-10
      • 2014-08-14
      相关资源
      最近更新 更多