带有-ss选项的FFmpeg命令在.flv文件上失败

带有-ss选项的FFmpeg命令在.flv文件上失败,ffmpeg,Ffmpeg,我使用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:0

我使用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)成功运行

此外,当我将“-ss15”选项替换为“itscoffset 15”时,它也会成功地与flv文件一起运行


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

这可能是语法问题。以下几点应该可以很好地发挥作用:

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


注意,我删除了编解码器和格式参数。我认为在png延续器上强制mjpeg是不明智的&flv不是一种原始视频格式

在较新版本的ffmpeg中,
-ss
-t
选项必须在
-I[filename]
之后(例如:-预设超快-s 1366x768-r 10-b:v 555k-crf 45-vcodec libx264-threads 0-pix_fmt yuv420p)


当我从视频中剪切部分时,我也遇到了同样的问题,
-c:v copy
只是给出了提到的警告,什么也没有发生。

完整的ffmpeg控制台输出丢失。-ss选项对我有效:
ffmpeg-ss 5s-I input.flv-t 5s output.flv
,跳过5秒,给我5秒的输出视频。但我的ffmpeg实际上是avco内华达州。谢谢你,这是为了我,但请注意-ss的位置可以是在-i之前或之后,它们有不同的用途。请阅读此处了解更多信息: