在 C# 中打开视频并迭代到帧并将处理后的帧保存为另一个视频
我正在尝试在应用程序中打开一个视频来处理帧,然后将结果保存到另一个视频中。我使用了 OpenCV (Emgu) 用于我的图像处理,没有任何问题。但我无法正确使用它来处理视频,因为它不时弹出“访问冲突”异常。我还想保留视频的音轨以供输出。所以我只想用简单的 C# 代码迭代帧并在每个帧上使用我的 Emgu 函数。
这些对于我的应用程序来说是理想的:
- 保持音频
- 视频编解码器/压缩支持
- 快速性能
I am trying to open a video in my application to process on the frames and then save the results into another video. I used OpenCV (Emgu) for my image processing with no issues. But I cannot use it properly for processing videos as it pops "Access Violation" exception from time to time. Also I want to keep the audio track of the video for the output. So I just want to iterate through the frames in simple C# code and use my Emgu function on each frame.
These are desirable for my app:
- Keeping the audio
- Video codec/compression support
- Fast performance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Opencv 是一个主要用于计算机视觉的库,因此没有可让您处理音频数据的内置函数。
stackoverflow 上有一个类似的问题和解决方案:
向 OpenCV 生成的视频添加音频
要利用 FFMPEG 及其相关软件请看这里:
http://opencv.willowgarage.com/wiki/FFMPEG
您遇到的访问冲突错误使用Emgu可能与一些emgu或opencv错误有关,2.2版本有一些已知的视频保存。
Opencv is a library mainly for Computer Vision stuff and so there's no built-in function that let you process audio data.
There's a similar question with a solution here on stackoverflow:
Adding audio to video produced from OpenCV
To take advantage of FFMPEG and it's related softwares take a look here:
http://opencv.willowgarage.com/wiki/FFMPEG
The Access Violation error you are facing using Emgu may be related to some emgu or opencv bugs, the 2.2 version has some known with video saving.