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.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Comments
You can tunnel the port through cloudflare zero trust so you're domain look slick and gets CDN.
@WhiteRoseG
Thanks for the suggestion! Personally, I don't fully trust Cloudflare for CDN purposes, especially when it comes to video delivery.
I've worked with Leaseweb in this area — while their documentation isn't very detailed, I’ve set up and streamed some high-traffic video channels on their CDN over the years, and I trust them more for stability and hands-on control.
Here’s a quick peek from one of those setups
Just try ! Men you got to have a big bill at leaseweb hahaha
One last note:
This manual is still a work in progress — it needs more polish and structure to become a proper, clean and easy-to-follow guide. We’re doing our best to improve it step by step, and really appreciate your patience and understanding while we work on it.
For anyone visiting the presentation page at:
🌐 https://webm.win
—we’ve also added a link to this LowEndTalk thread, in case they want to follow the discussion or share comments.
Thanks again for your support — more updates are coming soon!
Oh glad to see that the first tutorial has finally been posted! I was actually more interested in the live streaming tutorial (which I understand will be the second one) but I’ll give this one a read and try it out later as well.
I noticed your screenshots are from Windows gui so I hope it will work on Linux headless servers too without needing too many adjustments.
I wonder what the min specs are for this - could it be run on a real low-end rig like 1 core, 2gb ram, 10gb?
Will do a test when I have time for it today. If im not doomscrolling or binge watch YouTube true crime.
I’m currently working on the live-streaming tutorial—it’ll go live as soon as I’ve finished experimenting, which won’t be long. I’m exploring ways to better leverage CPU threads during the stream.
And yes, it runs flawlessly on Linux. I set up FFmpeg on a Windows dedicated server for speed (since it was already configured), but I’ve also tested it on headless Linux servers with no issues. I’ve even written two small Linux scripts that automatically convert the recorded videos—no manual supervision required. Just upload them to any server (with or without cPanel, DirectAdmin, Plesk, or Webmin) and they’ll perform efficient conversions with minimal CPU overhead.
Yes—it should run just fine on a 1-core, 2 GB RAM, 10 GB rig. The only CPU-heavy work is the video conversion process, not the live streaming itself.
@mods Can this be moved to off topic please so it's not indexed/public?
In the following example, I show how much % CPU is used during the specific encoding process (converting an MP4 to WebM) on an i9-9900K
Any tutorials yet?
Yes - the first tutorial is already available in both English and Greek, as part of the dos.gr initiative to openly document and share this method:
📘 HOW WE DID IT / FREE4ALL GUIDE
🌍 https://f105.dos.gr
It includes:
A working, real-world config (XML included)
Step-by-step setup instructions
Screenshots from production servers
Minimal system requirements, tested setups, and encoding tips
This is a practical guide based on live services we’ve been running for years - not just theory.
If you’d like a demo encoding example (e.g. how to convert your own video to VP9/WebM for Icecast), feel free to ask - happy to help.
More manuals coming soon, including for full live-streaming setups.
P.S. Feel free to use this thread for discussion - whether you're experimenting, need technical help, or want to share results. We’re happy to offer advice, troubleshoot configs, or assist with ffmpeg command tuning.
Agree. This should be moved to Offtopic.
Please post live-streaming setup.
Following up on the previous post about [Broadcasting TV streaming to Icecast server – 1080p VP9 Live TV Manual (WebM)], we now move a step further:
With FFmpeg you can stream live video directly to an Icecast v2 server using the webm format with VP9 video codec and Vorbis audio codec.
Here’s a tested command line that works very well in real-world conditions:
ffmpeg -i "https://example.com:3929/live/live.m3u8" -vf "fps=25" -c:v libvpx-vp9 -b:v 2000k -deadline realtime -cpu-used 6 -speed 6 -row-mt 1 -tile-columns 2 -threads 0 -lag-in-frames 0 -error-resilient 1 -g 25 -keyint_min 12 -flags +global_header -movflags faststart -c:a libvorbis -b:a 128k -ar 44100 -f webm -cluster_size_limit 2M -cluster_time_limit 5100 -content_type video/webm icecast://source:[email protected]:9000/dos.webm
Parameter breakdown:
-c:v libvpx-vp9 → Encodes video using VP9.
-b:v 2000k → Sets video bitrate to 2 Mbps (good balance between quality and stability).
-deadline realtime -cpu-used 6 -speed 6 → Low-latency settings for live streaming.
-row-mt 1 -tile-columns 2 -threads 0 → Multi-threaded encoding for better performance.
-g 25 -keyint_min 12 → Keyframes around every second (important for live).
-c:a libvorbis -b:a 128k -ar 44100 → Audio encoded with Vorbis, 128 kbps, 44.1 kHz.
-f webm -cluster_size_limit 2M -cluster_time_limit 5100 → WebM clustering tuned for streaming.
icecast://source:password@server:port/mountpoint.webm → The standard URL format for Icecast live streaming.
✅ What you get:
Stable live video streaming to Icecast.
Browser compatibility (Chrome, Firefox, Edge) with WebM/VP9/Vorbis.
Low latency and smooth playback thanks to optimized cluster handling.
👉 Next steps could include command variations (different bitrates, codecs, or using OBS/vMix/NDI as the input).
https://webm.pp.ua:59000/lampsitv.webm
Example of a live streaming channel to show what you can set up with Icecast2.
Installing Icecast2 on AlmaLinux 8.10 with WHM 130.0.11
For live testing, we installed Icecast2 on a production server:
AlmaLinux v8.10.0 / WHM 130.0.11
We did it this way to demonstrate that anyone can easily install it on their server.
(Bash ssh)
1️⃣ Install dependencies
dnf install libogg libtheora libvorbis speex -y
2️⃣ Download the RPM
cd /usr/local/src
wget https://dos.gr/forumdata/lyk/105icecast/icecast-2.4.4-1.el8.x86_64.rpm
or alternatively:
wget https://ftp.momo-i.org/pub/rpms/el/8/x86_64/icecast-2.4.4-1.el8.x86_64.rpm
3️⃣ Install Icecast
rpm -ivh --nosignature ./icecast-2.4.4-1.el8.x86_64.rpm
4️⃣ Verify installation
which icecast
icecast -h
5️⃣ Create systemd service
nano /etc/systemd/system/icecast.service
Contents:
[Unit]
Description=Icecast Streaming Media Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/icecast -c /etc/icecast.xml
Restart=on-failure
[Install]
WantedBy=multi-user.target
6️⃣ Enable & start Icecast
systemctl daemon-reload
systemctl enable icecast
systemctl start icecast
systemctl status icecast
7️⃣ Test in the browser
http://YOUR_SERVER_IP:8000
You should see the Icecast welcome page. 🎵
💡 Note: Don’t forget to open the port you chose (e.g., 8000) in your server’s firewall.
Below, in the post, you can add the icecast.xml configuration we used so that readers can see how we customized it for our setup. Also, we installed FFmpeg on the same server.
👉 On the same server we easily installed the static build of FFmpeg, fully loaded with all the goodies:
cd /usr/local/bin
curl -L https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz -o ffmpeg.tar.xz
tar -xJf ffmpeg.tar.xz
cd ffmpeg-*-amd64-static
cp ffmpeg ffprobe /usr/local/bin/
✔ To verify:
ffmpeg -version
Result:
ffmpeg version 7.0.2-static https://johnvansickle.com/ffmpeg/
Copyright (c) 2000-2024 the FFmpeg developers, built.....
⚡ Fully equipped with all codecs! 🎶🎥
And now, the moment you’ve all been waiting for… 🥷
the hidden “ninja” ffmpeg command we used to stream properly to the Icecast Server:
nohup ffmpeg -reconnect_on_network_error 1 -reconnect_delay_max 15 -i "https://pro.free.hr:3343/live/l1llive.m3u8" -vf "fps=25" -c:v libvpx-vp9 -b:v 2000k -deadline realtime -cpu-used 6 -speed 6 -row-mt 1 -tile-columns 2 -threads 0 -lag-in-frames 0 -error-resilient 1 -g 25 -keyint_min 12 -flags +global_header -movflags faststart -c:a libvorbis -b:a 128k -ar 44100 -f webm -cluster_size_limit 2M -cluster_time_limit 5100 -content_type video/webm icecast://source:[email protected]:9000/lampsitv.webm > encode.log 2>&1 &
👉 Note 1: We slightly tweaked the icecast.xml, so Icecast runs on port 9000 and SSL on 59000. You can find the exact configuration below, fully working and ready for experimentation.
And… voilà! ✨
https://webm.pp.ua:59000
– (Icecast2 server status)
https://webm.pp.ua:59000/lampsitv.webm
– (https streaming mount point / port 59000)
http://65.109.21.227:9000
– (http / port 9000)
Below you can also find the full icecast.xml configuration file exactly as we customized it. Not just theory, but a real-world, live streaming example you can play with:
https://dos.gr/forumdata/lyk/105icecast/icecast.xml
https://dos.gr/forumdata/lyk/105icecast/icecast.txt
👉 Note 2: The channel we chose to relay mostly broadcasts old Greek movies 🎬, so the quality may look a bit low. The actual quality that this command (and the whole concept) can deliver is definitely much better.
Try relaying from a different channel, or even better, stream live directly from a computer — you’ll see the difference right away! 🚀
Well, ai anwers with a two/three liner for the same, without flags and all that stuff you propably won't need anyway.
You can post in a tv media forum, where this getting attention, not here.
I dont know if the greek tv want this to be spread over to others, if its not illegal.
Hi @ascicode, thanks for your comment.
The example above is not about TV content itself but about the technical side - it simply shows how someone can set up a functional live TV stream on their own server at zero monthly cost, without needing to pay for something like a Wowza server. (See also https://webm.win
for more details.)
Also, regarding your point about “AI answers”: for AI to provide such a solution, it would have to already know this method. In reality, it didn’t - we only figured it out after testing and implementing it ourselves. That’s why sharing real-world setups like this is useful.
There are many people who already run servers, and a lot of them would be interested in how to implement this kind of setup themselves.
Finally, this has nothing to do with what is legal or illegal. The responsibility lies with whoever streams or the TV channels themselves for what they broadcast. Here, we are only discussing the implementation of a live streaming setup, not the content being streamed.
I see you want to generate clicks, nothing more.
Full manual & guide (EN/GR) available at: https://f105.dos.gr – Live discussion also on LowEndTalkWhere that forum has the guides/manuals you are the administrator of. The admins should decide and handle this.
ChatGPT, I came across a forum and I’m reading the following post, which you can see at this link:
https://lowendtalk.com/discussion/205646/livestreaming-1080p-vp9-webm-via-icecast-yes-it-works /p2 /p3
What do you understand from its content? Does it seem like an advertisement, a technical post, or just something general? Tell me your opinion because I’m curious.
(ChatGpt)
My conclusion
Overall, I think it’s mostly a technical post / community sharing. The author seems genuinely interested in showing a viable open-source / open protocol/live standard way to do high-quality livestreaming without proprietary stacks.
It’s not clearly an advertisement in the sense of trying to sell something or push a service. But it does have a bit of “pre-launch” vibe: teasing a soon-to-come guide, showing a demo, trying to build interest, possibly building credibility. So it’s not purely academic — there is also some “signal boosting”, which may help the author (visibility, recognition, maybe service or consulting later down the line).
Broadcasting from PC with OBS to Icecast2 server
With OBS Studio we tested and successfully sent video and audio directly to an Icecast2 server for live streaming.
Below are the basic steps and settings we used, and we managed to broadcast just fine.
We should also mention that, although we would prefer there was an option in OBS for an external ffmpeg with full command line (so we could have more control and fewer issues with understanding and configuration), we hope that in future versions such a feature will be added.
→ Basic settings in OBS (Icecast WebM Streaming)
Output Mode: Advanced
Recording → Type: Custom Output (FFmpeg)
FFmpeg Output Type:
Output to URL
File path or URL:
icecast://source:[email protected]:9000/lampsitv.webm
(here you put the details of your Icecast server - username:password@ip:port/mount)
Container Format:
webm
Container Format Description:
WebM
Muxer Settings (if any):
content_type=video/webm cluster_size_limit=2M cluster_time_limit=5100 ice_name='Show Title' ice_description='Show Description' ice_genre='Show Genre' ice_url=www.dos.gr ice_public=1 live=true
Video Bitrate:
2000 Kbps (or higher if your connection can handle it)
Keyframe Interval (frames):
1 (good for streaming, so it synchronizes quickly)
Video Encoder:
libvpx-vp9
Video Encoder Settings (if any):
fps=25 video_codec=libvpx-vp9 video_bitrate=2000k deadline=realtime cpu_used=6 speed=6 row_mt=1 tile_columns=2 threads=0 lag_in_frames=0 error_resilient=1 g=25 keyint_min=12 flags=+global_header movflags=faststart audio_codec=libvorbis audio_bitrate=128k audio_rate=44100 format=webm cluster_size_limit=2M cluster_time_limit=5100 content_type=video/webm
Audio Bitrate:
128 Kbps
Audio Track:
1
Audio Encoder:
libvorbis
Audio Encoder Settings (if any):
audio_bitrate=128k audio_rate=44100
→ What OBS needs in order to broadcast properly to Icecast:
Select FFmpeg custom output
Set Container Format to webm
Correct configuration of Muxer Settings (with the Icecast details: title, description, url, public flag, etc.)
Correct Video Encoder (VP9) and Audio Encoder (Vorbis) with bitrate/fps according to desired quality
Small Keyframe Interval (e.g. 1) so it plays smoothly in streaming
The live=true parameter is necessary so Icecast recognizes that it is a live stream
This way OBS can properly send video+audio directly to the Icecast server for web TV streaming.
I've been doing something similar with custom software for a project of mine for a while.
I'm sure this will be helpful in the future.
thanks
Full setup guide will be welcome.
Test Broadcast with FFmpegGui v2.2.15 (Windows) on Icecast2
In the GIF below, we demonstrate the process we followed to successfully set up a live stream on Icecast2 using FFmpegGui v2.2.15 for Windows.
During the test, we defined the input, configured the encoder, and started the broadcast directly from the application. We were especially impressed by how simple and stable the process was, as well as by the fact that this tool had been installed on our PC for years without us ever making use of it until now.
Another strong point we noticed is that the program includes a built-in NewTek NDI source option for input. This is extremely useful for compatibility with vMix, Wirecast, Marsis Streamer, and many other commercial broadcasting applications. It makes FFmpegGui an ideal solution for more complex setups and professional-grade broadcasts.
You can download this Windows tool either from:
https://strm.one/ffmpeg-gui/setup_ffmpeggui.exe
or
https://dos.gr/forumdata/lyk/105icecast/setup_ffmpeggui.exe
https://dos.gr/forumdata/lyk/105icecast/ffmpeggui.zip
FFmpeg command used to broadcast to Icecast2:
-vf "fps=25" -c:v libvpx-vp9 -b:v 2000k -deadline realtime -cpu-used 6 -speed 6 -row-mt 1 -tile-columns 2 -threads 0 -lag-in-frames 0 -error-resilient 1 -g 25 -keyint_min 12 -flags +global_header -movflags faststart -c:a libvorbis -b:a 128k -ar 44100 -f webm -cluster_size_limit 2M -cluster_time_limit 5100 -content_type video/webm icecast://source:[email protected]:9000/lampsitv.webm
who uses windows today?
Who uses Windows today? Well.. some of us are just nostalgic 😏 ..remember that airport BSOD chaos a while back? ...Good times!