SkillAgentSearch skills...

H265web.js

🔥 作者:常炎隆(Author: ChangYanlong):HEVC/H.265 网页直播/点播播放器 支持硬解! 支持H.265的HttpFLV/HLS/MP4/TS/FLV/M3U8/Websocket播放。 🔥 A HEVC/H.265 Web Player, Support hard-decoding! for LIVE/VOD stream. Support H.265 Codec with HttpFLV/HLS/MP4/TS/FLV/M3U8/Websocket.

Install / Use

/learn @numberwolf/H265web.js

README

h265web.js - Browser HEVC/H.265 Playback SDK

<p align="center"> <a href="README_CN.MD">中文</a> · <a href="README.MD">English</a> </p> <p align="center"> <img src="./resource/logo@300x300.png" width="180" alt="h265web.js logo" /> &nbsp;&nbsp;&nbsp; <img src="./resource/demo.png" width="300" alt="h265web.js demo preview" /> </p> <p align="center"> <a href="https://h265web.com/"><img alt="Website" src="https://img.shields.io/badge/Website-h265web.com-2563eb?style=for-the-badge&logo=googlechrome&logoColor=white"></a> <a href="https://h265web.com/player.php"><img alt="Public Demo" src="https://img.shields.io/badge/Demo-player.php-e53935?style=for-the-badge&logo=googlechrome&logoColor=white"></a> <a href="https://github.com/numberwolf/h265web.js"><img alt="GitHub" src="https://img.shields.io/badge/GitHub-numberwolf%2Fh265web.js-111827?style=for-the-badge&logo=github&logoColor=white"></a> <a href="https://h265web.com/markdown-docs/get-started.php"><img alt="Docs" src="https://img.shields.io/badge/Docs-Get%20Started-1f2937?style=for-the-badge&logo=readthedocs&logoColor=white"></a> <a href="./DOCS/README-HowToUse.MD"><img alt="Docs Local" src="https://img.shields.io/badge/Docs-Local%20How%20To%20Use-374151?style=for-the-badge&logo=gitbook&logoColor=white"></a> </p>

Built and refined continuously since 2017, h265web.js PRO delivers mature browser playback with broad feature coverage and strong performance.

It covers HEVC/H.265, AVC/H.264, AV1, live streaming, VOD, WebCodec, WASM decoding, MediaInfo, snapshot, fullscreen, seek and multi-instance playback.

Recommended media server: ZLMediaKit - a strong streaming server/framework for live and VOD delivery.

If h265web.js helps your project, giving it a GitHub star is a simple way to support the work and help more developers discover it.

Quick Links

  • GitHub: https://github.com/numberwolf/h265web.js
  • Docs (Website: How to use): https://h265web.com/markdown-docs/get-started.php
  • Docs (Local: How to use): README-HowToUse.MD
  • Website: https://h265web.com/
  • Public Demo: https://h265web.com/player.php

Contact

  • GitHub: https://github.com/numberwolf/h265web.js
  • Email: porschegt23@foxmail.com
  • QQ Group Number: 925466059 (recommended)
  • QQ: 531365872
  • Discord: numberwolf#8694
  • Wechat: numberwolf11

Demo Entry

  • Public Demo: https://h265web.com/player.php
  • Docs (Website: How to use): https://h265web.com/markdown-docs/get-started.php
  • Docs (Local: How to use): README-HowToUse.MD

Good Fit For

  • Browser playback of HEVC/H.265, AVC/H.264 and AV1
  • VOD and live playback in one SDK
  • Protocol validation for MP4 / MOV / MKV / FLV / MPEG-TS / M3U8 / HLS / HTTP-FLV / WS-FLV / HTTP-TS / WS-TS / HEVC ES
  • Browser-side player projects that need seek, playbackRate, fullscreen, snapshot, MediaInfo, multi-instance playback and multi-thread decode

Feature Matrix

