[Plugin] RSILive

There are 2 replies in this Thread which was already clicked 284 times. The last Post () by Lululla.

    • New
    • Official Post

    📺 RSILive - RSI Play TV for Enigma2

    icon.png



    pasted-from-clipboard.pngpasted-from-clipboard.png

    pasted-from-clipboard.pngpasted-from-clipboard.png



    ## ✨ Features


    ### Core Features

    - **YouTube Channel Browsing**: Browse and watch videos from RSI YouTube channels

    - **Live TV Support**: Watch RSI La 1 and La 2 live streams

    - **Background Video Loading**: Loads videos in batches (20 at a time) without blocking the UI

    - **Channel Categories**: Organized menu structure like the Kodi addon

    - **Infobar Overlay**: On-screen controls and video info with auto-hide

    - **Zapping Support**: CH+/CH- navigation through video lists

    - **Dynamic Skin Loading**: Automatically adapts to HD, FHD, and UHD resolutions

    - **yt-dlp Integration**: Robust YouTube stream resolution


    ### Navigation System

    - **Menu Stack Navigation**: Back button returns to previous level, doesn't exit plugin

    - **CH+/CH- Navigation**: Wrap-around navigation in video lists

    - **Real-time Position Display**: Shows current video index and total count

    - **Background Loading**: Non-blocking video loading with progress updates


    ### Player Features

    - **Infobar Overlay**: Shows controls and video info on OK press

    - **Zapping Support**: CH+/CH- to switch between videos

    - **Stop/Exit**: STOP button exits player

    - **Info Display**: Shows video title and index on OK press

    - **Audio Reset**: Automatic audio track reset on channel change


    ### Technical Features

    - **Multi-threaded Loading**: Background video loading without GUI freeze

    - **Batch Processing**: Loads videos in configurable batches (default 20)

    - **yt-dlp Integration**: Supports all YouTube video formats

    - **Dynamic Resolution Detection**: Auto-detects screen resolution for skin selection

    - **User-Agent Support**: Proper headers for YouTube streams

    - **GStreamer/Exteplayer3**: Supports both playback engines


    ---


    ## 🎮 Key Controls


    ### Main Menu

    | Key | Action |

    |-----|--------|

    | **OK** | Enter selected category / Play video |

    | **CANCEL / EXIT** | Close plugin or go back one level |


    ### Category View (YouTube Channels / Live TV)

    | Key | Action |

    |-----|--------|

    | **OK** | Enter selected channel |

    | **CANCEL / EXIT** | Return to main menu |

    | **UP/DOWN** | Navigate channel list |

    | **CH+ / CH-** | Navigate channel list |


    ### Video List View

    | Key | Action |

    |-----|--------|

    | **OK** | Play selected video |

    | **CANCEL / EXIT** | Return to channel list |

    | **UP/DOWN** | Navigate video list |

    | **CH+ / CH-** | Navigate video list |


    ### Player View

    | Key | Action |

    |-----|--------|

    | **OK** | Show/hide infobar |

    | **CH+** | Next video in list |

    | **CH-** | Previous video in list |

    | **STOP** | Exit player |

    | **EXIT** | Exit player |


    ### Infobar Overlay (shown on OK press)

    - **Top Center**: Controls help (`OK = Info | CH+/CH- = Next/Prev | STOP = Exit`)

    - **Top Left**: Video title and index (`Video Title [3/42]`)


    ---


    ## 📦 Installation


    ### Via Telnet/Wget (Recommended)


    wget -q --no-check-certificate https://raw.githubusercontent.com/OwnerPlugins/RSILive/main/installer.sh -O - | /bin/bash



    ### Dependencies


    Ensure `yt-dlp` is installed:


    Code
    opkg install enigma2-plugin-extensions-ytdlpwrapper
    opkg install enigma2-plugin-extensions-ytdlwrapper
    opkg install python3-yt-dlp
    opkg install python3-youtube-dl



    If not available, install manually:


    wget -O /usr/bin/yt-dlp https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp

    chmod +x /usr/bin/yt-dlp



    ---


    ## 🚀 Usage


    ### Basic Navigation


    1. **Open the Plugin**: From the Extensions menu, select RSILive

    2. **Main Menu**: Choose between:

    - 📺 **YouTube Channels** - Browse RSI YouTube channels

    - 📡 **Live TV** - Watch RSI La 1 and La 2 live streams

    3. **Select a Channel**: Navigate to a channel and press OK

    4. **Browse Videos**: Videos load in batches (20 at a time)

    5. **Watch a Video**: Select a video and press OK to start playback

    6. **Zapping**: Use CH+/CH- to switch between videos

    7. **Exit**: Press STOP or EXIT to return to the list


    ### YouTube Channel Browsing


    1. Select **YouTube Channels** from the main menu

    2. Choose a channel from the list (e.g., "RSI News", "RSI Sport")

    3. Videos load in the background with a loading indicator

    4. After the first batch loads, continue scrolling to load more

    5. Select a video to start playback


    ### Live TV


    1. Select **Live TV** from the main menu

    2. Choose RSI La 1 or RSI La 2

    3. Stream starts automatically

    4. Press EXIT to return to the channel list


    ### Navigation Stack


    - **Back/EXIT** returns to the previous level

    - Main Menu → YouTube Channels → Channel Videos → Player

    - Pressing EXIT on the player returns to the video list

    - Pressing EXIT on the video list returns to the channel list

    - Pressing EXIT on the channel list returns to the main menu

    - Pressing EXIT on the main menu closes the plugin


    ---


    ## 📁 File Structure


    ```

    ★ RSILive/

    ├── __init__.py # Package marker

    ├── plugin.py # Plugin entry point

    ├── main.py # Main menu and navigation

    ├── player.py # Video player with infobar

    ├── rsi_api.py # RSI API client (live streams)

    ├── youtube_helper.py # YouTube stream resolver (yt-dlp)

    ├── helpers.py # Utility functions

    ├── data/

    │ └── youtube_channels.json # YouTube channel list

    ├── skins/

    │ ├── hd/

    │ │ └── main.xml # HD skin (1280x720)

    │ ├── fhd/

    │ │ └── main.xml # FHD skin (1920x1080)

    │ └── uhd/

    │ └── main.xml # UHD skin (3840x2160)

    └── images/

    ├── icon.png # Plugin icon

    └── fanart.png # Background fanart

    ```



    ### Data File Format


    **`data/youtube_channels.json`**

    ```json

    [

    {

    "name": "RSI News",

    "url": "https://www.youtube.com/channel/UC6UUxoC7DGUUlUHcJvulsfQ"

    },

    {

    "name": "RSI Sport",

    "url": "https://www.youtube.com/channel/UC6S8pesV-uN9lRCTNLssZOg"

    }

    ]

    ```


    ---


    ## ⚙️ Configuration


    ### Settings

    Access configuration from the Enigma2 plugin menu:

    - **Default Player**: Choose between GStreamer and Exteplayer3

    - **Buffer Size**: Configure streaming buffer size (1024-8192 KB)

    - **Hardware Acceleration**: Enable/disable hardware acceleration

    - **Debug Logging**: Enable debug messages in logs


    ### Skin Customization

    The plugin automatically detects screen resolution and loads the appropriate skin:

    - **HD** (1280x720): `skins/hd/main.xml`

    - **FHD** (1920x1080): `skins/fhd/main.xml`

    - **UHD** (3840x2160): `skins/uhd/main.xml`


    To customize the skin, edit the corresponding XML file.


    ---


    ## 🔧 Technical Details


    ### Architecture

    - **Frontend**: Enigma2 Screen system with MenuList components

    - **Navigation**: Stack-based navigation with history

    - **Loading**: Multi-threaded background loading with batch processing

    - **Player**: Enigma2 eServiceReference with GStreamer/Exteplayer3

    - **YouTube**: yt-dlp integration with format fallback

    - **Skin**: XML-based with dynamic resolution detection


    ### YouTube Resolution

    `youtube_helper.py` tries formats in this order:

    1. `-f 18` - MP4 360p (most compatible)

    2. `-f best[ext=mp4]` - Best MP4 format

    3. `-f 22/37` - MP4 720p/1080p

    4. `-f best` - Any format


    ### Video Loading

    - **Batch Size**: 20 videos per batch

    - **Background Thread**: Non-blocking loading

    - **UI Updates**: Real-time progress via `callWithCallback`

    - **Stop Mechanism**: Thread stops on exit


    ### Playback Engine

    - **Service Type**: `5001` for HLS, `4097` for HTTP

    - **User-Agent**: `Mozilla/5.0 (Windows NT 10.0; Win64; x64)`

    - **Service Reference**: `{type}:0:0:0:0:0:0:0:0:0:{url_encoded}:{name_encoded}`


    ---


    ## 🐛 Troubleshooting


    ### Common Issues


    | Problem | Solution |

    |---------|----------|

    | **No videos load** | Check internet connection and that yt-dlp is installed |

    | **Videos don't play** | Ensure yt-dlp is up to date: `opkg update && opkg install yt-dlp` |

    | **List not showing** | Verify `data/youtube_channels.json` exists and is valid JSON |

    | **Skin errors** | Ensure `skins/` directory exists with corresponding XML files |

    | **Player crashes** | Try switching between GStreamer and Exteplayer3 in settings |

    | **Slow loading** | Reduce buffer size in settings |

    | **No audio** | Check audio track selection or reset audio in settings |

    | **Live TV not working** | URLs may change; update in `rsi_api.py` or open an issue |


    ### Debug Mode


    Enable debug logging in settings, then check logs:


    tail -f /var/log/messages | grep RSILive



    Or on OpenPLi:


    tail -f /home/root/logs/debug.log | grep RSILive


    ### Manual yt-dlp Test


    Test if yt-dlp works correctly:


    yt-dlp -g -f 18 "https://www.youtube.com/watch?v=dQw4w9WgXcQ"



    Should return a video URL.


    ---


    ## 📝 Changelog


    ### v1.0 (2026-06-26)

    - Initial release

    - Main menu with YouTube Channels and Live TV categories

    - YouTube channel browsing with background loading (20 videos per batch)

    - RSI La 1 and La 2 live streams

    - Infobar overlay with controls and video info

    - CH+/CH- zapping through video lists

    - Dynamic skin loading (HD, FHD, UHD)

    - Navigation stack (back returns to previous level)

    - yt-dlp integration with format fallback

    - GStreamer/Exteplayer3 support


    ---


    ## 🤝 Contributing


    Contributions are welcome! Please ensure:

    - Code follows existing style and structure

    - Comments are in English

    - New features include appropriate configuration options

    - All changes are tested on Enigma2 receivers

    - Submit pull requests to the main branch


    ---


    ### 📜 License Information

    License: License-GPLv3-blue.svg


    This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation

    This plugin is released under GPLv3. See

    [LICENSE] for full details.


    ---

    ### 🚨 Disclaimer


    The project author is not responsible for how this software is used by others. It is not intended to be used for accessing or distributing copyrighted materials without authorization.

    Users are solely responsible for determining the legality of their actions.


    This repository has no control over the streams, links, or the legality of the content provided by the different hosts (including all mirror sites). It is the end user's responsibility to ensure the legal use of these streams, and we strongly recommend verifying that the content complies with all applicable laws, including copyright laws and regulations of your countrys jurisdiction before use.


    ---


    ⭐️ If you find this plugin useful, please give it a star on GitHub!

    Thanks! ❤️ 💞 💖 ❤️‍🔥 💗

    ---


    ## 🙏 Credits


    - **Developer**: Lululla

    - **Original Concept**: TVGarden Plugin

    - **Kodi Addon Reference**: plugin.video.rsiplaytv


    - **Homepage**:


    http://www.linuxsat-support.com


    CorvoBoys Forum - Indice


    ---


    *Note: This plugin requires an Enigma2-based receiver (OpenPLi, OpenATV, etc.)*

    *YouTube playback requires yt-dlp installed on the system*

    *Live TV streams require internet connection and may be geoblocked*

    *Some YouTube channels may have restrictions based on region*

    *UHD skin requires a 4K capable receiver with appropriate resolution*

    *Background loading may slow down on older receivers with limited RAM*

    ```


    Donate Donate

  • master G

    Added the Label RSILive
    • New
    • Official Post

    retry


Your resource for Enigma2 IPTV plugins

Discover the best Enigma2 IPTV plugins. Access downloads and dedicated support for integrating live TV streams and video-on-demand services. Find downloads, setup guides, and community support for the latest streaming players and playlist managers.