如何用VB6.0对两个avi视频文件进行二进制合并?
如题,两个格式一样的avi视频,希望通过二进制方式进行合并,使得合并后的视频能正常播放。
我尝试过使用DOS命令下的 copy /b a.avi+b.avi c.avi进行二进制合并,但是合并出来的c.avi只能正常播放a.avi的内容,b.avi的内容就没法播放,但c.avi的文件大小却是a+b的。所以,copy /b方法不能适用。
我尝试了ffmpeg的合并功能,但是,如果a或b其中一个文件如果出错或者它不识别,就合并失败,看来ffmpeg也不能普适。
最后我想尝试二进制合并avi的思路:
步骤:
先把a.avi和b.avi的文件格式解析出来,或者它们的文件格式信息,将avi文件头信息提取出来,将a.avi和b.avi的视频音频内容数据块(以字节数组形式保存起来,比如是data1(),data2())
然后,将提取出来的a.avi和b.avi的文件头信息中的相应内容进行更新,比如文件头信息中的文件大小这时候就变成a的文件大小+b的文件大小减去b文件头信息中重复部分的大小,播放时长等于a+b的,这样子得到更新后的新的avi文件头信息
最后,将更新后的avi文件头信息数据和data1()+data2()一起写入新的c.avi中。
不知道这种思路得到的c.avi是否能正常播放?
这里的关键就是要懂得如何解析avi文件格式,将文件头信息和视频音频数据块分别提取出来。