| Key | Action |
|---|---|
| Ctrl-P | Open channel list Double Click or Enter starts streaming selected channel |
| P | Start streaming |
| S | Stop streaming |
| Ctrl-V | Switch to Fullscreen |
| ESC | Switch back from Fullscreen |
| Ctrl-T | Show / hide Toolbar |
| Ctrl-9 | Set Aspect Ratio to 16:9 |
| Ctrl-L | Set Volume |
| Space Bar | Audio muted / unmuted |
| Arrow up | Volume up |
| Arrow down | Volume down |
| Ctrl-E | Open Settings Dialog |
| F1 | Show Help Dialog |
| Ctrl-I | Show About Dialog |
| How to … | Steps how to do it |
|---|---|
| open the context menu | Position cursor inside the window Click right mouse button |
| move the window | Position cursor inside the window Left mouse button + Drag & Drop |
| resize the window | Move cursor to the right bottom corner Left mouse button + Drag & Drop |
| turn fullscreen on or off | Position cursor inside the window Double click left mouse button |
| adjust volume quickly | Position cursor inside the window Turn mouse wheel |
| display EPG (TVHeadend only) | Open channel list Move cursor to the desired channel After a short delay tooltip pops up Tooltip has four entries |
https://github.com/jnk22/kodinerds-iptv
https://github.com/iptv-org/iptv (PLAYLISTS.md)
Where to save the playlists: Folder CyberTelly/m3u in Linux Home Dir or C:\Users[user name]
Make sure you have downloaded m3u lists
How to build your own list:
M3u playlists also work with Sat>IP servers,
similar to a FritzBox-Cable. Almost ready
to use m3u playlists can be downloaded from:
https://github.com/dersnyke/satipplaylists
After the download open the list with a
text editor and replace ‘sat.ip’ with the
ip address of the server.
Example: sat.ip > 192.168.178.230
If you like you can customize and store
your playlist then as described above.
This procedure was successfully tested
with a Megasat Sat>IP server.
A TVHeadend server usually runs in the local network and serves as a source for streaming and recording live TV.
Possible Hardware: Raspi 4 with TV HAT and Raspi OS lite
For more Information see: https://tvheadend.org
| Url | [Protocol][Server IP]:[Port] |
| Protocol | http:// |
| Server IP | IPv4-Address of TVH server |
| Port | 9981 (TVHeadend default) |
| Example | http://192.168.178.235:9981 |
The example above can be used as a blue print for the input in the settings dialog.
Menu item: Configuration-Users-Access Entries
Menu item: Configuration-Users-Passwords
| Menu item | Configuration-General-Base Http Server Settings |
| Authentication type | Plain (insecure) |
| Digest hash type | MD5 |
Please note:
CyberTelly only works with correct user and authentication settings!
EPG doesn’t work with m3u playlists.
Known Issues:
For detailed troubleshooting instructions see Troubleshooting.txt
Different distribution types need special minimum versions of the GNU C Library (glibc) to be able to run the program:
How to determine the glibc version:
ldd --versionIn case of a glibc version mismatch, CyberTelly can be installed, but not started.
For more information see: InstallationGuide.txt
Due to a lack of Apple hardware, CyberTelly could not be tested and deployed.
Hint for Linux Snap/Flathub installations:
VLC must be set up from the distibution repository. Snap or Flathub apps are running in a sandbox where the access to the VLC library (libvlc) is blocked.
CyberTelly was developed using Python along with python-vlc and PySide6, the Python bindings for VLC and the Qt6 framework. Everybody who is interested in getting an idea how it works, can have a look at the source code: Set up a virtual Python environment, install the required modules using requirements.txt and start coding!
The program deployment is not part of this publication. Information on that can be looked up in the following book: Fitzpatrick Martin, Create GUI Applications with Python & Qt6 (5th Edition, PyQt6), p. 651ff.
Copyright (C) 2025 Rudolf Ringel
This program is free software. It is licensed
under the terms of the GNU General Public
License 3 (GPLv3). It is distributed in the
hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
For more information see: https://www.gnu.org/licenses/