3

我正在尝试从 sharepoint 2013 视频库中提取缩略图。我找到了一个可以使用 ffmpeg 提取的链接。这是链接:[如何将视频的第一帧保存为图像?

filename = "http://siteurl/" + items["FileRef"].ToString();

当我用 sharepoint 站点 url 和视频名称替换输入文件时,它不会产生任何缩略图。我也给出了错误

ffmpeg.Start();
        ffmpeg.WaitForExit();
        ffmpeg.Close()

我想了解如何使它适用于 http url。如果无法在 ffmpeg 中使用 url,任何人都可以建议另一种方法来实现缩略图。(因为如果没有手动设置,我希望使用视频的第一帧自动设置缩略图)

4

1 回答 1

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 秒拍摄图像。(更具体的 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

于 2014-07-26T01:56:48.883 回答