如何将视频的第一帧保存为图像?
我想提取上传视频的第一帧并将其保存为图像文件。
可能的视频格式有 mpeg、avi 和 wmv。
另一件需要考虑的事情是我们正在创建一个 ASP.NET 网站。
I want to extract first frame of uploaded video and save it as image file.
Possible video formats are mpeg, avi and wmv.
One more thing to consider is that we are creating an ASP.NET website.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 FFMPEG 作为单独的进程(最简单的方法),并让它为您解码第一个 IDR。这里你有一个具有 GetThumbnail() 方法的 FFMPEG 类,你可以向它传递视频文件的地址、要制作的 JPEG 图像的地址以及你想要图像的分辨率:
像这样使用:
为此,您必须在文件夹 /utils 中有 ffmpeg.exe,或者更改代码以找到 ffmpeg.exe。
还有其他在 .NET 中使用 FFMPEG 的方法,例如 .NET 包装器,您可以通过 google 搜索它们。他们在这里基本上做同样的事情,只是更好。因此,如果 FFMPEG 能完成您的工作,我建议使用 .NET 包装器。
You could use FFMPEG as a separate process (simplest way) and let it decode first IDR for you. Here you have a class FFMPEG that has GetThumbnail() method, to it you pass address of video file, address of the JPEG image to be made, and resolution that you want the image to be:
Use like this:
For this to work, you must have ffmpeg.exe in folder /utils, or change the code to locate ffmpeg.exe.
There are other ways to use FFMPEG in .NET, like .NET wrappers, you could google for them. They basically do the same thing here, only better. So if FFMPEG gets your job done, I'd recomend to use .NET wrapper.
尝试将参数字符串格式设置为:
而不是
上面提供的答案代码。
我不知道原因是什么,但第二个提到的参数行在我的机器上不起作用,而当我像第一个命令一样更改参数时,它工作正常。
Try to make argument string format like:
Instead of
in the answer code provided above.
I don't know what was the reason, but second mentioned argument line is not working on my machine whereas when I changed argument like the first command it works fine.
以编程方式处理视频的最佳工具可能是 FFMpeg。它支持多种格式,甚至包括 wmv。我怀疑甚至有一个 .net 包装器。
Probably the best tool for working with videos programatically is FFMpeg. It has support for many formats, even wmv. I suspect there's even a .net wrapper for it.