ffmpeg不会提取mov视频文件中包含的所有png文件

ffmpeg不会提取mov视频文件中包含的所有png文件,ffmpeg,Ffmpeg,我正在尝试提取/转换mov视频文件中包含的所有png文件。要做到这一点,我正在使用这个批处理脚本,它可以正常工作 pushd %1 if not exist newfiles\ ( mkdir newfiles ) if not exist newfiles2\ ( mkdir newfiles2 ) :start for %%F in (*.mov) do ( md "%%~nF" echo "%%~nF" ffmpeg -i %%F -r 1 -f image

我正在尝试提取/转换mov视频文件中包含的所有png文件。要做到这一点,我正在使用这个批处理脚本,它可以正常工作

pushd %1

if not exist newfiles\ (
mkdir newfiles
)

if not exist newfiles2\ (
mkdir newfiles2
)

:start

for %%F in (*.mov) do (
    md "%%~nF"
    echo "%%~nF"
    ffmpeg -i %%F -r 1 -f image2 -qscale:v 2 "%%~nF\%%~nF_image-%%3d.png"
    copy "%%~nF\%%~nF_image-001.png" ".\newfiles" 
    )
popd
但是问题在于此命令应该有一些错误:

ffmpeg -i %%F -r 1 -f image2 -qscale:v 2 "%%~nF\%%~nF_image-%%3d.png"
        copy "%%~nF\%%~nF_image-001.png" ".\newfiles"
因为它只提取4张图像。相反,我使用了virtualdub来做同样的事情,这次提取的png图像是48。那么,错误在哪里?谢谢。

命令应该是

ffmpeg -i %%F -f image2 -vsync 0 "%%~nF\%%~nF_image-%%3d.png"
-r1
要求ffmpeg从每秒的输入中选择一帧<代码>qscale与PNG无关<代码>-vsync 0用于阻止ffmpeg丢弃或复制帧