c# - Directshow 捕获(h264 编码)和预览
问题描述
我正在尝试开发一个 C# 应用程序,用于从最大分辨率为 1920x1080 的 directshow 设备源 (USB3HDCAP) 录制和预览实时视频。
视频必须编码为 H264。
我已经尝试使用 C# 计算机视觉框架,例如 Aforge 和 Accord.FFMPEG。但是它不起作用,因为编码太慢了,然后预览真的被延迟了。
然后,我尝试使用 FFMPEG 试用编码器或 vfw264 制作一个简单的带有图形编辑的 directshow 图形,我得到了相同的结果:预览真的很慢,而且图像质量不太好。
最后我尝试了 Leadtools Filter。结果很完美,没有延迟,录音质量也不错。但是 Leadtools 不是免费的。
你知道更好的解决方案吗?
解决方案
使用 Intel Media SDK,您可以在 C++ 中制作 H264 编码器 DirectShow 过滤器。
您也可以检查 openH264 项目。
x264 是免费的,并且质量很好,但是 GPL 或商业许可。
推荐阅读
- javascript - 我正在使用 setTimeout() 调用刷新函数,但是当我移动到另一个组件时它不会停止调用刷新?
- c++ - C++ Shared_Ptr 不共享?
- javascript - Read More / Read Less 按钮 - 当点击 Read Less 时,它会失去它的位置,而不是回到原来的位置
- docker - 在 Docker 构建期间安装 brew 包不起作用
- javascript - Lightbox Carousel 未在全屏上显示导航箭头
- maven - 是否有 IDE 快捷方式来驱动 Maven 依赖版本属性?
- python - MSYS2:安装后 pip 不在路径中(找不到命令)
- php - 如何在laravel中成功调用ajax后将行添加到数据表中?
- c# - 如何使用 for 循环在 asp.net 中绑定中继器?
- css - ionic 5 ios 深色主题在菜单栏打开和关闭的标题中显示阴影