在优酷下载的大一点的flv视频都是一些分段的视频,一个文件往往被分割为了7、8段,需要合并一下才方便保存。
网上找了一下,没有看到什么好用的flv合并工具,甚至都有说先将flv转换为avi,将avi合并后再转回来的,那样的话我等得黄花菜都凉了。
网上另外也有说直接用copy /b命令连接的,我试了一下,由于是文件拷贝,速度非常快,并且可以正常观看,但是时间显示不正确。这说明码率一致的flv是可以不转换直接合并的,便在网上搜了一下flv的文件格式,写了一个flv的合并工具,改正了直接二进制合并时时间不正确的问题。
程序使用十分简单,只需要将要合并的flv文件为输入参数传进去即可。
例:"FlvTogether 1.flv 2.flv"
这个程序是用c++写的,虽然没有友好的界面,但还算方便简单,转换过程非常快,一般几秒钟就差不多了,就没有做进度显示。由于没有经过严格的测试,故转换完成后没有删除原来的那些分段视频,需要手工删除。
另外,我是用的vc2008写的这个程序,虽然是二进制程序,在其它windows平台下应该也能运行,但是需要vc9的运行库支持,如果不能运行可以去下载msvcr90.dll和msvcp90.dll后试一下。
FlvDownloader的下一个版本中将集成这一功能,下载完成后直接合并那些分段的文件。
补充:
看到有人留言说即使下载 了这两个dll也无法运行,用depends看这个程序就依赖于这两个dll,我对windows程序部署不熟悉,不知道如何解决。便用dev-cpp重新编译了一下,去掉了这两个dll的依赖,可以试用一下: flvTogether_devcpp.zip