Intro: haikuntech.com
文章原创:www.haikuntech.com 本软件是真正的【帧同步】播放视频的软件。视频的每一帧都同步的,没有任何误差。 本软件的视频同步播放通信协议基于TCP协议。主屏为服务器端,副屏为客户端,在副屏登记主屏的IP地址和端口。副屏主动连接主屏,如果连接断开则无限次重连。在主屏维护一个状态数组,实时记录所有的副屏的状态,每个连接使用一个线程维护。 这是软件的演示视频:https://www.bilibili.com/video/BV1JQ4y197vy/ 本软件可以用在多个LED屏需要帧同步视频的项目上。比如四个LED屏幕,用四台主机。现在很多LED项目都用我这个软件,他们之前用的软件都是假同步,很多都是发送指令一起放,视频循环几次就不同步了。如果你有需要,我可以远程视频演示给你看。 一个视频的播放通常经过分离器->解码器->渲染器,我们在渲染器中对视频帧进行缓存,并把缓存帧的时间戳实时同步到服务器。服务器决定渲染某一帧时,同时向多个主机发送渲染某缓存帧指令。如果要播放的视频是30帧每秒,那么服务器将每秒向所有主机发送30次渲染缓存帧指令。 缓存在内存中的视频帧要呈现到屏幕上需要先将数据复制到显存,由于分辨率通常很高这个复制也需要耗时,好在现在的显卡显存都很高,为了更精确我们可以把视频帧直接缓存在显存中。这样保证了在收到渲染指令后能无延时地渲染。
在一些四折幕的项目中,整个CAVE空间比较大。设置最佳观看点时,可以有较大的距离,比如可以退后3-5米。这样的观看距离适合多人参观,所有参观者都会有不错的观感。 下面这个视频是一个典型的案例,播放的片源就是一个普通片源,视频如图所示: 使用四折幕融合软件直接播放片源,片源不需要做处理;四折幕融合软件透视模块:
拍这个视频和写这个文章的目的是为了说明我的软件的一项功能。 【软件件可以自定义视频的某一区域在指定位置进行播放。】 视频链接:https://www.bilibili.com/video/BV1Tz4y127LX/ 此类型的裸眼3D制作主旨: 【在哪个位置观看视频,就把摄像机架在哪个位置拍摄或渲染。】 我选定了一个位置放置了手机用来拍摄桌面上放的鱼缸,手机的位置就固定在这里了,后期也就在这个位置观看效果是最好的,其他位置都是不行的。 我拍摄了一段鱼缸的视频,在拍摄的时候为了有较好的空间感,在上面放置了一些花瓣同时往鱼缸里面到了水,这样做的目的都是为了有较好的空间立体感。 最终拍摄好的视频是这样的: 最后是如何把这样的视频在屏幕上播放,我这里是用的就是一开头说的我的软件的一个功能:自定义视频的某一个区域在指定位置播放。在软件里面设置4个顶点就可以指定一个矩形区域,让这个矩形区域在指定播放。 也可以用普通播放器播放,效果是一样的,3D效果的呈现是视频内容决定的,和用什么软件播放没有关系。