2

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

4

1 回答 1

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);

希望能帮助到你。

于 2011-09-24T10:02:03.757 回答