Git Product home page Git Product logo

pitv's Introduction

PiTV - IPTV and STB Client

A cross-platform IPTV and STB player client.

Installation

You could download the software from RELEASES.

Alternatively, you could do:

git clone https://github.com/ozankaraali/PiTV/
cd PiTV && yarn && yarn make

Usage

You could use this software as a IPTV player or as a STB client. It bundles a list of publicly available IPTV channels from around the world for you to start quickly using or test the application. You can delete that playlist entry if you want from your computer after registering your playlists / STB player details. For further usage you need to enter your M3U Playlist or IPTV provider's STB player details to "Settings". When you save, if your authentication works, you will directly see the channel lists on the left side. Select a channel and it will begin shortly.

Screen Shot 2021-03-04 at 00 20 09

Screen Shot 2021-03-04 at 00 20 20

Disclaimer

This application bundles a list of publicly available IPTV channels from around the world. The channels are not hosted by this application or respective repository. The application simply creates a convenient way to browse a publicly available media database. The developer of this application has no affiliation with the content providers. The content provided can be removed at any time and we have no control over it. The developer assumes no liability and is not responsible for any legal issues caused by the misuse of this application.

No video files are stored in this repository, the application bundles open-sourced iptv-org playlist for quick startup, users can delete that playlist entry if they want to from their computer. If any links/channels in this application infringe on your rights as a copyright holder, they may be removed by sending a pull request or opening an issue. However, note that we have no control over the destination of the link, and just removing the link from the playlist will not remove its contents from the web. Note that linking does not directly infringe copyright because no copy is made on the site providing the link, and thus this is not a valid reason to send a DMCA notice to GitHub. To remove this content from the web, you should contact the web host that's actually hosting the content (not GitHub, nor the maintainers of this repository).

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

This project is in early phase. If you want to change any function, feel free to do. You could refactor, propose architecture changes, design assets, add new features, provide CI/CD things and build for other platforms. Basically, all changes that can improve this software are welcome.

Acknowledgements

FFmpeg

This software uses code of FFmpeg licensed under the LGPLv2.1 and its source can be downloaded here

License

This software licensed under MIT.

Special Thanks

I want to thank people who supported me while creating this software: My family and Şamil, Alperen, Fatih, Deniz.

pitv's People

Contributors

ozankaraali 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  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pitv's Issues

Translate to different languages

I am currently not looking for translators, but eventually, we will need them. Thank you if you want to contribute too, we don't have any infrastructure yet.

So far I am opening this issue because we want to add different language options for the app to make it easier for people.
We want to add different language options, for example, Turkish (just an example, since I am Turkish, this is the first example that comes to mind).

So, I need to keep all strings outside of the app. Add a language selection to settings first then maybe a "first-time user" modal that will be designed via the "Add preset locations" issue.

I am opening this issue if someone wants to try before me since it's somehow one of the easy tasks, if not I will do it eventually.
I am not expecting this task to be a ten-minute task and also I do not intend to make anyone work for me for free. As I said before if you want to do it before me, you're welcome to try; otherwise, I will do it eventually.

Add preset locations

So far I am opening this issue because we want to preset locations for new-coming users.

Basically, we need to design a welcoming modal. That asks the user for language and location. I have " country flags" on my mind, but I am not sure yet, it might be a filterable list also. I don't know which user interface would be more efficient.

