[原创.数据可视化系列之十五]把实时视频贴到cesium上

      把视频文件贴到cesium上是很容易的事情,只要去看看https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/index.html?src=Video.html&label=Showcases 这个例子就知道如何处理,这个例子中用了当前域的视频文件作为材质,效果也不错。

      但是实际的需求中,比如视频监控中,可能需要把海康或者大华的实时监视的视频叠加进来,这个过程会涉及处理两个问题:

        1:如何让海康或者大华视频在浏览器firefox或者chrome上显示?

        2:显示的视频如何不跨域的叠加到cesium上。

        第一个问题中,由于chrome浏览器中的video标签并不能直接支持海康大华,需要在服务器做流转发处理,本例使用vlc进行转发,用法如下:

            "C:/Program Files/VideoLAN/VLC/vlc.exe" -I dummy -vvv "rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=1" --sout="#transcode{vcodec=theo,vb=800,acodec=vorb,ab=128,channels=2,width=1024,height=450,samplerate=441000}:http{mux=ogg,dst=:8080/cam}" --sout-all --sout-keep

        之后的视频可以直接使用

浏览在线视频,但是这个视频文件并不能直接贴到cesium上。因为vlc的8080端口并不是应用程序发布端口。

2:如何把解决跨越问题?

使用应用服务器比如tomcat ,java 等等发布流媒体,这个没有找到合适的解决方案。

使用代理服务器,反向代理到同一个域下边,经过多次测试,这个方案可行:nginx的conf配置如下:


[原创.数据可视化系列之十五]把实时视频贴到cesium上_第1张图片

最终的测试结果如下:上图是贴图视频,下图是原始视频。


你可能感兴趣的:([原创.数据可视化系列之十五]把实时视频贴到cesium上)