directshow怎样获取摄像头采集到的图像数据

时间:2021-07-02 04:00:38
本人在网上看了很多关于directshow采集摄像头的 但是几乎都不满足我的需求
我想做一个摄像头数据实时采集,当采集到一针 就去调用一个回调函数,然后去填充一个buffer,这个buff最好是char类型的 因为我需要网络传输的,本人已经实现了视频预览 但是真心不知道怎么采集,麻烦各路高手赐教 最好能提供源代码 请不要给那些保存视频数据到本地电脑的代码 谢谢 huanghe1989412@126.com
我的基本思路是 打开摄像头--采集摄像头数据--回调函数填充buffer--编码---网络传输
谢谢大家

8 个解决方案

#1


UP 来人回答啊 在线等

#2


用OpenCV会简单很多,DirectShow太底层了。

引用 楼主 huanghe1989412 的回复:
本人在网上看了很多关于directshow采集摄像头的 但是几乎都不满足我的需求
我想做一个摄像头数据实时采集,当采集到一针 就去调用一个回调函数,然后去填充一个buffer,这个buff最好是char类型的 因为我需要网络传输的,本人已经实现了视频预览 但是真心不知道怎么采集,麻烦各路高手赐教 最好能提供源代码 请不要给那些保存视频数据到本地电脑的代码 谢谢 huanghe1989412@126.com
我的基本思路是 打开摄像头--采集摄像头数据--回调函数填充buffer--编码---网络传输
谢谢大家

#3


引用 2 楼 turingo 的回复:
用OpenCV会简单很多,DirectShow太底层了。

Quote: 引用 楼主 huanghe1989412 的回复:

本人在网上看了很多关于directshow采集摄像头的 但是几乎都不满足我的需求
我想做一个摄像头数据实时采集,当采集到一针 就去调用一个回调函数,然后去填充一个buffer,这个buff最好是char类型的 因为我需要网络传输的,本人已经实现了视频预览 但是真心不知道怎么采集,麻烦各路高手赐教 最好能提供源代码 请不要给那些保存视频数据到本地电脑的代码 谢谢 huanghe1989412@126.com
我的基本思路是 打开摄像头--采集摄像头数据--回调函数填充buffer--编码---网络传输
谢谢大家


OpenCV对摄像头的采集不是很好啊 每秒采集也就十几侦

#4


引用 3 楼 huanghe1989412 的回复:
Quote: 引用 2 楼 turingo 的回复:

用OpenCV会简单很多,DirectShow太底层了。

Quote: 引用 楼主 huanghe1989412 的回复:

本人在网上看了很多关于directshow采集摄像头的 但是几乎都不满足我的需求
我想做一个摄像头数据实时采集,当采集到一针 就去调用一个回调函数,然后去填充一个buffer,这个buff最好是char类型的 因为我需要网络传输的,本人已经实现了视频预览 但是真心不知道怎么采集,麻烦各路高手赐教 最好能提供源代码 请不要给那些保存视频数据到本地电脑的代码 谢谢 huanghe1989412@126.com
我的基本思路是 打开摄像头--采集摄像头数据--回调函数填充buffer--编码---网络传输
谢谢大家


OpenCV对摄像头的采集不是很好啊 每秒采集也就十几侦


你说的视频预览思路一般都是这样走的!采集数据opencv还好吧!不是只是软件吧,
应该和前端的sensor还有配置文件这些也有关系吧!

#5


自己搞定了。。有没有人提供 怎么用h.264将拿出来的数据进行压缩 能用了马上结贴 回答的都是分奖励

#6


还有一个问题 我用STDMETHODIMP BufferCB( double dblSampleTime, BYTE * pBuffer, long lBufferSize )
这个回调函数拿到了数据 我想请问下 这个pbuffer就是图像数据吗?如果我向到另外一个地方显示 需要生成位图文件传输 还是直接传输啊、、求解释

#7


Hi  你好  我也碰到了这个问题,我要实现的功能也是这样。能分享一下吗?怎么实现的?

