1

我们正在开发一个应用程序来获取各种格式的视频文件,对文件进行一些简单的编辑,并将它们输出为特定格式。

我可以通过 FFMPEG 处理除编辑部分之外的所有内容,因为编辑需要用户指定某些内容。我需要用户指定需要修剪的任何帧范围(仅从开头或结尾,从不从中间)、淡入或淡出的开始/结束帧编号以及覆盖文本。

我已经看过 Splicer 和 Directshow.NET 包装器,但我不确定是否值得花时间将所有编辑都带入我们的应用程序,而不仅仅是使用 avisynth/ffmpeg/mencoder 在用户之后执行实际编辑设置所有上述内容。

我真正需要的只是一个控件或包装器,这样我就可以创建一个控件来播放/暂停视频,在帧之间移动,并让我抓取视频的特定帧号。我可以从中生成 AVS 文件来完成剩下的工作。如果它会在某个级别使用 DirectShow 那就太好了,这样机器上安装的任何编解码器都可以使用,因为视频可以是 WMV、FLV、Divx、MP4 等格式,我们需要支持所有那些。

任何想法或建议都将被考虑,但我们将寻求最快的(代码编写,而不是执行)实现。

4

1 回答 1

1

我们最终做了什么:

我们使用 Windows Media Player ActiveX 控件让用户选择视频中的点来设置淡入淡出和修剪。然后我们从中生成一个 Avisynth 脚本并通过 mencoder 运行它以获得最终视频。

我们决定使用 WMP 控件中的 double 属性,该属性指定剪辑播放中的 currentPosition。这足以满足我们从剪辑的每秒帧数和 currentPosition 生成帧数以在 AviSynth 脚本中使用的需要。

于 2010-10-12T14:45:30.790 回答