Anyway, after asking for language/location, it should change strings by the language provided. For the location, the user can set global/worldwide to download the current preset playlist. Otherwise, it should return to the country playlist (see: https://github.com/iptv-org/iptv#grouped-by-country).

I am opening this issue if someone wants to try before me since it's somehow one of the easy tasks, if not I will do it eventually.
I am not expecting this task to be a ten-minute task and also I do not intend to make anyone work for me for free. As I said before if you want to do it before me, you're welcome to try; otherwise, I will do it eventually.

Not getting channels from an STB

Hello, I have been trying to connect to the STB servers but to no avail. First one gives me an error of "First certificate not found", the second server gives no errors but still no channels show up.

Thank you

I got a error

When I tried to add new server info (url and mac) I got this error
(node:2927) UnhandledPromiseRejectionWarning: FetchError: invalid json response body at http://<server url>/server/load.php?type=stb&action=handshake reason: Unexpected token < in JSON at position 0 at /home/dys/PiTV/out/PiTV-linux-x64/resources/app/.webpack/main/index.js:24260:15 at processTicksAndRejections (internal/process/task_queues.js:97:5) at async /home/dys/PiTV/out/PiTV-linux-x64/resources/app/.webpack/main/index.js:24990:21 (node:2927) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 62) (node:2927) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. (node:2927) UnhandledPromiseRejectionWarning: FetchError: invalid json response body at http://nextv.bossna-caffe.com:25461/c/server/load.php?type=stb&action=handshake reason: Unexpected token < in JSON at position 0 at /home/dys/PiTV/out/PiTV-linux-x64/resources/app/.webpack/main/index.js:24260:15 at processTicksAndRejections (internal/process/task_queues.js:97:5) at async /home/dys/PiTV/out/PiTV-linux-x64/resources/app/.webpack/main/index.js:24990:21 (node:2927) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 64)

The player does not work

Hi, the channels are listed after login, but when I click on one of the channels, the video player always spins and it does not play the stream. I tried both on MacOS & Windows and have the same problem.

Deb package not working

Running Ubuntu 20.04

user@hp-laptop:~$ pitv
A JavaScript error occurred in the main process
Uncaught Exception:
Error: EPERM: operation not permitted, chmod '/usr/lib/pitv/resources/app/.webpack/main/native_modules/ffmpeg'
    at Object.chmodSync (fs.js:1209:3)
    at Module.<anonymous> (/usr/lib/pitv/resources/app/.webpack/main/index.js:334:27579)
    at n (/usr/lib/pitv/resources/app/.webpack/main/index.js:1:124)
    at Object.<anonymous> (/usr/lib/pitv/resources/app/.webpack/main/index.js:168:34845)
    at n (/usr/lib/pitv/resources/app/.webpack/main/index.js:1:124)
    at /usr/lib/pitv/resources/app/.webpack/main/index.js:1:957
    at Object.<anonymous> (/usr/lib/pitv/resources/app/.webpack/main/index.js:1:968)
    at Module._compile (internal/modules/cjs/loader.js:1152:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1173:10)
    at Module.load (internal/modules/cjs/loader.js:992:32)

deb package ubuntu mate 20.04 settings seems to be locked

Hi,
when starting Pitv in terminal :

pitv 
(node:2247128) UnhandledPromiseRejectionWarning: Error: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/lib/pitv/resources/app/.webpack/main/native_modules/build/Release/classic_level.node)
    at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:1822)
    at Module._extensions..node (node:internal/modules/cjs/loader:1226:18)
    at Object.func [as .node] (node:electron/js2c/asar_bundle:2:1822)
    at Module.load (node:internal/modules/cjs/loader:1011:32)
    at Module._load (node:internal/modules/cjs/loader:846:12)
    at f._load (node:electron/js2c/asar_bundle:2:13328)
    at Module.require (node:internal/modules/cjs/loader:1035:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at 4583 (/usr/lib/pitv/resources/app/.webpack/main/index.js:2:46600)
    at o (/usr/lib/pitv/resources/app/.webpack/main/index.js:2:901278)
(Use `pitv --trace-warnings ...` to show where the warning was created)
(node:2247128) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
[2247158:1220/043020.718079:ERROR:gpu_memory_buffer_support_x11.cc(44)] dri3 extension not supported.
[2247128:1220/043025.897828:ERROR:nss_util.cc(349)] After loading Root Certs, loaded==false: NSS error code: -8018

Settings seems to be blocked
Screenshot

System is Ubuntu Mate 20.04.5

Possible to use local m3u playlists !?

Thank you in advance.

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.