JAVA远程桌面 HEVC H.265 NGINX RTMP方案 延迟30毫秒

各位小伙伴,最近有同学私信我,问我有没有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方案终于是圆满了,有不明白的可以先看我之前的文章,我继续板砖了,各位同学继续努力!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值