gpt4 book ai didi

c# - 加载视频文件并选择单个帧

转载 作者:行者123 更新时间:2023-12-04 23:01:06 25 4
gpt4 key购买 nike

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

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

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

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

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

最佳答案

我们最终做了什么:

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

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

关于c# - 加载视频文件并选择单个帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3892232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com