我正在尝试从sharepoint 2013视频库中提取缩略图。我发现了一个可以使用ffmpeg提取的链接。这是链接: [How can I save first frame of a video as image?
filename = "http://siteurl/" + items["FileRef"].ToString();
当我用sharepoint网站网址和视频名称替换输入文件时,它不会产生任何缩略图。
我也提出错误ffmpeg.Start();
ffmpeg.WaitForExit();
ffmpeg.Close()
我想了解如何使它适用于http url。 如果在ffmpeg中无法使用url,那么任何人都可以建议另一种方法来实现缩略图。(因为如果没有手动设置,我希望使用视频的第一帧自动设置缩略图)
答案 0 :(得分:1)
我测试了他们工作的以下参数。从远程视频中提取第一帧。
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