**WorldCam** is an Enigma2 plugin that allows you to view live webcams from around the world, with a simple, fast, and stable interface. Completely rewritten and optimized in version **6.0**, the plugin now offers new features and greater reliability.
🚀 What's new from version > 5.0
⚡️ Fast and interactive UI management Asynchronous webcam loading and smooth navigation between categories.
🇺🇳 Dynamic flag icons for language/country Automatic mapping based on system language or country name.
✅ New integrated player Direct support for HLS streams (.m3u8), YouTube streaming, and two fallback options where available.
🔎 Fully revamped SkylineWebcams scraper Faster and fully compatible with recent site updates.
🛠️ Advanced console + file logger
Supports INFO, DEBUG, ERROR, CRITICAL levels, with color-coded terminal output and persistent logs in /tmp/worldcam/worldcam.log.
🧹 Safe screen cleanup and management Automatic memory cleanup to prevent leaks or crashes.
🔁 Integrated aspect ratio handling Stores and restores the correct aspect ratio for each video stream.
📁 Favorites list now available You can now manage your favorite webcams from the main menu. While watching a webcam, just press the Blue button to add or remove it from your Favorites.
🟩 Favorites toggle shortcut (Green button)
Quickly add or remove the selected webcam from your favorites list while browsing.
🟨 One-click Favorites to Bouquet export (Yellow button)
Instantly export your favorite webcams into a channel bouquet without opening menus.
You can now switch between webcams directly from the player using ch+/ch- arrows.
🧩 Guaranteed compatibility from Python 2.7 to 3.9+ Safe use of cross-version libraries and methods, with automatic fallbacks.
WorldCam plays YouTube streams using yt-dlp with a robust fallback chain, tuned for slow ARM/MIPS receivers:
-
android_vrclient first
It works without a JavaScript runtime and returns a muxed HLS stream that Enigma2 players (4097 / 5001 / 5002) can handle. -
Default yt-dlp clients as fallback
Ifandroid_vrfails, yt-dlp uses its built-in defaults (this path benefits from an installed JS runtime — see below). -
Single-shot format chain
Instead of starting yt-dlp once per format (slow on receivers), a single call tries18/22/best[ext=mp4][protocol^=http]/bestin order and returns the first available stream.
Playback is non-blocking: yt-dlp runs in a worker thread
(twisted.internet.threads.deferToThread), so the Enigma2 GUI
stays responsive and the player is not killed by the watchdog.
If resolution fails, the actual yt-dlp error is shown in the message box, instead of a generic "stream not available".
WorldCam supports loading a local list file containing webcam entries.
Each line in the list must contain the name and the stream URL of the webcam,
separated by one of the following delimiters:
- 🔹
:::(triple colon) - 🔹
;;(double semicolon) - 🔹
###(triple hash) - 🔹
::(double colon) - 🔹
;(semicolon)
Camera 1:::[http://example.com/stream1.m3u8](http://example.com/stream1.m3u8)
My Cam;;[http://example.com/stream2.m3u8](http://example.com/stream2.m3u8)
Another Cam###[http://example.com/stream3.m3u8](http://example.com/stream3.m3u8)
Cam Name::[http://example.com/stream4.m3u8](http://example.com/stream4.m3u8)
SimpleCam;[http://example.com/stream5.m3u8](http://example.com/stream5.m3u8)
YouTube Cam;[https://www.youtube.com/watch?v=dQw4w9WgXcQ](https://www.youtube.com/watch?v=dQw4w9WgXcQ)
SimpleCam###http://example.com/stream5.m3u8](http://example.com/stream5.m3u8
YouTube Cam###https://www.youtube.com/watch?v=dQw4w9WgXcQ](https://www.youtube.com/watch?v=dQw4w9WgXc
YouTube URLs can be included directly in the local list as valid webcam entries.
The plugin will automatically detect YouTube links and use its internal player fallback to stream them.
Place your local list file (for example, named worldcam_list.txt) inside the following folder:
/usr/lib/enigma2/python/Plugins/Extensions/WorldCam/Playlist/
- Enigma2 STB (Dreambox, Vu+, Zgemma, Ustym, Octagon, …)
- Active internet connection
- Python ≥ 3.8
yt-dlp(binary preferred, module also works):
Logs are saved at:
/tmp/worldcam/worldcam.log
You can check internal events and requested video streams directly.
If errors or malfunctions occur, please send this file for support.
- This plugin is released under the CC BY-NC-SA 4.0 license
- Redistribution without attribution is not allowed
- The plugin does not use external extensions or complicated dependencies
- Any code modification must keep the original header intact
- Original project: Lululla
- Stream source: SkylineWebcams.com
- Graphic support: Public flags and icons