首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FFmpeg :不使用循环终止脚本

FFmpeg :不使用循环终止脚本
EN

Stack Overflow用户
提问于 2019-11-04 18:35:46
回答 1查看 135关注 0票数 0

我有几个视频URL的集合,我正在尝试做的是使用一个for循环在laravel中为所有的视频添加一个水印

在循环中,这是我的FFmpeg代码。

代码语言:javascript
复制
shell_exec('ffmpeg -y -i MY_VIDEO_PATH_HERE -i WATER_MARK_IMAGE_URL -filter_complex "overlay=18:H-h-30" -strict -2 -codec:a copy "MY_PATH_TO_STORE_VIDEO"');

所有这些代码都是使用laravel中的队列/作业完成的。

我的问题是,如果上面的命令失败,并且无法添加水印

它不会移动下一个视频来开始添加水印,而是终止该过程,并尝试为同一视频再次添加水印。

我想要的是循环应该继续下一个视频,而不是终止脚本。

有什么解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2019-11-04 18:46:34

已执行命令的输出,如果发生错误或命令不产生任何输出,则返回NULL。

https://www.php.net/manual/en/function.shell-exec.php

因此,从理论上讲,你可以在你的循环中尝试这样的东西:

代码语言:javascript
复制
$result = shell_exec('ffmpeg -y -i MY_VIDEO_PATH_HERE -i WATER_MARK_IMAGE_URL -filter_complex "overlay=18:H-h-30" -strict -2 -codec:a copy "MY_PATH_TO_STORE_VIDEO"');

if (null === $result) {
    // possibly also mark video as processed here if need be?

    continue; // skip current loop iteration
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58691627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档