Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将视频文件连接到DirectShow_C#_Video_Directshow_Directshow.net - Fatal编程技术网

C# 将视频文件连接到DirectShow

C# 将视频文件连接到DirectShow,c#,video,directshow,directshow.net,C#,Video,Directshow,Directshow.net,使用C#, 如何使用DrirectShow..连接两个视频文件(.avi文件)。。? 请帮忙 下面的代码只是为了解释这个问题 VideoSpanCollection newList = new VideoSpanCollection(); int j; for(int i=0; i<oldItems.Count; i = j) { for(j=i+1; j<oldItems.Cou

使用C#,

如何使用DrirectShow..连接两个视频文件(.avi文件)。。? 请帮忙

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

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);
        }
videospan收集新列表=新的videospan收集();
int j;

对于(int i=0;i而言,没有标准/通用的方法来实现,更不用说它们必须具有兼容的格式

在DirectShow中,您需要自定义过滤器,从2+个源中传输数据,并将数据路由到管道的记录段,同时更新时间戳

虽然它可能会在呈现目标文件时重新压缩输出,但可能会有所帮助。DirectShow.NET还介绍了好消息DES,并为您提供了将视频和音频合并到单个输出文件中的示例代码

Samples\Editing\DESCombine
--------------------------
使用DirectShow编辑服务组合视频和音频的类库
文件(或文件片段)转换为单个输出文件。帮助文件(DESCombine.chm)
为使用该类而提供。

谢谢罗曼!这是一个很大的帮助!我会调查的。请向我提供任何URL等,以防您偶然发现相同的URL…再次感谢!