Format Support Demo
1. Format Support Demo
VOD HLS H.264 multi-bitrate
2. Protocol & Format Support
Regardless of the protocol or encoding format used, zwplayer adopts the same invocation method — simply pass the video address via the url parameter, and zwplayer will automatically identify the protocol type and select the appropriate decoding engine. No need to load different plugins for different protocols.
Online Testing Tool: Use the Online Player to paste any protocol URL for playback testing. For full parameter details, see Source URL Parameters.
Streaming Protocols
| Protocol | URL Format / Extension | VOD | Live | Typical Latency |
|---|---|---|---|---|
| HTTP(S)-FLV | .flv / http:// https:// |
✓ | ✓ | 1~3s |
| WS(S)-FLV | ws:// wss:// .flv |
✓ | ✓ | 1~3s |
| HLS | .m3u8 |
✓ | ✓ | 3~6s (LL-HLS ~1s) |
| MPEG-DASH | .mpd |
✓ | ✓ | 3~6s (LL-DASH ~1s) |
| HTTP(S)-MP4 | .mp4 |
✓ | — | — |
| MPEG-TS | .ts |
— | ✓ | 1~3s |
| RTSP | rtsp:// |
— | ✓ | <1s (requires media gateway) |
WebRTC Ultra-Low Latency Live Streaming
zwplayer deeply integrates WebRTC technology, natively supporting the standard WHEP protocol and exclusively adapting major cloud vendor protocols:
| Protocol / Platform | URL Prefix | Typical Latency | Description |
|---|---|---|---|
| Standard WebRTC | webrtc:// rtc:// |
sub-second | Standard WebRTC signaling |
| WHEP | WHEP endpoint | sub-second | IETF standard, WebRTC-HTTP playback protocol |
| Alibaba Cloud ARTC | artc:// |
200ms~1s | Alibaba ultra-low latency live streaming |
| Tencent Cloud TRTC | trtc:// |
~100ms | Tencent Real-Time Communication |
| Baidu Cloud BRTC | brtc:// |
millisecond | Baidu Real-Time Communication |
To test RTSP or WebRTC features, please contact WeChat zwplayerX to apply.
Encoding Formats
| Type | Codec | Description |
|---|---|---|
| Video | H.264 / AVC | Widest compatibility across all platforms |
| Video | H.265 / HEVC | ~50% compression efficiency improvement over H.264 |
| Video | AV1 | Next-gen open-source codec, royalty-free |
| Audio | AAC | Most widely supported audio codec |
| Audio | MP3 | Universal audio format |
| Audio | Opus | Efficient audio codec, ideal for real-time communication |
Local File Playback
Formats supported through browser native capabilities:
| Type | Format | Extension | Notes |
|---|---|---|---|
| Video | MP4 | .mp4 .m4v |
Best compatibility |
| Video | WebM | .webm |
Open format, native in Chrome / Firefox |
| Video | OGG | .ogg .ogv |
Open format |
| Video | MOV | .mov |
QuickTime format |
| Video | MKV | .mkv |
Depends on browser support for internal codecs |
| Audio | MP3 | .mp3 |
Universal audio |
| Audio | WAV | .wav |
Lossless audio |
| Audio | FLAC | .flac |
Lossless compressed audio |
| Audio | M4A | .m4a |
AAC audio |
| Audio | Opus | .opus |
Efficient audio codec |
Advanced Features
- Adaptive Bitrate: Supports HLS/DASH embedded multi-bitrate streams with manual selection or automatic network-based switching.
- Plugin-free RTSP: Play RTSP video streams directly in the browser without any plugins.
- Multi-stream Switching: Dynamically load multiple video sources and switch quality in real time.
Coming Soon
- VR panoramic playback
- H.266 / VVC
Stay tuned!
3. Code Example
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<script type="text/javascript" charset="utf-8" src="https://cdn.zwplayer.com/v3/zwplayer/zwplayer.js"></script>
</head>
<body>
<div id="mse" style="width: 800px; height: 450px; margin: 0 auto;"></div>
<script type="text/javascript">
var info = {
playerElm: 'mse',
url: 'https://example.com/video.m3u8', // The actual URL address
infoButton: true,
optionButton: true,
snapshotButton: true,
controlbar: true,
autoplay: true,
isLive: false, // Set to true for live streams
};
new ZWPlayer(info);
</script>
</body>
</html>
4. Configuration Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| playerElm | String or Element | - | Player container element or selector |
| url | String or Object | - | URL address of the video file |
| infoButton | Boolean | false | Whether to show the video info button |
| optionButton | Boolean | false | Whether to show the video options button |
| snapshotButton | Boolean | false | Whether to show the video snapshot button |
| controlbar | Boolean | true | Whether to show the video control bar |
| autoplay | Boolean | true | Whether to autoplay the video |
| isLive | Boolean | false | Whether the video is a live stream |
5. Disclaimer
-
- zwplayer is a free video player project developed based on HTML5 technology. This project is open-source and non-commercial, aiming to provide technical reference and exchange for the developer community, without any profit motive.
-
- All test videos, streaming links, and other content referenced by this player for demonstration purposes are sourced from the public network.
-
- These videos are used solely for testing the compatibility, functionality, and performance of the player, and the content does not represent the views of this project.
-
- If the test videos provided by this project involve copyright issues, it is not our intention to infringe. If you are the copyright owner of the relevant video content and believe the content infringes upon your legitimate rights and interests, please contact us via: [893366640@qq.com].
-
- Please provide sufficient proof of copyright ownership and the specific infringing link in the email. We will delete or block the relevant test content within a reasonable time after verifying the situation.