首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我正在尝试使用FFMPEG来选择文件夹中的所有.mp4文件,并以文件名作为图像名进行屏幕截图。

我正在尝试使用FFMPEG来选择文件夹中的所有.mp4文件,并以文件名作为图像名进行屏幕截图。
EN

Stack Overflow用户
提问于 2017-04-12 13:10:03
回答 2查看 1.4K关注 0票数 1

我以前从未处理过.bat文件,所以这对我来说是新的。

我正在尝试使用FFMPEG从我放置.bat文件的文件夹中选择所有的.mp4文件。然后每隔30分钟截图一次,并以格式输出输入文件名+图像号的文件

到目前为止,这就是我想出来的:

代码语言:javascript
运行
复制
for f in *.mp4; do ffmpeg -i "$f" -vf fps=1/1800 "${f%.mp4}.jpeg";done &&  cp  --copy-contents *.jpeg  ~*outputDirectory* && rm -R *.jpeg

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-12 20:41:08

如果我在解释?巴什?正确的代码-应该这样做:

代码语言:javascript
运行
复制
@Echo off
Set "JPEGdir=%UserProfile%\Outputdirectory"
for %%f in (*.mp4) do ffmpeg -i "%%f" -vf fps=1/1800 "%JPEGdir%\%%~nf_%%d.jpeg"
  • 变量需要在批处理中以%%作为前缀( cmd行上的单个% )
  • 与在源文件夹中创建JPEG不同,复制和删除更容易在目标文件夹中直接创建它们,方法是使用目标路径而只使用新名称的无驱动器、路径和扩展的文件名%%~n,并附加ffmpeg函数以附加数字%d (必须用第二个符号转义这个百分比号)。

编辑添加了文件夹创建:

代码语言:javascript
运行
复制
@Echo off
Set "JPEGdir=%UserProfile%\Ouputdirectory"
for %%f in (*.mp4) do (
  If not Exist "%JPEGdir%\%%~nf" MkDir "%JPEGdir%\%%~nf"
  ffmpeg -i "%%f" -vf fps=1/1800 "%JPEGdir%\%%~nf\%%~nf_%%d.jpeg"
)

我从bash代码中派生出目标文件夹,如果您想在当前dir中使用新文件夹,只需使用set "JPEGdir=."即可。

票数 0
EN

Stack Overflow用户

发布于 2017-04-13 09:33:14

这就是我最后得到的结果,它现在运行得很好:

代码语言:javascript
运行
复制
@Echo off

for %%i in (*.mp4) do (
    ffmpeg -i "%%i" -vf fps=1/1800 "%%~ni_%%d.jpeg"
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43370521

复制
相关文章

相似问题

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