最近在搞在线UDP视频传输,在客户端抓图,压缩后生成数据存储在
FrameBuf:array [0..704*576*3 ] of Byte; 这样的一个数组中
再通过 IdUDPClient1.SendBuffer(FrameBuf,Ret); 将数据发送到服务端,现在我想怎么样才能在服务端得到的TStream中转换成 FrameBuf并进行解压。或者谁有最简单的点对点视频,包括采集,压缩,解压,显示,要求100K的网络中不卡的视频100R收
FrameBuf:array [0..704*576*3 ] of Byte; 这样的一个数组中
再通过 IdUDPClient1.SendBuffer(FrameBuf,Ret); 将数据发送到服务端,现在我想怎么样才能在服务端得到的TStream中转换成 FrameBuf并进行解压。或者谁有最简单的点对点视频,包括采集,压缩,解压,显示,要求100K的网络中不卡的视频100R收
每个UDP包不要超过1024字节。你先创建一个缓冲区,行将生成的数据放在这个缓冲区,然后循环每次发送 1024 字节。在每个数据包前添加包序号,
接收时按顺序处理。
要提高速度,一个是网络,在就是对源数据进行压缩处理。
至于怎么压缩那就不知道了,这可以每个搞视频语音传输聊天的核心技术。
type
PFrameBuf = ^TFrameBuf;
TFrameBuf = array [0..704*576*3 ] of Byte; PFrameBuf(stream.Memory)[0]
stream.Position := 0;
stream.read(buffer[0],size);