A higher-level react component to play h265 video
Install via npm. Use --save to include it in your package.json.
npm install react-h265-wasm-playerStart by importing/requiring react-h265-wasm-player within your react code.
import ReactH265Player from 'react-h265-wasm-player';
import React, { useState }  from 'react';
import ReactH265Player from './ReactH265Player'
function App() {
  const [playerRef, setPlayerRef] = useState(null);
  return (
    <div className="App">
      <header className="App-header">
        <ReactH265Player 
          width="500" height="500"
          url="h265_high.mp4"
          bufferSize={512 * 1024}
          isStream={false}
          errorHandler={e => {
            console.log("play error " + e.error + " status " + e.status + ".");
            if (e.error === 1) {
              // finish
            }
          }}
          passRef={ref => setPlayerRef(ref)} />
          <div>
            <button onClick={() => {
              playerRef.resume();
            }}>play</button>
            <button onClick={() => {
              playerRef.pause();
            }}>pause</button>
            <button onClick={() => {
              playerRef.stop()
            }}>stop</button>
          </div>
      </header>
    </div>
  );
}
export default App;Because decode job is distributed in JS worker, for better performance You need to add these to your html container.
<script type="text/javascript" src="assets/common.js"></script>
<script type="text/javascript" src="assets/pcm-player.js"></script>
<script type="text/javascript" src="assets/webgl.js"></script>
<script type="text/javascript" src="assets/player.js"></script>
- Add vendor prefixes
 - Find a good way for wasm loading
 
Feel free to contribute. Submit a Pull Request or open an issue for further discussion.
MIT © [tcper][tcper]