有没有办法使用 C# 从 flv 文件中提取关键帧?
问问题
1007 次
1 回答
1
找不到这样做的直接方法。
但是,您可以在 C#中使用FFmpeg.exe 。
在这里您可以找到一个 C# 包装器,以便在 C# 中轻松使用 FFmpeg:
以下代码取自他们的示例页面。似乎您可以通过以下方式提取帧并从中创建缩略图:
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 回答