【发布时间】:2015-02-06 02:26:41
【问题描述】:
如上所述,我希望创建一个带有两个视频播放器的基本 Windows.Forms GUI,一个显示原始视频,另一个显示经过编辑的版本。考虑使用 C#,但如果有特殊原因,我愿意使用 C/C++,它也不必是 Windows.Forms,但因为它不需要在视觉上特别令人印象深刻,我认为它会是最好是因为简单/我在这方面有一点经验(虽然不是很多年)。
目前我正在使用 AxWindowsMediaPlayer 控件:
private void loadMedia_btn_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.AddExtension = true;
openFileDialog1.DefaultExt = "*.*";
openFileDialog1.ShowDialog();
initialVideoPlayer.URL = openFileDialog1.FileName;
string fileName = openFileDialog1.FileName;
}
快速浏览了其他工具,例如 DirectShow 和 OpenCV(主要用于编辑),但我不确定最好的方法,因为我似乎无法轻松地从 WMP 控件中提取帧,我不知道有没有更简洁的方法?一个问题是实验室中的计算机似乎没有 DirectX(或者至少不是新版本),所以我不确定 DirectShow 是否可以工作。
我查看了各种问题,例如:
Take image from video playing on windows media player in C#
C# Windows Forms capture a image from embeded Windows Media Player
但他们创建的图像似乎并不理想,因为我想要提取每一帧以便处理它们(应用插值,希望运动估计,边缘检测可能)。
所以我希望播放视频,提取帧并执行一些处理,然后将所有内容重新组合在一起以在第二个播放器中播放。
感谢您的建议:)
【问题讨论】:
标签: c# opencv video directshow axwindowsmediaplayer