• HoloLens 资讯
  • HoloLens中国社区放大招了-首款针对HoloLens平台的3D视频播放器开源应用 VR for VLC v1.1 正式发布

微软Build 2017开发者大会期间,大洋彼岸的Microsoft HoloLens中国社区放出了首款针对HoloLens的开源应用 VR for VLC ,此应用由社区活跃份子 祥哥亲自主刀开发,通过过此应用可以在HoloLens设备上看3D格式的视频,那效果杠杠的,目前根据测试者反馈比VR盒子看3D视频体验更好。此外, VR for VLC 也将是首款HoloLens设备上3D视频播放app。此应用正在微软商店审核中,稍后即可直接在HoloLens设备上通过Store直接下载此应用了。

VR for VLC 是基于著名的开源播放器项目VLC而开发的,根据HoloLens的设备特性开发出了VR播放模式,支持播放3D左右格式的视频,此应用同时也继承了VLC播放器所有的音乐视频播放的完整功能。

VR模式下的手势操作技巧:

  • 播放/暂停: Tap 点击手势
  • 快进: Hold 捏住释放手势,根据 Hold 捏住时间长度控制快进,hold 住1秒快进100秒
  • 退出: DoubleTap 双击手势
  • 2D 模式下的播放进度同步到VR模式下: 你可以在2D模式下拖动播放进度再切换到VR模式

VR for VLC 播放器的VR模式主要开发技术点:

  1. 应用中 2D/3D 视图模式互相切换
  2. VR模式下将不同的图像画面分别渲染呈现到左右两个镜片中
  3. 将3D左右格式视频的左右两部分分别渲染到不同的模型上
  4. 通过SharpDX库实现视频播放控制引擎
  5. HoloLens的 Spatial Gesture 空间手势识别解析

欲想体验的可以通过以下两种途径获取:

  1. VR for VLC 项目代码仓库:https://github.com/mshololens/VR-for-VLC,自行编译
  2. 在Hololens上在Store里搜索 VR for VLC 下载安装

开源应用是要社区的力量,欢迎各位开发者们一起贡献代码完善应用,群策群力实现你们更多的想法。

    谈下这项目的由来,起初拿到手HoloLens的时候除了体验其中的各种MR 应用,另外一个就是想VR盒子最常用的功能--看3D视频,用HoloLens尝试半天,找了很多播放器发现没有这样的应用,我一想这不是高大上的HoloLens应用有的呀,MR设备应该可以完成VR设备的所有功能才对。

    之后很长时间内都在琢磨3D视频怎么能在HoloLens里播放出3D的效果呢,其它经历以下步骤:

    1. 多种格式(特别是mp4、mkv)视频解码播放的问题,首先想到的就是研究ffmpeg这个开源项目,可以基于这个项目做进一步的开发。
    2. 研究C# DirectX开发技术,其中发现万能的微软在DirectX库里已经有了视频解码的功能,并且还有个SharpDX C# 库
    3. 在研究ffmpeg项目的过程中了解到了VLC播放器这个开源项目,也拿来研究了一通
    4. 开始开发,先是考虑自己完全开发,但在完善文件浏览的过程中发现工作量太多,并且dlna设备上的文件访问在UWP里一直搞不定
    5. 考虑在VLC上做二次开发,把3D视频播放特性集成进去,解决掉手势操作、2D/3D 视图切换等一系列问题后终于搞定

    这就是一个为了看3D小电影的攻城狮的故事,哈哈。。。

      1 个月 后
      1 个月 后

      您好,我希望VLC集成到我的Unity3D应用中,有提供可使用的API或者DLL吗


      祥哥 您好,我希望将VLC的播放功能集成在我的Unity3D项目中,可是在直机上运行时DllNotFound错误,请问有什么办法可以解决呢?


      祥哥 我使用的是vlc-2.2.6的win32 dll

      Dart

      API 还是挺多的,如果你要把它要集成到你的Unity应用里,那强烈建议看下 VLC UWP项目 的源码,看看它是如何调用vlc 的dll库的


      Dart

      真机上运行应该是没有把它打包的应用里,你要在Unity build后 在vs里看有没有没有的话要加到vs的项目里

      祥哥 谢谢您的回复,我尝试过将vlc的dll和plugins一起放到 工程目录、Appx/Release 和两个目录下,运行时还是提示DllNotFound,按照您的建议我先看一下VLC UWP项目的源码
      谢谢。

        Dart 放到 Appx/Release 是没有用的,也不是简单的放到工程目录,放哪个目录都不要紧,只要你在vs 项目里添加现有文件到项目(VS项目上右键添加->添加现有项),这样编译的时候才会一起打包进去

          祥哥 OK 我试一下您说的方法。
          我在尝试编译 VLC-WinRT。
          我是菜鸟,所有问到一些问题,慢慢在解决。
          谢谢您的回复。

            2 个月 后
            1 个月 后
            6 年 后
            非常感谢你的工作成果,请问,能不能把那个VLClib for Hololens2 on arm64单独编译出来,提供下载链接,供大家下载应用呢?这样会更方便大家使用,目前我项目就需要使用这个库在Hololens2上开发其他视频应用。
              说点什么...
              鄂ICP备16012034号-1