草庐IT

windows - 在 .NET 上使用 H.264 编码网络摄像头帧

我想做的是以下过程:从网络摄像头获取帧。使用H264编码器对其进行编码。使用我自己的“协议(protocol)”创建一个包含该帧的数据包,以通过UDP发送它。接收并解码...这将是一个直播。好吧,我只需要第二步的帮助。我正在使用AForge框架检索相机图像。我不想将帧写入文件然后对其进行解码,我想那会很慢。我想在内存中处理编码帧,然后创建要发送的数据包。我需要使用开源编码器。已按照此示例尝试使用x264HowdoesoneencodeaseriesofimagesintoH264usingthex264CAPI?但它似乎只适用于Linux,或者至少我在尝试使用VisualC++2010

windows - 如何让自定义视频媒体/流接收器在媒体基础中请求 RGB32 帧?

我正在尝试为OpenGL应用程序中的视频播放制作自定义媒体接收器(没有各种WGL_NV_DX_INTEROP,因为我不确定我的所有目标设备是否都支持它)。到目前为止,我所做的是编写一个接受RGB32样本的自定义流接收器,并使用媒体session设置播放,但是我在播放mp4文件的初始测试中遇到了问题:生成的拓扑中的一个(或多个)MFT不断失败,错误代码为MF_E_TRANSFORM_NEED_MORE_INPUT,因此我的流接收器从未接收到样本请求了几个样本后,媒体session收到事件MF_E_ATTRIBUTENOTFOUND,但我仍然不知道它来自哪里但是,如果我将流接收器配置为接收

c - OpenGL 默认帧缓冲区内容在最小化/恢复周期后消失了吗?

此程序每帧绘制一个点,直到屏幕上布满点为止。#include#includeintSCREEN_WIDTH=500,SCREEN_HEIGHT=500;intmain(intargc,char**argv){SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION,3);SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION,3);SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK,SDL_GL_CONTEXT_PROFILE_CORE);SDL_GL_SetA

【数通网络交换基础梳理1】二层交换机、以太网帧、MAC地址数据帧转发原理详解

一、网络模型万年不变,先从模型结构分析,现在大家熟知的网络模型有两种。第一种是,OSI七层模型,第二种是TCP/IP模型。在实际运用中,参考更多的是TCP/IP模型。OSI七层模型TCP/IP模型不需要全部理解,只需要明白两点:1、数据包发送数据的过程是从上到下打包,接收数据是从下至上拆包。2、在二层数据链路层我们的数据已经被层层封装为以太网帧结构。现在有了下一个问题,以太网帧结构是什么?二、以太网帧结构以太网帧结构里有:DMAC、SMAC、Type、用户数据、FSC帧校验序列,我们挨个解释一下:DMAC:目的MAC地址,被访问的MAC地址;SMAC:源MAC地址,发起方的MAC地址;Type

c++ - 有选择地忽略串行端口上的帧错误

出于遗留原因,我需要让我的程序能够与可用规范有限的第三方设备通信。这本身并不是真正的问题,我有一些代码可以在它忽略所有串行错误时与它对话。虽然我希望它不要忽略错误——但问题是从设备接收到的每条消息都会在第一个字节上产生一个帧错误(由于制造商的一些奇怪的设计决定)。当设备发送响应时,它似乎在线路上断言一个空格6位时间,然后是一个标记2位时间,然后进入正常帧(1个空格起始位,8个数据位,2个标记停止位)。或者换句话说:传输的第一个字节似乎使用5位帧,而每个后续字节都使用8位帧;或者第一个字节实际上是一个非常短的中断条件。(除了这个怪癖,消息格式设计得相当好并且明确。)我假设这是作为某种中断

windows - 从 Windows 批处理文件中的多个视频文件中提取帧?

因此,我尝试在Windows批处理文件中使用几行代码来从MP4文件中提取帧。ffmpeg-i"filename.mp4""frames/out-%%06d.jpg"仅处理一个文件。ffmpeg-i"*.mp4""frames/out-%%06d.jpg"根本不起作用。如何让它与多个输入文件兼容? 最佳答案 这是一个可能的解决方案:for%%Ain("*.mp4")doffmpeg-i"%%A""frames\%%~nA_out-%%06d.jpg"注意:您的示例不好,因为它会不断替换文件out-%%06d.jpg!%%~nA是正在处

c++ - 如果 EBP 帧指针为 NULL,堆栈是否已损坏?

我对堆栈跟踪的理解基本上是基于Whatisexactlythebasepointerandstackpointer?Towhatdotheypoint?.多年来我一直在帮助开发的一个程序在崩溃时会吐出一个堆栈转储,我已经习惯于根据C++编译器生成的.map文件来评估这些堆栈跟踪。很多次,我都成功地遍历了堆栈并调试了问题。但是,有时堆栈跟踪有一个NULLEBP(帧)指针。以下是此类示例堆栈转储中的相关片段:InitialEBPpointervalue:04d8fab0{ataddress04d8fab0:00000000}可以看到,EBP帧指针的值为NULL。因此,我不能走堆栈。这是堆栈

windows - 在 Windows 中修改帧缓冲区

有没有办法在绘制之前修改帧缓冲区?假设我想在任何桌面应用程序的整个屏幕中将红色值设置为零。1)捕获绘图事件并获取帧缓冲区2)获取每个像素并将R=0设置为RGB值(使用GPU语言以避免GPU->CPU内存传输)3)绘制修改后的帧缓冲区 最佳答案 哈,我找到了你可能正在寻找的东西:直接内核对象操作它是一个WindowsAPI,可以编写这样的过滤器驱动程序,您正在寻找。他们可以授予您对内核内存的完全访问权限并让您修改它。到目前为止,您可以Hook文件系统和位置,因为内核内存本身和较低级别的网络管理,甚至可以使操作系统本身崩溃,我敢打赌您可

windows - FFMPEG 输出帧名称问题

我要将DPX文件序列转换为JPG序列。ffmpeg-iF:\test\my_files.%07d.dpxF:\test2\my_files.%07d.jpg-reportDPX文件从零帧开始(例如:my_files.0000000.dpx),但ffmpeg转换后的JPG文件的名称从第一帧开始(例如:my_files.0000001.jpg)。如何从零帧开始获取JPG文件的名称? 最佳答案 使用ffmpeg-iF:\test\my_files.%07d.dpx-start_number0F:\test2\my_files.%07d.j

c# - 在 Windows (xp) 中使用 C# 或 C 的以太网帧或 MAC 广播

阅读后:HowsendrawethernetpacketwithC#?我还有问题:是否可以使用C#或C在第2层进行广播或发送您自己的以太网帧,而无需安装winpcap或/和操作已安装的驱动程序?至于广播,我可以使用arp-a命令运行一个进程并解析它的输出,也许它会起作用。但以太网数据包仍然存在问题。 最佳答案 你不能......至少不能像你问的那样直接。Windows不提供直接访问第2层的API。为此,您需要编写NDIS协议(protocol)驱动程序。如果您有兴趣承担这项任务,请从这里开始:http://msdn.microsof