如何解码/处理作为Char[]数组通过TCP接收的视频?

如何解码/处理作为Char[]数组通过TCP接收的视频?,tcp,video-streaming,Tcp,Video Streaming,简单地说,我得到了一个对应于编码视频帧的字符数组,我不知道如何处理它 我的意思是如何解码和检索图像,因为据我所知,视频过滤器不接受char[] 我一直在使用DirectShow,但任何库或任何编程语言都将被接受,只要您向我保证我能够做到这一点 昨天已经问过这个问题了,但由于没有人回答,我重新制定了这个问题,以防万一,希望它不违反规则:S 我的英语可能不好,请不要评判 提前感谢。您使用什么协议发送帧?TCP本身不能发送或接收视频帧-除了字节流之外,它没有任何概念。我不使用任何协议,因为它的视频只能

简单地说,我得到了一个对应于编码视频帧的字符数组,我不知道如何处理它

我的意思是如何解码和检索图像,因为据我所知,视频过滤器不接受char[]

我一直在使用DirectShow,但任何库或任何编程语言都将被接受,只要您向我保证我能够做到这一点

昨天已经问过这个问题了,但由于没有人回答,我重新制定了这个问题,以防万一,希望它不违反规则:S

我的英语可能不好,请不要评判


提前感谢。

您使用什么协议发送帧?TCP本身不能发送或接收视频帧-除了字节流之外,它没有任何概念。我不使用任何协议,因为它的视频只能由一个人观看。我认为像rtmp这样的任何协议都是不必要的开销。它只是一个编码器的输出,我通过tcp逐帧发送。首先,数据只是传输线下的比特,所以你需要从tcp流中读取适当的数据量,可能我们正在谈论一些有头的视频格式,你需要某种方法来识别视频格式类型,等待,直到您拥有完整的标头数据或足够确定需要接收多少数据。等到你得到所有的数据,然后你就把数据读入适当的结构中,不管它是char[]还是我说的任何东西,都是无关紧要的。@EdChum我已经完成了等待完整数据头的部分。关于识别视频格式类型,它将始终是H264,因为它是我更喜欢使用的格式,所以我不需要确定它。然而,正如您最后指出的,我无法读取适当结构中的数据,在我的情况下,这将是一个“IMediaSample”变量,但一个家伙在这里告诉我,这是不可能的,所以我不知道如何解决这个问题。@Martin看到这篇类似的帖子,我可以从第一手经验告诉您,编写directshow过滤器并没有多大乐趣,你可能想看看媒体基础,这是Vista的新方法,它还支持硬件加速编码和解码。基本上DirectShow应该跨网络工作,但需要编写自定义过滤器的大量工作,媒体基础可能更容易。