首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用FLV::Splice模块合并多个FLV文件?

如何使用FLV::Splice模块合并多个FLV文件?
EN

Stack Overflow用户
提问于 2010-08-14 12:44:16
回答 1查看 535关注 0票数 0

如果我有一个包含多个FLV文件的数组,如下所示:

代码语言:javascript
复制
my @src_files = qw (1.flv 2.flv 3.flv 4.flv 5.flv 6.flv 7.flv);

我可以调用flvbind.exe作为外部命令行程序来执行合并,如下所示:

代码语言:javascript
复制
my $args = join(' ',@src_files);
my $dest_file = 'merged.flv';
system "flvbind $dest_file $args";

但是FLV::Splice的用法示例如下:

代码语言:javascript
复制
use FLV::Splic; 
my $converter = FLV::Splice->new();
$converter->add_input('first.flv');
$converter->add_input('second.flv');
$converter->save('output.flv');

我似乎不知道如何像flvbind一样做同样的事情。我是否必须像这样详细地添加每个参数:

代码语言:javascript
复制
use FLV::Splice;

my $dest_file = 'merged.flv';
my $converter = FLV::Splice->new();
$converter->add_input('1.flv');
$converter->add_input('2.flv');
$converter->add_input('3.flv');
$converter->add_input('4.flv');
$converter->add_input('5.flv');
$converter->add_input('6.flv');
$converter->add_input('7.flv');
$converter->save("$dest_file");

这看起来不像是正确的方式。我的意思是,我必须逐字添加每个参数吗?有没有办法简化add_input方法的重复使用?有什么建议吗?一如既往的感谢:)

更新:事实证明,这是一个愚蠢的问题。谢谢,@Eric给了我正确的答案。我想使用for循环来减少add_input方法的重复使用,但不知何故,我认为它不会起作用,我认为我被卡住了。好吧,我会提醒自己下次不要轻易打扰别人。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-14 13:15:42

减少重复是相当容易的:

代码语言:javascript
复制
$converter->add_input($_) for @src_files;

或者将整个过程封装在一个子例程中:

代码语言:javascript
复制
sub flv_splice {
    my $dest_file = shift;
    my $converter = FLV::Splice->new();
    $converter->add_input($_) for @_;
    $converter->save($dest_file);
}

flv_splice 'merged.flv', @src_files;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3482046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档