如何在c++;还是c#还是java?RTSP?

如何在c++;还是c#还是java?RTSP?,java,java-me,streaming,jpeg,rtp,Java,Java Me,Streaming,Jpeg,Rtp,我正在构建一个服务器端html呈现浏览器,它呈现html并将JPEG发送到移动客户端。我需要弄清楚如何构建一个服务器来捕获JPEG,并在会话中将其流式传输到我将在j2me中编写的客户端。现在还不完全清楚“实时”是什么意思,但我猜您正在谈论向服务器端进程发出请求,该进程将呈现传入的URL并返回图像。我所知道的最简单的方法之一就是使用Java和。您可以使用并捕获画布,然后将其转换为所需的任何图像类型。浏览器小部件使用firefox呈现页面,因此页面看起来应该很好。我会编写一个servlet,一次提供

我正在构建一个服务器端html呈现浏览器,它呈现html并将JPEG发送到移动客户端。我需要弄清楚如何构建一个服务器来捕获JPEG,并在会话中将其流式传输到我将在j2me中编写的客户端。现在还不完全清楚“实时”是什么意思,但我猜您正在谈论向服务器端进程发出请求,该进程将呈现传入的URL并返回图像。我所知道的最简单的方法之一就是使用Java和。您可以使用并捕获画布,然后将其转换为所需的任何图像类型。浏览器小部件使用firefox呈现页面,因此页面看起来应该很好。

我会编写一个servlet,一次提供一个jpeg,以及一个midlet,每隔一段时间请求下一个jpeg。

好吧,有比普通jpeg更好的解决方案。我已经实现了这样的系统,您最好使用视频编解码器,如MPEG-2、MPEG-4 ASP、H.264等,而不是JPEG,并以p帧的形式发送更新(即前一张图像中的增量),如果有“太大”的更改(或错过的更新,或向现有流中添加的新客户端),则发送I帧

即使不使用视频编解码器,发送差异通常也是可取的。使用其他机制对差异进行编码

就如何获取要发送的缓冲区而言,您可以使用多个帧缓冲区进行渲染,并设置帧缓冲区代码,以便在进行更改时启动计时器,并且在发生更改时发送周期性更改,在自上次更改(尚未发送)发送更新(可能比第一个值的时间短)以来经过足够的时间后发送更新,还可能包括某种类型的选通,强制更新可以在某些情况下调用(例如,如果您可以从浏览器获得页面加载完成指示,您可以在Firefox中通过更改chrome等进行少量操作)

[补充]

有关其他解决方案的示例,请查看远程桌面协议和程序,如VNC、RDP(Windows远程桌面)等,这正是他们正在做的事情,同样还有更高级的压缩和损坏区域跟踪


对于帧缓冲区,您可以使用标准的linux/etc帧缓冲区代码(可能是最简单的),甚至可以使用XVFB之类的代码(与原始帧缓冲区相比,XVFB可以让您获得更多关于事物发生变化的内容和原因的信息)。

这不会太低效吗?这就是为什么我要使用RTSP,一些jpeg压缩可能会减少服务器上的负载,但http是所有j2me手机支持的唯一协议。