各位小伙伴,最近有同学私信我,问我有没有JAVA版远程桌面H265硬件加速推送画面的源码,这玩意儿我实在是没有,网上找了几个文章发现90%以上都存在错误,算了,稍微花点时间整理下吧
不了解情况的小伙伴可以先查看我几年前发布的一篇文章,下面的内容都会以这篇文章为基础,进行拓展:
https://blog.youkuaiyun.com/wsj598949112/article/details/122331803?spm=1001.2014.3001.5501
今年是2025年了,JAVA版本肯定得使用JAVA25,Eclipse版本用2025-06或以上的版本都可以,openjfk跟随jdk使用25版的
1 资源下载
老规矩,先展示资源下载链接:
https://pan.baidu.com/share/init?surl=os7ZIqvewosnooeWHRSpYQ?pwd=8888

这2个是客户端和服务端的源码,其他是可能需要用到的资源
2 NGINX TRMP服务器部署
我选择在我的玩客云3 PRO ARM盒子上面部署这个服务,盒子功耗只有3W,常年运行也不耗电,你可以选择任意服务器编译部署它

关于这个盒子的情况可以参考我在恩山论坛的两篇文章:
https://www.right.com.cn/forum/thread-8360130-1-1.html
https://www.right.com.cn/forum/thread-8403010-1-1.html
编译前先给盒子安装需要的依赖


配置:
rtmp {
server {
listen 1935;
chunk_size 8192;
ping 1s;
ping_timeout 30s;
application live {
live on;
hls on;
hls_path /home/tmp/live;
hls_fragment 5s;
hls_playlist_length 10s;
hls_continuous on;
hls_cleanup on;
hls_nested on;
record off;
interleave on;
}
}
}
3 启动服务端和客户端进行测试
下载完源码后,记得修改客户端和服务端的rtmp服务器地址

运行main方法就可以
注意:这不是官方springboot,而是自己简单实现的极度精简版springboot,只简单实现了需要的注解功能而已,具体实现过程查看我在恩山论坛的第二篇文章

先运行服务端,然后运行客户端
注意:我的服务端桌面是1080P的显示屏,客户端是2K的屏幕

4 性能与带宽测试
直接远程操作播放视频,查看RTMP服务器的流量

查看ARM盒子的带宽占用情况


画质为:1080P原画
日常办公操作,带宽为500kbps到5mbps之间,播放视频峰值可以达到10mbps
画面平均延迟为30ms,连续一小时最大抖动为100ms左右
RTMP服务器的CPU占用为1-2%,内存占用为20MB
服务端CPU占用为:2-3%,GPU占用为:15%左右
编解码性能不错,这次的HEVC方案终于是圆满了,有不明白的可以先看我之前的文章,我继续板砖了,各位同学继续努力!

被折叠的 条评论
为什么被折叠?



