连接视频文件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中,你需要自定义过滤器,从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.