我测试了他们工作的以下参数。从远程视频中提取第一帧。
ffmpeg -i "http://techslides.com/demos/sample-videos/small.mp4" -f image2 -vframes 1 "e:\images\01\image%03d.jpg"
要从视频的特定持续时间(第一帧可能是黑色)中提取图像,请使用-ss参数。-ss 00:00:02表示在第 2 秒拍摄图像。(更具体的 frame -ss 00:00:02.xxx xxx=0 到 999 毫秒)
ffmpeg -ss 00:00:02 -i "http://techslides.com/demos/sample-videos/small.mp4" -f image2 -vframes 1 "e:\images\01\image%03d.jpg"
更新代码如何将视频的第一帧保存为图像?作为你的需要。
更新
以下命令在处理输入时因发现无效数据而失败,但您可以通过尝试-cookies或-headers参数找到问题的解决方案。当需要身份验证时,可以使用-cookies或-headers参数,如下所示。当您登录到服务器时,使用Fiddler获取 cookie 并将它们添加到 ffmpeg -cookies或-headers参数中。
ffmpeg -cookies "path=/; domain=domainname.com; cookiesgoeshere\r\n" -i "video url goes here" -f image2 -vframes 1 "e:\image%03d.jpg"
或者
ffmpeg -headers "Cookie: path=/; domain=domainname.com; cookiesgoeshere\r\n" -i "video url goes here" -f image2 -vframes 1 "e:\image%03d.jpg"
相关话题
如何在ffmpeg HLS中启用cookie - Thinbug
或Zeranoe FFmpeg - 查看主题 - 自定义 http 标头
另一个选项是在您的 Web 服务器中运行 ffmpeg