我使用FFmpeg使用以下命令从视频中提取屏幕截图
/usr/bin/ffmpeg -ss 15 -y -i test.flv -vcodec mjpeg -vframes 1 -an -f rawvideo test.png
Run Code Online (Sandbox Code Playgroud)
但命令失败了.最后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)
Run Code Online (Sandbox Code Playgroud)
请注意,该命令可以成功运行其他视频类型(3gp,mp4).
此外,当我将"-ss 15"选项替换为"itsoffset 15"时,它也会成功运行flv文件.
有谁知道为什么-ss选项不适用于.flv文件?
在较新版本的ffmpeg中-ss,-t必须使用和选项-i [filename].
这可能是一个语法问题。以下内容应该可以正常工作:
/usr/bin/ffmpeg -ss 15 -y -i test.flv -frames:v 1 -an test.png
请注意,我删除了编解码器和格式参数。我认为在 png 连续符上强制使用 mjpeg 并不明智,而且 flv 不是原始视频格式
| 归档时间: |
|
| 查看次数: |
5536 次 |
| 最近记录: |