基于jsmpeg实现网页无插件播放h264/h265实时视频

基于jsmpeg实现网页无插件播放h264/h265实时视频
视频源为基于rtsp的海康IPC(h265编码)

环境:centos 7.6.1810 内核: 3.10.0-957.el7.x86_64

  1. 下载并安装ffmpeg
    wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
    此处采用了ffmpeg 5.0

  2. 下载并安装nodejs

wget https://nodejs.org/dist/v16.14.0/node-v16.14.0-linux-x64.tar.xz
此处 nodejs采用了16.14.0版本, npm采用了8.3.1版本
较低的nodejs和npm版本可能无正常工作

  1. 获取jsmpeg

wget https://github.com/phoboslab/jsmpeg/archive/refs/heads/master.zip

  1. npm install ws -g
  2. npm install http-server -g
  3. export NODE_PATH=/opt/node/lib/node_modules
  4. node websocket-relay.js passwd 8081 8082
    从ffmpeg进程获取码流并通过websocket推送给web浏览器
  5. ffmpeg -i "rtsp://admin:[email protected]:554/Streaming/Channels/101" -r 30 -q 0 -f mpegts -codec:v mpeg1video -s 1366x768 http://127.0.0.1:8081/123456
    从海康摄像机拉流并推送给websocket-relay代理
  6. http-server
    web容器
    10 http://127.0.0.1:8080/view-stream.html
    web浏览器运行jsmpeg,对视频流进行h265解码,渲染

你可能感兴趣的:(基于jsmpeg实现网页无插件播放h264/h265实时视频)