我测试了他们工作的以下参数。从远程视频中提取第一帧。
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 秒拍摄图像。 (更具体的帧 -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"
根据需要更新代码How can I save first frame of a video as image?。
更新
以下命令失败,处理输入时发现无效数据,但您可以通过尝试 -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"
相关主题
How to enable cookies in ffmpeg HLS - Stack Overflow
或Zeranoe FFmpeg - View topic - Custom http headers
另一种选择是在您的网络服务器中运行 ffmpeg