当前位置: 首页 > backend >正文

⭐Unity_Demolition Media Hap (播放Hap格式视频 超16K大分辨率视频 流畅播放以及帧同步解决方案)

播放大分辨率视频以及实现局域网视频同步是许多开发者会遇到的需求,AVPro有一个 Ultra Edition版本,也能播放Hap格式视频,之外就是Demolition Media Hap插件啦,实测即使是 7208*3808 大分辨率的视频帧率还是能稳定在30帧,它能帮助我们轻松解决这些问题😎。

一、插件概述

Demolition Media Hap Pro Sync Windows是一款网络同步、业界认可的GPU加速Hap视频编解码器播放解决方案,专为Unity设计。它非常适合大型媒体安装、显示墙、投影以及沉浸式体验等场景。

(一)特点

  1. 硬件加速:无需安装任何外部编解码器,即可实现硬件加速的Hap视频播放,支持所有Hap风格,包括Hap、Hap Q、Hap Alpha、Hap Q Alpha、Hap R等。
  2. 低CPU使用率:视频帧大多在GPU上解压缩,有效降低CPU的负担,让你的项目运行更加流畅。
  3. 高分辨率支持:能够播放4k @ 120 fps、8k @ 60 fps或10k @ 60fps的视频(在支持的硬件上),甚至可以一次播放大量小视频,同时还具备极快的帧精确搜索功能。
  4. 网络同步:使用UDP网络在多台机器之间同步播放视频,实现局域网内的视频同步。
  5. 多种控制方式:支持使用Unity Timeline控制播放,也可以使用自己的时钟源控制视频播放,还能手动指定当前视频帧索引。
  6. 音频支持:支持多声道5.1/7.1音频,通过Unity Native Audio插件(无需网络同步)和AudioSource(通过网络同步,支持多声道音频)输出音频。
  7. 透明视频:支持使用Hap Alpha、Hap Q Alpha和Hap R编解码器的透明视频,是第一个在Unity中支持Hap Q Alpha/Hap R/HAP HDR的插件。
  8. 多线程解码:Chunked Hap支持更快的多线程解码,提高解码效率。
  9. 内存管理:可以将视频预加载到内存中,以应对SSD速度不够快的情况,并且支持可配置的RAM/GPU内存使用情况。
  10. 适合开发者和艺术家:提供C# API以及IMGUI/uGUI/Render to Material包装器,方便程序员进行开发,同时也适合艺术家进行操作。
  11. 示例场景:包含具有典型使用场景的示例场景(包括360/VR),方便用户快速上手。

(二)适用版本

该插件要求Unity版本为2019 - 2023(2022.3.12f1及更新版本,带有用于GDeflate GPU解压缩的DirectX12图形API),操作系统为Windows 8.1/10/11。

二、插件安装

(一)购买插件

你可以在Unity Asset Store上购买Demolition Media Hap Pro Sync Windows插件,价格为$850。购买后,将插件导入到你的Unity项目中。

(二)下载示例视频

导入插件后,打开示例场景可能会报错,这是因为没有下载官方案例所需要的示例视频。你需要下载示例视频,并将其放入对应目录,这样就可以正常运行示例场景了。

三、在Unity中播放大分辨率视频

(一)准备视频文件

在Unity中播放超4K视频,我们只能使用HAP编解码器的Mov格式视频。你可以使用以下方法将视频转换为Hap格式:

  1. 使用ffmpeg导出Hap格式
    • 对于HAP电影,使用命令:ffmpeg -i yourSourceFile.mov -c:v hap outputName.mov
    • 对于HAP Alpha影片,使用命令:ffmpeg -i yourSourceFile.mov -c:v hap -format hap_alpha outputName.mov
    • 对于HAP Q电影,使用命令:ffmpeg -i yourSourceFile.mov -c:v hap -format hap_q outputName.mov
    • 此外,还可以指定一些可选标记,例如:
      • -chunks N(默认为1;N为1 - 64之间的数字,但不超过播放系统的CPU核心数),如ffmpeg -i yourSourceFile.mov -c:v hap -format hap_q -chunks 4 outputName.mov
      • -compressor snappy-compressor none(默认为snappy;设置为none时可能会略微降低CPU使用率,但文件大小要大得多,且文件比特率是固定的),如ffmpeg -i yourSourceFile.mov -c:v hap -compressor none outputName.mov
  2. 使用AE导出:可以使用Adobe After Effects导出Hap格式的视频。
  3. 使用其他导出工具:也可以使用其他支持导出Hap格式的工具进行转换。

