从一组图片中创建视频

7

我一直在寻找使用C#代码从图像创建视频(.avi文件)的方法,

是否有任何库可以用于视频创建?我已经查看了AviFileWriter库,但该库似乎过于固定,因为我需要添加一些转场和其他元素。

那么如何使用C#满足我的需求?如果编码有点复杂,我也不介意。

1个回答

6

这里提供一个带有主要AVI功能的C#项目。 http://www.codeproject.com/Articles/7388/A-Simple-C-Wrapper-for-the-AviFile-Library

这里使用VideoStream来创建视频,从bmp文件中制作帧。

 //load the first image
Bitmap bitmap = (Bitmap)Image.FromFile(txtFileNames.Lines[0]);
//create a new AVI file
AviManager aviManager = 
    new AviManager(@"..\..\testdata\new.avi", false);
//add a new video stream and one frame to the new file
VideoStream aviStream = 
    aviManager.AddVideoStream(true, 2, bitmap);

Bitmap bitmap;
int count = 0;
for(int n=1; n<txtFileNames.Lines.Length; n++){
    if(txtFileNames.Lines[n].Trim().Length > 0){
        bitmap = 
           (Bitmap)Bitmap.FromFile(txtFileNames.Lines[n]);
        aviStream.AddFrame(bitmap);
        bitmap.Dispose();
        count++;
    }
}
aviManager.Close();

谢谢您的回答,但正如我在帖子中之前声明的那样,该库似乎不支持转换和效果。如果它确实支持,您能否提供另一个代码示例? - idish
请查看以下网址以了解效果和转换:http://www.aurigma.com/docs/gm/CreatingTransitionEffects.htm - Hassan Boutougha
这似乎正是我所寻找的,但它的价格太贵了.. >< - idish
谢谢您的帮助,最后一个问题:我听说avifilewriter库会消耗大量内存,这是真的吗? - idish
我不知道,但你可以逐步添加你的图像来解决问题(对20GB文件进行File.ReadAllText会消耗大量内存;-))。 - Hassan Boutougha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接