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

时间:2018-06-19 15:29:45

标签: 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 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 。那么,错误在哪里呢?谢谢。

1 个答案:

答案 0 :(得分:0)

命令应为

ffmpeg -i %%F -f image2 -vsync 0 "%%~nF\%%~nF_image-%%3d.png"

-r 1要求ffmpeg从输入的每秒中选择1帧。 qscale与PNG无关。需要-vsync 0才能阻止ffmpeg丢弃或复制帧。