我使用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文件吗?
答案 0 :(得分:9)
在较新版本的ffmpeg中,-ss
和-t
选项必须在-i [filename]
之后。
答案 1 :(得分:1)
这可能是语法问题。以下应该可以正常工作:
/usr/bin/ffmpeg -ss 15 -y -i test.flv -frames:v 1 -an test.png
注意我删除了编解码器和格式参数。我不认为强迫mjpeg加入png继续者& flv不是原始视频格式
答案 2 :(得分:0)
您需要设置视频格式选项(EX: -preset ultrafast -s 1366x768 -r 10 -b:v 555k -crf 45 -vcodec libx264 -threads 0 -pix_fmt yuv420p)
当我从视频切割部分时遇到了同样的问题,-c:v copy
只是提出了上述警告,没有任何反应。