#8


同上,楼主求分享下解决办法啊!!我的思路也是打开摄像头--采集摄像头数据(需要解码么?都不知道采集上来的数据是什么形式的)--回调函数填充buffer(这个应该是图片填充buffer吧)--写入D3D11纹理贴图---D3D11平面或者box上播放采集到的视频

#1


UP 来人回答啊 在线等

#2


用OpenCV会简单很多,DirectShow太底层了。

引用 楼主 huanghe1989412 的回复:
本人在网上看了很多关于directshow采集摄像头的 但是几乎都不满足我的需求
我想做一个摄像头数据实时采集,当采集到一针 就去调用一个回调函数,然后去填充一个buffer,这个buff最好是char类型的 因为我需要网络传输的,本人已经实现了视频预览 但是真心不知道怎么采集,麻烦各路高手赐教 最好能提供源代码 请不要给那些保存视频数据到本地电脑的代码 谢谢 huanghe1989412@126.com
我的基本思路是 打开摄像头--采集摄像头数据--回调函数填充buffer--编码---网络传输
谢谢大家

#3


引用 2 楼 turingo 的回复:
用OpenCV会简单很多,DirectShow太底层了。

Quote: 引用 楼主 huanghe1989412 的回复:

本人在网上看了很多关于directshow采集摄像头的 但是几乎都不满足我的需求
我想做一个摄像头数据实时采集,当采集到一针 就去调用一个回调函数,然后去填充一个buffer,这个buff最好是char类型的 因为我需要网络传输的,本人已经实现了视频预览 但是真心不知道怎么采集,麻烦各路高手赐教 最好能提供源代码 请不要给那些保存视频数据到本地电脑的代码 谢谢 huanghe1989412@126.com
我的基本思路是 打开摄像头--采集摄像头数据--回调函数填充buffer--编码---网络传输
谢谢大家


OpenCV对摄像头的采集不是很好啊 每秒采集也就十几侦

#4


引用 3 楼 huanghe1989412 的回复:
Quote: 引用 2 楼 turingo 的回复:

用OpenCV会简单很多,DirectShow太底层了。

Quote: 引用 楼主 huanghe1989412 的回复:

本人在网上看了很多关于directshow采集摄像头的 但是几乎都不满足我的需求
我想做一个摄像头数据实时采集,当采集到一针 就去调用一个回调函数,然后去填充一个buffer,这个buff最好是char类型的 因为我需要网络传输的,本人已经实现了视频预览 但是真心不知道怎么采集,麻烦各路高手赐教 最好能提供源代码 请不要给那些保存视频数据到本地电脑的代码 谢谢 huanghe1989412@126.com
我的基本思路是 打开摄像头--采集摄像头数据--回调函数填充buffer--编码---网络传输
谢谢大家


OpenCV对摄像头的采集不是很好啊 每秒采集也就十几侦


你说的视频预览思路一般都是这样走的!采集数据opencv还好吧!不是只是软件吧,
应该和前端的sensor还有配置文件这些也有关系吧!

#5


自己搞定了。。有没有人提供 怎么用h.264将拿出来的数据进行压缩 能用了马上结贴 回答的都是分奖励

#6


还有一个问题 我用STDMETHODIMP BufferCB( double dblSampleTime, BYTE * pBuffer, long lBufferSize )
这个回调函数拿到了数据 我想请问下 这个pbuffer就是图像数据吗?如果我向到另外一个地方显示 需要生成位图文件传输 还是直接传输啊、、求解释

#7


Hi  你好  我也碰到了这个问题,我要实现的功能也是这样。能分享一下吗?怎么实现的?

#8


同上,楼主求分享下解决办法啊!!我的思路也是打开摄像头--采集摄像头数据(需要解码么?都不知道采集上来的数据是什么形式的)--回调函数填充buffer(这个应该是图片填充buffer吧)--写入D3D11纹理贴图---D3D11平面或者box上播放采集到的视频