在c#.net中将大型视频文件分割成块
我有一个录像应用程序。我想将录制的视频分割成不同的块,以便将文件上载到服务器。我的应用程序是用WPF构建的。有没有办法将视频文件分割成块。我曾尝试使用内存流分割视频,但在处理完成后,块会损坏,因此我无法将其上载到服务器 下面是我使用的当前代码在c#.net中将大型视频文件分割成块,c#,.net,C#,.net,我有一个录像应用程序。我想将录制的视频分割成不同的块,以便将文件上载到服务器。我的应用程序是用WPF构建的。有没有办法将视频文件分割成块。我曾尝试使用内存流分割视频,但在处理完成后,块会损坏,因此我无法将其上载到服务器 下面是我使用的当前代码 public static List<int> SplitFile(string inputFile, int chunkSize, string path) { List<int> chun
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中可能的话,如何实现?你能建议一个最好的方法吗?那将非常有帮助。:)“但在流程完成后,块会被破坏”-你能澄清一下吗?我没有看到您的代码中存在明显的问题。