(二)在Unity中使用插件播放视频

  1. 创建Media对象:在Unity中,你可以通过代码创建一个Media对象来管理视频的播放。例如:
using DemolitionStudios.DemolitionMedia;// 创建Media对象
Media media = new Media();
  1. 加载视频文件:使用Load方法加载转换好的Hap格式视频文件。
// 加载视频文件
media.Load("path/to/your/video.mov");
  1. 播放视频:调用Play方法开始播放视频。
// 播放视频 
media.Play();
  1. 控制视频播放:你可以使用插件提供的各种方法来控制视频的播放,例如暂停、停止、快进、调整播放速度等。
// 暂停视频
media.Pause();// 停止视频
media.Stop();// 调整播放速度
media.PlaybackSpeed = 2.0f; // 两倍速播放

四、局域网播放视频同步

(一)设置网络同步

Demolition Media Hap Pro Sync Windows插件支持使用UDP网络在多台机器之间同步播放视频。要实现局域网视频同步,你需要进行以下设置:

  1. 配置网络参数:在Unity中,你可以通过代码配置网络参数,例如设置服务器地址、端口号等。
using DemolitionStudios.DemolitionMedia;// 创建Sync对象
Sync sync = new Sync();// 设置服务器地址和端口号
sync.ServerAddress = "192.168.1.100"; // 服务器IP地址
sync.ServerPort = 12345; // 服务器端口号
  1. 启动同步:调用Start方法启动网络同步。
// 启动同步 
sync.Start();

(二)同步播放视频

在多台机器上运行Unity项目,并确保它们在同一局域网内。在每台机器上,按照上述步骤创建Media对象并加载视频文件。当服务器启动同步后,所有客户端机器上的视频将同步播放。

五、注意事项

  1. 硬件要求:为了获得最佳的播放效果,建议使用支持高分辨率视频播放的硬件设备,例如高性能的GPU和CPU。
  2. 网络稳定性:在进行局域网视频同步时,网络稳定性非常重要。确保局域网内的网络连接稳定,避免出现丢包、延迟等问题。
  3. 视频格式:只能使用HAP编解码器的Mov格式视频,确保视频文件的格式正确。
  4. 插件版本:确保使用的插件版本与Unity版本兼容,避免出现兼容性问题。

六、总结

Demolition Media Hap Pro Sync Windows插件为Unity开发者提供了一个强大的解决方案,能够轻松实现大分辨率视频的播放和局域网视频同步。通过本文的介绍,相信你已经对该插件的使用有了更深入的了解。希望你在开发过程中能够充分发挥该插件的优势,创造出更加精彩的项目🎉

 

感谢大家的观看,您的点赞和关注是我最大的动力

不定时更新知识点和干货呦~

http://www.xdnf.cn/news/2057.html

相关文章:

  • C++23 新特性深度落地与最佳实践
  • 迁移学习(基础)
  • AOP与IOC的详细讲解
  • Linux上安装Mysql、Redis、Nginx
  • 常用SQL整理
  • kvm网卡发现的采集信息脚本COLT_CMDB_KVM_NETDISC.sh
  • 云服务器和独立服务器的区别在哪
  • 线程池总结
  • 东南亚与中东小游戏市场出海调研报告
  • Properties配置文件
  • Spring Boot 中使用 Feign 调用内网 IP 接口并记录入参与出参
  • springboot启动的端口如何终止
  • Web4.0身份革命:去中心化身份系统的全栈实现路径
  • 如何将 sNp 文件导入并绘制到 AEDT (HFSS)
  • IMX675-AAQR-C 索尼图像传感器 属于索尼 Starvis 2 系列,主打 高灵敏度、低噪声,适用于工业检测、安防监控、机器视觉等场景 提供数据手册
  • Cancer Cell|scRNA-seq + scTCR + 空间多组学整合分析,揭示CD8⁺ T细胞在免疫治疗中的“双路径” | 临床问题的组学解答
  • UR5 UR5e机器人URDF文件
  • 精华贴分享|【牛马课题】可转债多策略研究-1【基础篇】
  • Linux部署ragflow,从安装docker开始~
  • commix
  • 巧记英语四级单词 Unit5-上【晓艳老师版】
  • keil修改字体无效,修改字体为“微软雅黑”方法
  • 函数的定义与使用(python)
  • windows server安装winget
  • 【进阶】C# 泛型知识点整理归纳
  • Git命令行中vim的操作
  • 9.ArkUI List的介绍和使用
  • 云+AI双轮驱动,亚马逊云科技加速中国企业出海新浪潮
  • OCR定制识别:解锁文字识别的无限可能
  • Windows 安全设置不允许下载文件