Git Product home page Git Product logo

iptv_playlist_browser's Introduction

iptv_playlist_browser

This tool allows to browse IPTV playlist in Windows.

This tool does not provide any stream, you have to use your own.
Please remember to use only legal streams.

Run

python iptv_playlist_browser_gui.py

or

python -m iptv_playlist_browser

or try the experimental binary.

In your first run, go to Preferences... menu and set a path for your desired video player.

Usage

Main window

after load

1. Menu bar

Get quick access to the main features of the application (open Xtream Code, open playlist, preferences, ...).

2. Filter

When you have a lot of groups / categories / channels, you can filter them using this text areas.

3. Groups

List of groups. Groups come from the values in Xtream API (if available), from the playlist (if available).
If the groups do not exist, the application will create them artificially according to the parameters.

Select a group to view it's categories.

4. Categories

List of categories. The application will create them artificially according to the parameters.

Select a category to view it's channels.

5. Channels

List of channels. Select a channel to view it's URL. Double-click on a channel to open it with your player.

6. Watch

You can see the URL of the selected channel. Click the Watch button to open it with your player.

7. Catch up

Some stream may have a catch up replay available. If so, check the Catch up chckbox, select a date, a time and duration and click the Watch button.
You can find the current EPG in the combo box to easily choose your desired program.

Preferences

preferences

Video player

Give a path to your favorite video player executable.
Eg. : C:/Program Files (x86)/VideoLAN/VLC/vlc.exe

Additional parameters

(optional) You can provide additional parameters to use with your player.

Eg. : --fullscreen will launch VLC in fullscreen.

Remember latest input

When checked, by default the program will remember your playlist local or remote path, and your Xtream code credentials.

Always try to retreive Xtream Code

When checked, if you load a playlist the program will first give a try to the Xtream Code API.
Xtream Code API allows to have better group naming and to play catch up streams.

Group / category separator

Very often the channels in the playlist are separated by false channels to mark the boundary.
Whith this parameter, you can specify what are the strings used as separator.

Eg. : if your playlist is like

#EXTM3U
#EXTINF:-1,< CHAINES FRANCAISES SD >
http://myserver.com:8000/login/password/1
#EXTINF:-1,--- TNT SD ---
http://myserver.com:8000/login/password/2
#EXTINF:-1,TF1 SD
http://myserver.com:8000/login/password/3
#EXTINF:-1,TF1 +1 SD
http://myserver.com:8000/login/password/4
#EXTINF:-1,FRANCE 2 SD
http://myserver.com:8000/login/password/5
#EXTINF:-1,FRANCE 3 SD
http://myserver.com:8000/login/password/6

and you set

<

as group separator and

--

as category separator, all lines containing < will be considered as "group" and all lines containing -- will be considered as "category".
You'll obtain:

after load

Load playlist from Xtream Code

Give your Xtream Code credentials.

Load playlist from local file

Open a local playlist file (m3u).
A preview of the names inside the file allows you to guess what separators should be used.

Load playlist from remote file

Open a remote playlist file (m3u).

Eg.: http://myserver.com:8000/get.php?username=login&password=password&type=m3u&output=mpegts

Filtrer lists

Type part of desired group, category or channel you want to filter.

Watch a stream

Double-click on an entry in the channel list, or select it then click on the Watch button.

Replay a past stream

If you opened your playlist with Xtream Code and your provider gives this functionality, you can select a time and date for a specific channel. A list gives you the latest EPG availble to help you.

Note that not all providers gives this functionality.

How to install

Prerequisite

Install

Clone repository

git clone https://github.com/PhunkyBob/iptv_playlist_browser.git
cd iptv_playlist_browser

Create virtual environment

With Poetry (recommended) or pip.

poetry shell
poetry install

or

python -m venv venv
venv\Scripts\activate.bat
python -m pip install -U pip
pip install -e .

Compilation

To create Python files from Qt .ui files:

pyside6-uic ui\generate_playlist.ui -o iptv_playlist_browser\generate_playlist_pyside6.py
pyside6-uic ui\local_file.ui -o iptv_playlist_browser\local_file_pyside6.py
pyside6-uic ui\main_ui.ui -o iptv_playlist_browser\main_ui_pyside6.py
pyside6-uic ui\preferences.ui -o iptv_playlist_browser\preferences_pyside6.py
pyside6-uic ui\remote_file.ui -o iptv_playlist_browser\remote_file_pyside6.py
pyside6-uic ui\xtream_code.ui -o iptv_playlist_browser\xtream_code_pyside6.py

To create Windows .exefile:

pyinstaller --noconfirm --onefile --windowed --icon "resources\play-button.ico" --paths "iptv_playlist_browser" "iptv_playlist_browser_gui.py"

iptv_playlist_browser's People

Contributors

phunkybob avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

iptv_playlist_browser's Issues

Awesome ๐Ÿ‘ job

Great program. Works nice and easy to compile. How hard would it be to make a Mac stalker player ?

Windows 10 layout problem

I just downloaded the app today, and it's quite nice. However, the bottom fields are obscured when running on Windows 10.
image

See image. (Obfuscated address for privacy)

merge my script with xtream api ?

Hello,
thank you for your app , now i can export m3u with xtream code
after i put m3u file with my script for write new m3u file filtre for my need
it's possible merge my script with yours for automate ?
I ask you because you are stronger than me in python , mr I'm just starting out
thank
my code
f=open('tv.m3u','r') nb=0 for line in f: nb+=1 f.close() f=open('tv.m3u','r') c=open('IPTVfr.m3u','a') c.write('#EXTM3U'+'\n') lines = map(lambda ch: ch.strip('\n'), f.readlines()) ch="FRANCE TNT" ci="FRANCE MY CANAL" cj="FRANCE DIVERTISSEMENT" ck="FRANCE MUSIQUE" cl="FRANCE CINEMA" for i in range(nb): if ci in lines[i] or ch in lines[i] or cj in lines[i] or ck in lines[i] or cl in lines[i]: c.write(lines[i]+'\n') c.write(lines[i+1]+'\n') f.close() c.close()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.