| Feature | Feature | Feature | Feature | | ---- | ---- | ---- | ---- | | <img src="resource/icon-hls.png" width="100"> | <img src="resource/icon-m3u8.png" width="100"> | <img src="resource/icon-mp4.png" width="100"> | <img src="resource/icon-flv.png" width="100"> | | HLS(LIVE)| M3u8(VOD) | MP4(VOD) | FLV(VOD) | | <br> | <br> | <br> | <br> | | <img src="resource/icon-httpflv.png" width="100"> | <img src="resource/icon-httpts.png" width="100"> | <img src="resource/icon-websocketflv.png" width="100"> | <img src="resource/icon-websocketts.png" width="100"> | | HTTP-FLV(LIVE) | HTTP-TS(LIVE) | WS-FLV(LIVE) | WS-TS(LIVE) | | <br> | <br> | <br> | <br> | | <img src="resource/icon-ts.png" width="100"> | <img src="resource/icon-mpegps.png" width="100"> | <img src="resource/icon-av1.png" width="100"> | <img src="resource/icon-mov-h265.png" width="100">| | MPEG-TS(VOD) | MPEG-PS(VOD) | AV1(Chrome) | MOV(H.265) | | <br> | <br> | <br> | <br> | | <img src="resource/icon-hevc.png" width="100"> | <img src="resource/icon-websockethevc.png" width="100"> | <img src="resource/icon-mkv.png" width="100"><br> | <img src="resource/icon-aac.png" width="100"> | | HTTP-HEVC | WS-HEVC | MKV(HEVC) | AAC(MAIN/LC) | | <br> | <br> | <br> | <br> | | <img src="resource/icon-thread.png" width="100"> | <img src="resource/icon-single-thread.png" width="100"> | <img src="resource/icon-pcm.png" width="100"> | <img src="resource/icon-pcm.png" width="100"> | <img src="resource/icon-mediainfo.png" width="100"> | | Multi-Thread<br><font color="red">(only:<br>https+nginx conf)</font> | Single-Thread | G711A(HTTP-FLV) | G711U(HTTP-FLV) | | <br> | <br> | <br> | <br> | | <img src="resource/icon-mediainfo.png" width="100"> | <img src="resource/icon-hevc-s.png" width="100"> | <img src="resource/icon-avc-s.png" width="100"> | <img src="resource/icon-hdecode.png" width="100"> | | MediaInfo | HEVC/H.265 | AVC/H.264 | Hardware decoder<br>(FLV/HTTP-FLV/MP4) |

| h265web.js | mpeg.js (ts demuxer) | h265web.js's H.265 decoder | LICENSE | | ---- | ---- | ---- | ---- | | h265web.js | MPEG-Demuxer.js | h265web.js-wasm-decoder | <a href="LICENSE-Free_CN.MD">CYL_Free-1.0 LICENSE-Free_CN.MD</a> |

<hr>

Feature Support

Supported

  • Protocol box

| protocol | model | support | desc | | ---- | ---- | ---- | ---- | | mp4 | Video on demand | Y | ---- | | mov | Video on demand | Y | HEVC/H.265 | | mkv | Video on demand | Y | HEVC/H.265 | | av1 | Video on demand | Y | Chrome | | mpeg-ts | Video on demand | Y | ---- | | mpeg-ps | Video on demand | Y | ---- | | m3u8 | Video on demand | Y | ---- | | hls | Live | Y | ---- | | flv | Video on demand | Y | ---- | | http-flv | Live | Y | CodecID=12 | | http-ts | Live | Y | ---- | | http-hevc | Live | Y | ---- | | http-hevc | Video on demand | Y | ---- | | websocket-hevc | Live | Y | ---- | | websocket-flv | Live | Y | ---- | | websocket-ts | Live | Y | ---- | | HEVC/H.265 | Video on demand | Y | ---- | | HEVC/H.265 | Live | Y | ---- | | AVC/H.264 | Video on demand | Y | ---- | | AVC/H.264 | Live | Y | ---- |

  • Codec

| Codec | Support | Desc | | ---- | ---- | ---- | | AVC/H.264 | Y | ---- | | HEVC/H.265 | Y | ---- | | AAC | Y | ---- | | G711A | Y | HTTP-FLV | | G711U | Y | HTTP-FLV | | AV1 | Y | Chrome |

  • Features

