不用ffmpeg如何将多个图片转换为视频

前言

最近在做DicomView里面的一个将多序列导出为视频的功能时,第一时间想到的是使用ffmpeg。

看了一下Radiant的,整个软件才不到10MB。如果我使用ffmpeg,那整个软件将会相当大。

查了一下资料,发现Windows自带了一套视频相关的API-Windows Media Foundation,决定使用这套API。

以前没接触过。这里稍微学习总结一下。

本来是没打算系统性的学习,但是我让多个AI平台生成相关代码,给出的代码都是错误的。

即使我修复了编译时的报错,但是在运行的时候还是会报错。

 

我的DicomView的项目地址:

https://github.com/zhaotianff/ImageViewer

路过的小伙伴可以帮忙star一下。

 

Windows Media Foundation

Microsoft Media Foundation支持开发在Windows Vista及更高版本上使用数字媒体的应用程序和组件。

Media Foundation是Windows的下一代多媒体平台,它使开发人员、消费者和内容提供商能够以增强的健壮性、无与伦比的质量和无缝的互操作性来拥抱新一轮的优质内容。

Media Foundation需要Windows Vista或更高版本。它使用组件对象模型(COM),需要C/C++。Microsoft未为Media Foundation提供托管API。

Media Foundation API是Windows SDK的一部分。要开发Media Foundation应用程序,请安装最新版本的Windows SDK。

因为是COM组件,所以在C#中也可以调用,可以参考我前面的文章了解如何在C#中使用COm

https://www.cnblogs.com/zhaotianff/p/18657903

 

 

79336d54dac13918c4194d7b4aced7ad_mfarch01

 Media Foundation体系结构

 

基础概念

TopicDescription
Attributes Attributes and properties are key/value pairs stored on an object.
Media Types A media type describes the format of a digital media stream.
Media Buffers A media buffer manages a block of memory, so that it can be shared between objects.
Media Samples A media sample is an object that contains a list of media buffers.
posted @ 2025-10-30 14:20  zhaotianff  阅读(6)  评论(0)    收藏  举报