- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不是严格意义上的软件开发人员,我是一名电子工程师,我主要处理硬件和微处理器上的 C,但我刚刚继承了一个 C# 项目,需要对其进行一些微调(至少我希望它是轻微的!)。我在完整和紧凑的框架上使用 C# 做了一些工作,但在 DirectShow 方面我没有经验。
我们有一台 Windows CE 6.0 设备,它运行一些用于数字标牌类型产品的 C# 软件。部分显示屏可以配置为视频,目前可以毫无问题地播放存储在设备 SD 卡上的本地文件。我被要求让它与 UDP 网络流一起工作(我相信它将是 RAW MPEG4,我只是在等待最终确认)。
通过阅读本文,我知道 DirectShow 使用“过滤器”,并且有源、解码器和渲染过滤器。它们通过“引脚”连接在一起,形成一个“过滤图”。我看到 DirectShow 都是基于 COM 的,虽然我知道 COM,但我自己从来没有真正用过它。我确实拥有这个我继承的 C# 软件,所以我不是从一张白纸开始的。
我认为我需要修改的部分是:
clsid = CLSID_.FilterGraph;
riid = IID_.ICaptuGraphBuilder2;
hr = (HRESULT)PInvokes.CoCreateInstance(ref clsid, IntPtr.Zero, (uint)CLSCTX_.INPROC_SERVER, riid, out obj);
_graphBuilder = (IGraphBuilder)obj;
hr = (HRESULT)_graphBuilder.RenderFile(filePath, null);
根据 msdn.microsoft.com/en-us/library/ms834433.aspx 上的文章和各种其他来源,Windows CE 支持:
现在,我认为 Windows CE 本身不支持来自 UDP 的流式传输是否正确?如果是这样,我有几个问题:
我了解到可以创建自定义 DirectShow 过滤器。除了我的技术能力,这是否是实现我在这里想要的目标的一种选择?我找到了 http://archive.msdn.microsoft.com/dshowfilter ,但我对 C++ 不是很熟悉,而且我无法将它放入 VS2008 中来使用它。我相当精通 C 和 C#,所以我希望对于这样的事情,如果我必须的话,我应该能够摸索通过?
有没有人知道现有的组件可以满足我的要求?我们可以购买的东西?我不能花太多时间在这上面。我搜索了一些关于“Windows CE DirectShow”和“Windows CE DirectShow 源代码过滤器”的内容,但我只得到了相同的几篇文章和未答复的论坛帖子。我不确定是否什么都不存在,或者我在搜索错误的东西?
如果我自己写这篇文章,我会找到诸如 this 之类的文章,他们在 C# 而不是 C++ 中创建了过滤器。这看起来更符合我的舒适区,但我仍然不确定我到底需要做什么。我对获取 UDP 流数据的想法很好,但我不确定下一步需要做什么才能将其传输到“输出引脚”。我如何修改我们的软件以使用此自定义过滤器而不是普通过滤器?目前,我似乎无法从一个空的源过滤器开始!
如果其中一些看起来微不足道,我很抱歉,但一下子就有点太多了,我认为我只需要一点指导。如果有人能帮助我,我将不胜感激!
提前致谢
瑞克
最佳答案
关于您的问题:
是的,自定义 Direct Show 过滤器正是您所需要的。然后可以将该过滤器插入到您的过滤器图中。
我不知道有任何适用于 Windows CE 的现成产品可以做到这一点,但我也从未寻找过这样的产品,所以不要认为我缺乏知识就等于缺乏可用性。我敢打赌,如果您想以其他人的工作为基础,您将不得不找到过滤器的桌面版本,获取源代码,然后为 Windows CE 重新编译它。我知道 LEADTOOLS有大量的成像资料,因此至少值得在那里查询一下。
不幸的是,如果您自己编写,则必须使用 C++ 完成。 DirectShow 过滤器必须 有一个 COM 接口(interface)。要导出 native 接口(interface),框架必须具有 EE 托管,而 Compact Framework 则没有。其最终结果是您无法在 Compact Framework 中创建 COM 对象或 CCW,这意味着您无法在 C# 中为 Windows CE 创建 DirectShow 过滤器。
关于c# - 在 Windows CE 上接收 UDP 单播视频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8415397/
我正在用 symfony2 编写应用程序,但我遇到了视频流问题。 如果一个 Action 需要很长时间才能执行 - 例如 1 分钟,整个应用程序将被卡住(当在第二个选项卡中打开时)并且必须等待该执行结
我正在用 symfony2 编写应用程序,但我遇到了视频流问题。 如果一个 Action 需要很长时间才能执行 - 例如 1 分钟,整个应用程序将被卡住(当在第二个选项卡中打开时)并且必须等待该执行结
我正在尝试用视频流做一个应用程序,现在我只能从服务器向客户端发送一张图像。当我尝试在客户端发送不止一张图像时,我收到以下错误:“参数无效。”在 pictureBox1.Image = new Bitm
我正在使用 mediaViews 和 html5 在我们的 cakephp 网站上流式传输视频截屏。我正在为播放器使用 videojs,但遇到了一些问题: 不会在 safari/ipad/iphone
我已经安装了fluent-ffmpeg和ffmpeg-static以将流转换为HTML可复制的视频。如何使用这些软件包在客户端中显示流? 服务器端( main.js ): const { app, B
我在我的应用程序中实现了 TTS(文本转语音)功能。一切都很顺利,但现在我遇到了一个无法找到解决方案的问题。 基本上,我在激活 TTS 功能之前获得音频焦点。在实际的应用程序中,当我这样做时音乐就会停
我已经执行了开源社区链接发布的 AudioPlayer.java 示例 Audio Player Tutorial 我得到以下异常 Exception in thread "main" java.la
有什么方法可以在iOS原生App中通过URL播放无法下载或保存到本地的视频流。我想让用户观看视频,但他不能在本地下载或保存视频(通过第 3 方下载器应用程序)。 在 MPMoviePlayerCont
我正在开发用于网络吞吐量测试的点对点视频流。两个对等点之间的网络支持低比特率传输。 我使用 OpenCV 为视频流制作了简单的 python 程序。 该程序从网络摄像头抓取视频帧并将其编码为 JPEG
我正在我的应用程序中流式传输实时视频。我有一个 .m3u8 链接,它在 vlc 播放器中完美运行。但是当我在我的应用程序中播放这个流时,视频的可视化被破坏了(见截图)。有谁知道,这可能是什么原因造成的
好的。因此,有数十亿种不同的 Android 设备。我有一个视频流服务,非常适用于 iOS。我的应用程序具有实时视频功能和保存的视频剪辑播放功能(也可以流式传输到设备)。我在不同的 Android 设
我有一个屏幕共享应用程序 (WebRTC)。一个用户想与另一个用户共享他的屏幕。就像一个应用程序在用户 1 机器上运行而另一个应用程序在用户 2 机器上运行。用户 1 想要共享他的屏幕,现在如何在用户
我正在尝试提供即时转码的视频。不幸的是,这意味着寻求不起作用。我假设这是因为浏览器不知道视频有多长,因此无法正确显示搜索栏。 有谁知道是否可以对视频的时长进行硬编码? 我想到的另一个选择可能是创建我自
在将解复用的 h264 解码输出发送到 gstreamer 管道中的 autovideosink 之前,是否可以在两者之间提供一些延迟。如果是这样,任何人都可以发布示例管道来做到这一点。 我使用的管道
一直在把我的头发拉出来,这本来应该是一项快速而简单的任务。 我有一个自托管的 WCF 服务,我需要在其中实现实时视频转码,转码本身不是问题,使用 FFMpeg 到本地临时文件。 我的代码的快速示例;
我想在 C# 应用程序和浏览器之间建立视频流。 我使用 Websockets 进行通信。 视频源是网络摄像头。 我可以请求单个 PNG 帧,但速度太慢了。 websocket 服务器( Ratchet
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
是否可以在 lync 2010 或 2013 中捕获 lync session 的视频流?我已经在我们的实验室中运行了测试版。 UCMA 为 AudioVideoFlow 提供了钩子(Hook),但似
我有一个 ffmpeg 命令,它接收帧流并输出 ogg 视频。如何从另一个文件中添加音频? ffmpeg -f rawvideo -pix_fmt bgr24 -s WIDTHxHEIGHT -r 3
我正在使用全息镜头,并且我正在尝试保存具有可用世界/投影矩阵的视频流。我一直在尝试拍摄一系列照片并保存数据,但我找不到保存图像和矩阵的方法。 保存到磁盘时,没有获取照片捕获帧(包含矩阵数据)的选项,保
我是一名优秀的程序员,十分优秀!