Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Livestreaming 1080p VP9/WebM via Icecast – Yes, it works!

124»

Comments

  • Here’s a simple example with Video.js - nothing complicated, just drop it in an .html file and it will play your Icecast WebM stream right in the browser:

    https://dos.gr/forumdata/lyk/105icecast/videojs.txt

    with your own Icecast WebM mountpoint. That’s all you need!

    Thanked by 1t0m
  • Also, here’s an example using the Plyr player, which supports WebM/VP9 and plays your Icecast stream directly in the browser – no plugins needed.

    With a few nice features:

    Automatic fallback video if the live stream goes down (checks periodically and switches back when it’s online).

    Auto reconnect when the live feed returns.

    Auto-hide controls after inactivity (like YouTube).

    Custom on-screen status messages (“📡 Live offline”, “🔴 Stream restored”, etc.).

    Responsive 16:9 layout with rounded corners and smooth shadow.

    Just replace the src with your own Icecast WebM mountpoint, and (optionally) update the poster and fallback .mp4 file.

    👉 Example code:
    https://dos.gr/forumdata/lyk/105icecast/plyrjs.txt

    Thanked by 1t0m
  • What about restream and mpd?

    Thanked by 1webm
  • @ascicode said:
    What about restream and mpd?

    With this WebM stream from Icecast, Plyr or Video.js cannot automatically switch quality based on the user’s connection. You could broadcast 2-3 separate quality streams (low, medium, high) and let users choose manually.

    Regarding MPD/DASH: Icecast does not produce MPD files, so adaptive streaming is not supported natively. To have automatic quality switching, you would need a transcoder like FFmpeg to convert the Icecast stream to DASH or HLS.

    Regarding restream: Icecast itself only handles the original broadcast. Restreaming to other servers or platforms requires additional software or server setups.

    In theory, you could write a custom script that measures the user’s bandwidth and chooses which WebM stream to play, but it won’t be as seamless as DASH/HLS adaptive streaming (however, with a good computer and the right FFmpeg commands, even a single bitrate stream can be encoded to very good quality at relatively low kbps).

    In general, the idea behind broadcasting with Icecast2 and VP9/WebM is to allow anyone-whether hobbyists, independent creators, or even large channels-to stream a channel without paying high fees, making it accessible to all.

    Even though Icecast does not natively support multi-bitrate streaming (where a single high-quality broadcast is transcoded into multiple lower-quality streams), it offers additional options, features, and conveniences that could be leveraged, sometimes even more flexibly than classic M3U8/HLS or RTMP setups.

  • 🔧 Real-world test on a production cPanel/WHM server

    During a live test on one of our production servers (hosting multiple websites under cPanel/WHM), we wanted to see how much CPU load the Icecast-based WebM streaming setup would actually generate.

    The results were quite impressive - with 35 concurrent viewers each receiving the stream at ~2.6 MiB/s, the overall CPU consumption remained extremely low.

    This is particularly interesting considering that traditional video servers such as Wowza or Nginx-RTMP typically require significantly higher CPU resources under the same conditions.

    For those working with large-scale setups, CDNs, or load-balanced streaming architectures, these findings could be especially valuable.

  • Significant improvements have been made to iOS compatibility over the past few days, thanks to a few additional adjustments in the XML configuration.

    The stream now plays smoothly on almost all iPhone and iPad devices (99.9% tested ✅).

    If you need assistance with additional configuration or setup details, feel free to contact us.

  • Just a small server-side test to show how efficient WebM streaming can be compared to traditional HLS setups.

    167 concurrent viewers at 2 MiB/s each, running on a single WHM server with Icecast2/WebM, while also hosting multiple websites, MySQL, and an unrelated ffmpeg transcoder in the background.

    The CPU doesn’t even break a sweat — while Apple’s HLS (with Wowza or NGINX) starts sweating just thinking about it 😎

    Live demo: https://gamostv.eu
    Direct WebM stream: https://webm.pp.ua:59000/lampsitv.webm

    (Testing purely for performance comparison — not a promo post.)

Sign In or Register to comment.