zoukankan      html  css  js  c++  java
  • m3u8编码视频webgl、threejs渲染视频纹理demo

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset=utf-8 />
    <title>fz-live</title>
      <link href="./css/video.css" rel="stylesheet">
      <script src="./js/video.js"></script>
      <script src="./js/videojs-live.js"></script>
      <script src="./js/three.min.js"></script>
    </head>
    <body>
      <video id="my_video_1" autoplay=true class="video-js vjs-default-skin"  preload="auto" width="300" height="200" 
      data-setup='{}'>
        <source src="./src/z.m3u8" type="application/x-mpegURL">
      </video>
      
      <script>
                var scene = new THREE.Scene();
                var camera = new THREE.PerspectiveCamera( 75, 1, 0.1, 1000 );
    
                var renderer = new THREE.WebGLRenderer();
                renderer.setSize( 400, 400);
                document.body.appendChild( renderer.domElement );
    
                var geometry = new THREE.PlaneGeometry( 10, 10 );
    
                var video = document.getElementById( 'my_video_1' );
    
                var texture = new THREE.VideoTexture( video );
                texture.minFilter = THREE.LinearFilter;
                texture.magFilter = THREE.LinearFilter;
                texture.format = THREE.RGBFormat;
                var material =  new THREE.MeshBasicMaterial( { color: 0xffffff, map: texture,  side: THREE.DoubleSide } );
                var plane = new THREE.Mesh( geometry, material );
                scene.add( plane );
    
                camera.position.z = 10;
    
                var animate = function () {
                    requestAnimationFrame( animate );
                    renderer.render(scene, camera);
                };
    
                animate();
      </script>
      
    </body>
    </html>

    效果:

    引用资源:

    https://github.com/huangyaoxin/hLive

    https://threejs.org/docs/index.html#manual/introduction/Creating-a-scene

    https://threejs.org/docs/index.html#api/geometries/PlaneGeometry

  • 相关阅读:
    Android之遍历SD卡所有文件显示在ListView
    Android之ViewPager
    控制ViewPager的切换速度
    Android中显示sd卡的图片和视频
    java中主线程等待所有子线程结束
    Android之ViewFlipper实现图片切换
    Android闹钟服务详解
    Gradle基本操作入手
    设计模式
    【CSON原创】 基于HTML5的小球物理测试系统
  • 原文地址:https://www.cnblogs.com/shenwenkai/p/7065053.html
Copyright © 2011-2022 走看看