| Feature | Support | Desc | | ---- | ---- | ---- | | Hardware-Decode | Y | For Chrome/Safari etc... | | WebCodec | Y | Browser-supported hardware path | | SIMD | Y | WASM + SIMD acceleration path | | MSE | Y | Browser MSE playback path | | Video on demand | Y | ---- | | Live | Y | ---- | | Seek | Y | ---- | | AccurateSeek | Y | ---- | | Cover Image | Y | ---- | | Playing with download | Y | ---- | | Volume | Y | ---- | | Play | Y | ---- | | Pause | Y | ---- | | ReStart | Y | ---- | | PauseWithCoverImage | Y | ---- | | 1080P | Y | ---- | | 720P | Y | ---- | | Create multi players | Y | ---- | | Play without Audio | Y | ---- | | Cache process | Y | ---- | | Open Fullscreen | Y | ---- | | Exit Fullscreen | Y | ---- | | Play frame by frame | Y | ---- | | Snapshot | Y | ---- | | Autoplay | Y | HTTP-FLV 265+264<br>HTTP-TS 265+264<br>HLS 264 | | Cache Length | Y | MP4 265 | | Multi-thread decoder | Y | (HTTPS+ Conf NGINX) | | Single-thread decoder | Y | compatible | | Get MediaInfo | Y | ---- | | Get Codec Param | Y | Video&Audio | | Get Media Duration | Y | Video&Audio | | Get Video Size | Y | ---- | | Get Video FPS | Y | ---- | | Get Audio SampleRate | Y | ---- | | Chase Frame | Y | HTTP-FLV(no audio) | | PlayBackRate | Y | H.264/H.265/AV1 | | Resize | Y | ---- |

<br>

Donate

| Wechat | Alipay | PayPal | | ---- | ---- | ---- | | <img src="resource/donate/wechat.JPG" height="500"> | <img src="resource/donate/alipay.JPG" height="500"> | - | <br>

FFmpegSupportH265LiveEncode

  • Github: https://github.com/numberwolf/FFmpeg-QuQi-H265-FLV-RTMP
<br>

TranscodeAndGet265CodecFileByFFmpeg

  • mp4
ffmpeg -i input.mp4 \
-vcodec libx265 -pix_fmt \
-acodec aac -ac 2 -ar 44100 \
-preset medium -maxrate 1000k -bufsize 1000k \
-vtag hvc1 \
-movflags faststart \
-y video.mp4
  • hls/m3u8 capture
ffmpeg -f avfoundation -i 1:0 \
-q 4 -r 10 \
-filter_complex "scale=1280:720" \
-pix_fmt yuv420p \
-vcodec libx265 \
-ar 22050 -ab 64k -ac 1 -acodec aac \
-threads 4 \
-preset veryfast \
-f segment \
-segment_list test.m3u8 \
-segment_time 5 \
-y /Users/numberwolf/Documents/webroot/VideoMissile/VideoMissilePlayer/res/hls1/v-%03d.ts
  • mpeg-ts
ffmpeg -ss 20 -t 10 -i ./res/xinxiaomen.mp4 \
-vcodec libx265 -x265-params "bframes=0:keyint=10" -r 24 -filter_complex "scale=720:1280" -preset fast -maxrate 800k -bufsize 800k \
-acodec aac -ar 22050 -ac 1 \
-pix_fmt yuv420p \
-f mpegts -y ./res/veilside2.ts
<br>

UpdateLog

| Update | Content | | ---- | ---- | | Time | 2026/03/28 | | - | 0.Update more powerful version | | Time | 2022/11/06 | | - | 0.Update | | Time | 2022/11/02 | | - | 0.Update WASM | | Time | 2022/10/22 | | - | 0.Support: Hard-Decode for FLV/HTTP-FLV/MP4 | | - | 1.Support: AVC with Mpeg-TS | | Time | 2022/09/13 | | - | 0.Fixed: AVC stream loop buffer error without autoplay | | Time | 2022/09/12 | | - | 0.Fixed: hevc url cannot play without text of "http" | | Time | 2022/08/24 | | - | 0.Feature: Safari with native player(version>13) | | Time | 2022/08/23 | | - | 0.Fixed: Buffer Progress with AVC | | Time | 2022/08/13 | | - | 0.Support: Resize | | Time | 2022/07/27 | | - | 0.Support: PlayBackRate | | Time | 2022/07/12 | | - | 0.Fixed some problem | | Time | 2022/07/06-10 | | - | 0.Support g711u (http-flv) | | - | 1.Fixed: HTTP-FLV(AVC) without Audio | | Time | 2022/07/01 | | - | 0.Feature: HTTP-FLV(Without audio) St

View on GitHub
GitHub Stars2.3k
CategoryCustomer
Updated22h ago
Forks377

Languages

JavaScript

Security Score

85/100

Audited on Mar 31, 2026

No findings