使用C#从flv中提取关键帧

时间:2010-10-19 20:28:11

标签: c# flv keyframe

有没有办法使用C#从flv文件中提取关键帧?

1 个答案:

答案 0 :(得分:1)

无法找到直接的方法。

但是你可以在C#中使用FFmpeg.exe

在这里你可以找到一个C#包装器,以便在C#中轻松使用FFmpeg:

http://www.ffmpeg-csharp.com/

以下代码取自其示例页面。您似乎可以通过以下方式提取帧并从中创建缩略图:

CAVConverter converter = new CAVConverter();
//...

使用converter.AVPrope.Decode(-1)解码下一帧,使用converter.AVPrope.CurrentPicture获取缩略图。使用converter.AVPrope.SaveCurrentFrame(fileName)将当前帧保存到文件fileName。

//Load the file
converter.AVPrope.LoadFile(fileName, "");
//Decode the frame converter.AVPrope.Decode(-1);
//Get the thumbnail picture. It is a IPictureDisp object, do something as you need.
var thumbnail = converter.AVPrope.CurrentPicture;
//Save current frame to file fileName
converter.AVPrope.SaveCurrentFrame(fileName);

希望它有所帮助。