7

我正在使用 FFmpeg 使用以下命令从视频中提取屏幕截图

/usr/bin/ffmpeg -ss 15 -y -i test.flv -vcodec mjpeg -vframes 1 -an -f rawvideo test.png

但命令失败。响应的最后 3 行是

frame=    0 fps=  0 q=0.0 Lsize=       0kB time=00:00:00.00 bitrate=   0.0kbits/s
video:0kB audio:0kB global headers:0kB muxing overhead -nan%
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)

请注意,该命令对其他视频类型(3gp、mp4)成功运行。

此外,当我将“-ss 15”选项替换为“itsoffset 15”时,它也可以使用 flv 文件成功运行。

有人知道为什么 -ss 选项不适用于 .flv 文件吗?

4

3 回答 3

9

在较新版本的 ffmpeg 中,-ssand-t选项必须在-i [filename].

于 2013-10-01T00:11:40.687 回答
1

这可能是语法问题。以下应该可以正常工作:

/usr/bin/ffmpeg -ss 15 -y -i test.flv -frames:v 1 -an test.png

请注意,我删除了编解码器和格式参数。我认为在 png continuer 上强制 mjpeg 是不明智的,flv 不是 rawvideo 格式

于 2013-01-08T13:39:06.030 回答
0

你需要设置视频格式选项(EX: -preset ultrafast -s 1366x768 -r 10 -b:v 555k -crf 45 -vcodec libx264 -threads 0 -pix_fmt yuv420p)

我在从视频中剪切部分时遇到了同样的问题,-c:v copy只是给出了提到的警告并且没有任何反应。

于 2014-09-23T13:31:36.340 回答