C#如何按帧截取视频,并保存为图片

hanyao1800 2011-08-30 10:32:01
C#如何按帧截取视频,并保存为图片
...全文
1560 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanyao1800 2011-09-01
  • 打赏
  • 举报
回复
谢谢!解决了!

/// <param name="VideoName">视频文件pic/guiyu.mov</param>
/// <param name="WidthAndHeight">图片的尺寸如:240*180</param>
/// <param name="CutTimeFrame">开始截取的时间如:"1"</param>
#region 从视频画面中截取一帧画面为图片
public string GetPicFromVideo(string VideoName, string WidthAndHeight, string CutTimeFrame)
{

string ffmpeg = "D:/ffmpeg.exe";
string PicName = "D:/jietu.jpg"; //Server.MapPath(Guid.NewGuid().ToString().Replace("-", "") + ".jpg");
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(ffmpeg);
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.Arguments = " -i " + VideoName + " -y -f image2 -ss " + CutTimeFrame + " -t 0.001 -s " + WidthAndHeight + " " + PicName; //設定程式執行參數
try
{
System.Diagnostics.Process.Start(startInfo);
return PicName;
}
catch (Exception err)
{
return err.Message;
}
}
#endregion
hanyao1800 2011-08-31
  • 打赏
  • 举报
回复
能不能给个完整的例子??????谢谢!!!!
子夜__ 2011-08-30
  • 打赏
  • 举报
回复
ublic string CatchImg(string fileName,string imgFile)
{
//
string ffmpeg = VideoDecoder.ffMpeg; //ffmpeg执行文件的路径
//
string flv_img =imgFile+".jpg";
//
string FlvImgSize = VideoDecoder.sizeOfImg;//生成的图片分辨率 240x180
//
System.Diagnostics.ProcessStartInfo ImgstartInfo = new System.Diagnostics.ProcessStartInfo(ffmpeg);
ImgstartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
//
ImgstartInfo.Arguments = " -i " + fileName + " -y -f image2 -ss 2 -vframes 1 -s " + FlvImgSize + " " + flv_img;
try
{
System.Diagnostics.Process.Start(ImgstartInfo);
}
catch
{
return "";
}
//
if (System.IO.File.Exists(flv_img))
{
return flv_img;
}

return "";
}

111,112

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