我有一系列以 mpeg2 编码的视频文件(我可以更改此编码),并且我必须在 flash flv 中制作一部电影(这是一项要求,我无法更改该编码)。
一个目标电影是不同源视频文件的汇编。
我有一个定义目标电影的播放列表。例如:
Video file Position Offset Length
little_gnomes 0 0 8.5
fairies 5.23 0.12 12.234
pixies 14 0 9.2
video file 是文件的名称,position 是文件应该开始的时间(在主时间轴中),offset 是视频文件内的偏移量,length 是要播放的视频的长度。数字是秒(双)。
这将导致类似的结果(最终电影时间线):
0--5.23|--8.5|--14|--17.464|--23.2|
little_nomes **************
fairies *********************
pixies *****************
在视频重叠的地方,要添加的最后一个视频覆盖最后一个,应该混合音频。
生成的视频轨道将是:
0--5.23|--8.5|--14|--17.464|--23.2|
little_nomes *******
fairies ***********
pixies *****************
虽然生成的音频将是:
0--5.23|--8.5|--14|--17.464|--23.2|
little_nomes 11111112222222
fairies 222222211112222222222
pixies 22222222221111111
其中 1 或 2 是混合音轨的数量。
最多可以有 3 个音轨。
我需要编写一个程序,将播放列表作为输入并生成 flv 文件。我对任何解决方案持开放态度(必须是免费/开源的)。
可以做到这一点的现有工具将是最简单的,但我没有找到。至于制作我自己的解决方案,我发现只有 ffmpeg,我可以用它做一些基本的事情,但是文档非常缺乏。
它可以是任何语言,它不必非常快(如果制作一部 1 小时的电影需要 30 分钟就可以了)。
该解决方案将在基于 opensolaris 的 x64 服务器上运行。如果我必须使用 linux,这也可以。但是windows是不可能的。