我创建了一个batch-file,它使用ffmpeg将视频的帧提取到.jpg
。
ffmpeg -i sample.mp4 -r 5 E:\frames\createdFrames%%d.jpg
它可以完全正常工作并创建所需的帧,但是我想动态地提供示例视频,即在执行批处理文件时将其传递。
如何动态传递输入文件?
如果可能的话,还讨论如何动态存储文件,即在执行批处理时传递我要存储文件的目录。
答案 0 :(得分:0)
@echo off
setlocal
set "infile=%~1"
set "outdir=%~2"
if not defined infile set /p "infile=Input file: " || exit /b 1
if not defined outdir set /p "outdir=Output dir: " || exit /b 2
if not exist "%outdir%" md "%outdir%" || exit /b 3
ffmpeg -i "%infile%" -r 5 "%outdir%\createdFrames%%d.jpg"
可以将参数传递给批处理文件,例如batch.bat sample.mp4 E:\frames
如果未传递任何参数,则输入提示将要求输入文件。如果未定义,将退出。输入输出目录也会发生同样的情况。
根据需要创建输出目录,如果失败则退出。
如果一切正常,请运行ffmpeg
命令。