Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.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#.net中将大型视频文件分割成块_C#_.net - Fatal编程技术网

在c#.net中将大型视频文件分割成块

在c#.net中将大型视频文件分割成块,c#,.net,C#,.net,我有一个录像应用程序。我想将录制的视频分割成不同的块,以便将文件上载到服务器。我的应用程序是用WPF构建的。有没有办法将视频文件分割成块。我曾尝试使用内存流分割视频,但在处理完成后,块会损坏,因此我无法将其上载到服务器 下面是我使用的当前代码 public static List<int> SplitFile(string inputFile, int chunkSize, string path) { List<int> chun

我有一个录像应用程序。我想将录制的视频分割成不同的块,以便将文件上载到服务器。我的应用程序是用WPF构建的。有没有办法将视频文件分割成块。我曾尝试使用内存流分割视频,但在处理完成后,块会损坏,因此我无法将其上载到服务器

下面是我使用的当前代码

public static List<int> SplitFile(string inputFile, int chunkSize, string path)
        {
            List<int> chunkList = new List<int>();
            try
            {
                const int BUFFER_SIZE = 20 * 1024;
                byte[] buffer = new byte[BUFFER_SIZE];
                int index = 0;
                using (Stream input = File.OpenRead(inputFile))
                {
                    while (input.Position < input.Length)
                    {
                        chunkList.Add(index);
                        using (FileStream output = File.Create(path + "/" + index + ".mp4"))
                        {
                            int remaining = chunkSize, bytesRead;
                            while (remaining > 0 && (bytesRead = input.Read(buffer, 0,
                                    Math.Min(remaining, BUFFER_SIZE))) > 0)
                            {
                                output.Write(buffer, 0, bytesRead);
                                remaining -= bytesRead;
                            }
                            output.Close();
                        }
                        index++;
                       
                    }

                  
                }
            }
            catch(Exception ex)
            {
                throw;
            }
            return chunkList;
        }
公共静态列表拆分文件(字符串inputFile、int chunkSize、字符串路径)
{
List chunkList=新列表();
尝试
{
const int BUFFER_SIZE=20*1024;
字节[]缓冲区=新字节[缓冲区大小];
int指数=0;
使用(流输入=File.OpenRead(inputFile))
{
while(input.Position0&&(bytesRead=input.Read)(缓冲区,0,
Math.Min(剩余,缓冲区大小))>0)
{
输出写入(缓冲区,0,字节读取);
剩余-=字节读取;
}
output.Close();
}
索引++;
}
}
}
捕获(例外情况除外)
{
投掷;
}
返回区块列表;
}
谁能帮我一下吗


非常感谢您的帮助:)

为了清晰起见:您是想将视频分割成一系列较小的视频(即每个视频都可以自己播放),还是想简单地将其分块以供下载和重新组装?是的@Llama,只需将视频文件分块即可。net中是否有可用的库来执行此操作。net可以执行此操作。。。为什么您需要一个库来完成这样一个琐碎的任务?如果在.net中可能的话,如何实现?你能建议一个最好的方法吗?那将非常有帮助。:)“但在流程完成后,块会被破坏”-你能澄清一下吗?我没有看到您的代码中存在明显的问题。