wmvMerge.pl - Phase 0

合并两段 WMV 文件,理论上来讲不是什么麻烦的事,在网上也能找到很多相关软件。可是,网上的软件或多或少都有些问题,比如说画面抖动、音画不同步等等。就连收费的商业软件也不例外。无奈之下,只有自己写一个合并工具。

用什么语言比较好呢?学软件的各位一定想到了 C++ 和 Java。

No!我不要用连 unsigned integer 都没有的 Java!

想来想去,最简单的还是 Perl。不用安装任何编程/调试工具,反正我的 WD MyBook World Edition 里面带着 Perl 5.8.8 程序,直接就用它了!

从头开始写一个脚本还真费事。昨天晚上花了好几个小时才完成 argument parsing、PrintHelp() 和 verbose functions。今天写了一点点 Header Object parsing。

最麻烦的是 ASF 容器各个字段都是用 little endian in byte order with 32-bit boundary(32 位为一组、以字节为单元的 little endian),其中的 128 位 GUID 需要分 4 组进行逆序运算……。用 Perl 搞一个 endian 转换还真是麻烦。

慢慢来吧,也不知道什么时候才能到 Phase 1。没准又半途而废了。


参考阅读:Advanced Systems Format (ASF) Specification

仅有 1 条评论
  1. hd.jl hd.jl

    GG上看到你的网页,也发现合并WMV是一个头疼的问题,可惜自己不会编程,希望你努力,写一个完美的合并软件。另外你能写个类似Coder360,但支持多声道的软件就更棒了!!!

添加新评论