连接视频文件DirectShow

本文关键字:DirectShow 文件 视频 连接 | 更新日期: 2023-09-27 17:52:52

使用c#,

如何拼接两个视频文件。avi文件)使用directshow ..?请帮助!

下面的代码只是为了解释这个问题…

VideoSpanCollection newList = new VideoSpanCollection();
        int j;
        for(int i=0; i<oldItems.Count; i = j)
        {
            for(j=i+1;
                j<oldItems.Count && 
                oldItems[j].File.FullName == oldItems[j-1].File.FullName &&
                Math.Abs(oldItems[j].StartPosition - oldItems[j-1].StopPosition) < 0.5;
                j++);
            VideoSpan newSpan = new VideoSpan();
            newSpan.File = oldItems[i].File;
            newSpan.StartPosition = oldItems[i].StartPosition;
            newSpan.StopPosition = oldItems[j-1].StopPosition;
            AddSpanToListView(newSpan, -1);
        }

连接视频文件DirectShow

没有标准/通用的方法,更不用说它们必须是兼容的格式。

在DirectShow中,你需要自定义过滤器,从2+源流和路由数据到管道的记录段,在途中更新时间戳。

DirectShow编辑服务(DES)可能会有所帮助,尽管它可能会在呈现目标文件时重新压缩输出。好消息是,DirectShow也报道了DES。. NET,并提供了示例代码,将视频和音频组合成单个输出文件。

Samples'Editing'DESCombine
--------------------------
A class library that uses DirectShow Editing Services to combine video and audio 
files (or pieces of files) into a single output file.  A help file (DESCombine.chm) 
is provided for using the class.