以下是加入两个视频的代码。当我运行该程序时,它会加入两个视频并将加入的视频放入一个文件夹中。已连接的视频大小应该是正确的。
但是当我播放视频时,它会在WMP中播放视频的第一部分,但是当我在VLC中播放视频时,它会播放视频的第二部分。
public void JoiningVideo()
{
string j = @"D:/test2";
string outputpath = @"D:/test3/beforeEventab1.wmv";
DirectoryInfo di = new DirectoryInfo(j);
FileStream fs;
fs = new FileStream(outputpath, FileMode.Append);
foreach (FileInfo fi in di.GetFiles(@"*.wmv"))
{
byte[] bytesource = System.IO.File.ReadAllBytes(fi.FullName);
fs.Write(bytesource, 0, bytesource.Length);
}
fs.Close();
}
答案 0 :(得分:0)
您知道每个视频文件都以“header”开头吗?
该文件的这一部分包含有关长度等的信息
如果要加入单独的视频文件,则必须将标题合并为包含两个(已加入)部分的信息的新标题,并确保两个视频相互适合。 (*)
否则视频不是有效文件。
由于WMP和VLC的解码器不同,可以识别第一个,另一个识别第二个文件。
你可以幸运的是程序甚至播放了这个“腐败”文件! ;)
只需向搜索引擎询问merge wmv
是否适用于您的解决方案!
(*)
要合并他们需要的两个视频
我不是专家,但我可以告诉你,这个程序对于视频的每种类型(MPEG,WMV,..)都是不同的。最好的方法是为此目的使用现有的库。