你们没看错 Youtube。在您观看视频时,您还将获得相关视频预览以及链接。那么我们如何从视频本身中获取它.. 是否可以这样做.. 我能够从数据库中获取 url 并显示它.. 当点击链接时,它将在 jquery 播放器中播放.. 所以在此之前,您可以预览该播放列表,或者您可以说该播放列表可供用户使用。
我已经用我找到的链接更新了我的代码.. 但是我仍然无法从视频中获取图像.. 我的代码有什么问题.. 如果我错了,请纠正我..
下面是我的前端代码:
<form id="form1" runat="server">
<div id="examples" runat="server" style="height:100%;width:100%">
<div id="vidhead">Latest Videos</div>
</div>
</form>
我在页面加载时从后端添加所有视频链接,如下所示:
try
{
con.Open();
com = new SqlCommand("Select videourl, videoname from video order by [vid] desc",con);
DbDataReader dr = com.ExecuteReader();
DataTable dt = new DataTable();
if (dr.HasRows)
{
int i = 0;
dt.Load(dr);
int rows = dt.Rows.Count;
for (i = 0; i < rows; i++)
{
HtmlGenericControl d = new HtmlGenericControl("div");
HtmlGenericControl s = new HtmlGenericControl("span");
string[] link = new string[rows];
string[] name = new string[rows];
d.Attributes.Add("class", "plst");
s.Attributes.Add("class", "text");
link[i] = dt.Rows[i]["videourl"].ToString();
name[i] = dt.Rows[i]["videoname"].ToString();
string videothumb = link[i];
string svthto="**Path to save Image**";
string imgpath=GetVideoThumbnail(videothumb, svthto, 30);
sb.Append("<a id=" + "\"a" + i + "\"" + " href=" + "\"" + link[i] + "\"" + " class=" + "\"links\"" + ">" + name[i] + "</a>");
s.InnerHtml = sb.ToString();
d.Controls.Add(s);
examples.Controls.Add(d);
sb.Clear();
}
}
}
catch(Exception ex)
{
ex.Message.ToString();
}
public string GetVideoThumbnail(string path, string saveThumbnailTo, int seconds)
{
string parameters = string.Format("-ss {0} -i {1} -f image2 -vframes 1 -y {2}", seconds, path, saveThumbnailTo);
string pathToConvertor = "C:\\Program Files\\ffmpeg\\ffmpeg.exe";
var processInfo = new ProcessStartInfo();
processInfo.FileName = pathToConvertor;
processInfo.Arguments = parameters;
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
File.Delete(saveThumbnailTo);
using (var process = new Process())
{
process.StartInfo = processInfo;
process.Start();
process.WaitForExit();
}
if (File.Exists(saveThumbnailTo))
return saveThumbnailTo;
else
return "File not Found";
}
这是我到目前为止所得到的图像:
请注意:我不专注于您的管视频。我正在质疑我存储在服务器端文件夹中的视频。因此,如果有任何 jquery 技术或任何类型的技术可以做到这一点,请告诉我。:)