Giter VIP home page Giter VIP logo

Comments (24)

Chris230291 avatar Chris230291 commented on August 12, 2024

I am not really sure what you mean about changing the code.

I already want to try and add the ability to add multiple accounts in the web UI and edit the playlists (enable/disable channels), but I have no idea how to do the html part. eg...

Accounts

+-------------+-------------------+----------------+--------+
|    Name     |      Portal       |      Mac       |        |
+-------------+-------------------+----------------+--------+
| my portal 1 | portal.com        | 00:00:00:00:00 | Delete |
| my portal 2 | anotherportal.com | 11:11:11:11:11 | Delete |
+-------------+-------------------+----------------+--------+

+-------------+-------------------+----------------+--------+
|    Name     |      Portal       |      Mac       |        |
+-------------+-------------------+----------------+--------+
|             |                   |                | Add    |
+-------------+-------------------+----------------+--------+

Playlist

+----+--------------+-------------------+
| On |     Name     |      Account      |
+----+--------------+-------------------+
| ✓  | Channel 1 HD | anotherportal.com |
| x  | Channel 2    | anotherportal.com |
| ✓  | Sports       | portal.com        |
+----+--------------+-------------------+

I also considered a html5 web player. I think the links that the app generates should be playable directly in the default html5 player? But again, making a nice UI with EPG etc has held me back.

from stb-proxy.

kettenbach-it avatar kettenbach-it commented on August 12, 2024

Okay, I see what you mean.
I can do those things.
But I definitely need to refactor your code into a clean object oriented a strongly typed style.
Otherwise we'll most likely end in complete spaghetti chaos.

I'll start working on it.

from stb-proxy.

Chris230291 avatar Chris230291 commented on August 12, 2024

I decided to try and learn some html/css today.

I have come up with this

image

from stb-proxy.

kettenbach-it avatar kettenbach-it commented on August 12, 2024

@Chris230291 Looks good. Did you use some kind of framework for this?

You might want to wait a couple of days until I refactored the backend code.

from stb-proxy.

rockydares avatar rockydares commented on August 12, 2024

@kettenbach-it , should I suggest some things to add?
Here are some things that I've noticed.
Current application doesn't connect to all portals, some of those connect, many of those doesn't. Rewriting login would be great. I've noticed all MAC based portals calls a url http://portal/stalker_portal/c/xpcom.common.js or http://portal/c/xpcom.common.js while connecting.
HTML5 streaming would be great option alongside with m3u playlist. Please consider if more than one portals could be connect at the same time (with different playlist names like /magportal /4ktv /eurostar etc). Thank you

from stb-proxy.

kettenbach-it avatar kettenbach-it commented on August 12, 2024

I can imagine an HTML5 frontend. I have also developed one for another application before. It runs here:
http://nistkasten.casa-kettenbach.de/
It shows a webcam inside a bird nesting box. The birds nest is currently uninhabited. The controls for switching channels are missing, since there is only one channel. But it's easy to add this.

However, I must make it clear that I do not work with "Freestyle CSS and HTML" and cannot process such code in a meaningful way. That's why I asked if a framework was used. The video viewer mentioned is written in Angular which is the modern way to do. Alternatives would be Vue.js or React. It makes no sense to go with HTML and CSS since it will never be able to work in any browser etc.

The subject of logging in to various portals is a very unpleasant one. In "stalkerhek" it was also hell. It's just hard to analyse and debug. If you both could help there, it would be good. I'm a professional Python developer, which means I can write a good backend for an HTML viewer in half a day and a suitable viewer in half a day - possibly with multiple portals. Given that the specification are clear.
But what I can't do is work out exactly how the login works - I can't figure out the specifications. I simply don't have the time.
I had hoped that Chris's work would take the login issue off the table and I would just have to develop straight ahead.

I see what I can do.
I'm trying daly to write some code.
I already started with the tests, but the refactoring of the code needs to be done before.

from stb-proxy.

Chris230291 avatar Chris230291 commented on August 12, 2024

Hello. Its seems there are many more portal urls then I/we first thought. Never seen those http://portal/stalker_portal/c/xpcom.common.js or http://portal/c/xpcom.common.js".
Maybe I can just have the user enter the full url instead of trying to guess it for them. The problem is I know a lot of people will complain that the app doesn't work, because the site where they got the url from almost never includes the full url.
As for the ui. I hade it from scratch. Just html and css. I have multiple accounts working in the UI and reading/writing from the config. Maybe hold off doing any work until I rework what I have. Then you can show me the correct way to do it.

from stb-proxy.

rockydares avatar rockydares commented on August 12, 2024

But what I can't do is work out exactly how the login works - I can't figure out the specifications. I simply don't have the time.

I understand, I'm already into it and finding the best way to log on to most of the (almost every) portal there are. I'm somewhat successful also with 'stalkerhek' which previosuly wasn't connecting without given the right authrization token in the configuration, now it simply connects with just MAC and portal. I'm trying if it can be implemented in this app. Login won't be a problem.

Its seems there are many more portal urls then I/we first thought.

Portal URLs almost look same for most of them, but login machanism is different. Eg. I have right portal and mac and it doesn't connect with STBEmu but it does connect with OTT Navigator with given mac portal + username password (cause the portal needs to match a valid device serial number to connect). Next there are some portal which calls for get_profile one time right after handshake but there are also some portals which calls get_profile three times (than it forwards to get_account_info ). I think this http://portal/c/xpcom.common.js thing is just a javascript which gives intruction the the portal how to connect with the right credentials, leave it for now cause we can do fine without it.
@Chris230291 I would recommend you a windows app named SFVIP by salezli which is a very good desktop app which works better without using android emulator and stbemu.

from stb-proxy.

Chris230291 avatar Chris230291 commented on August 12, 2024

I now have multiple playlists working with the ability to enable/disable channels and rename them.
I am not really sure which is the best way to do a web player though. Should I use ffmpeg on the server to convert to a html5 friendly format or use some kind of specials player? Any input is appreciated.
As for extra portal support... I haven't looked into it at all. We need to have all of the different portals properly documented first I think.

from stb-proxy.

Chris230291 avatar Chris230291 commented on August 12, 2024

Here are some images
image
image
image

from stb-proxy.

Chris230291 avatar Chris230291 commented on August 12, 2024

Just added support for custom genres too

from stb-proxy.

rockydares avatar rockydares commented on August 12, 2024

Just added support for custom genres too

Awesome, much awaited feature.

I am not really sure which is the best way to do a web player though.

Can javascript be used to play through web player? I got a repository for the same.

from stb-proxy.

Chris230291 avatar Chris230291 commented on August 12, 2024

I think that might be above my knowledge.
Good news is I have streams playing using ffmpeg to convert to mp4 and using the default html5 player.

from stb-proxy.

rockydares avatar rockydares commented on August 12, 2024

Good news is I have streams playing using ffmpeg to convert to mp4 and using the default html5 player.

Cherry on the cake. Complete package. When are you planning to update it here?

from stb-proxy.

Chris230291 avatar Chris230291 commented on August 12, 2024

I have uploaded it as a separate branch because it is not finished and might have issues.

Couple of things ...

  • The player UI is functional but not as pretty as I would like it.
  • More often than not the player needs pausing for a few moments after selecting a channel to get rid of the loading spinner. I think this might have something to do with how I stream the ffmpeg output. I wonder if @kettenbach-it can help there? Is is possible to yield entire chunks instead of line-by-line?
  • The now/next info is taken from the first and second index of the epg short data from the server. I am making the assumption that it never returns "old" data. Let me know if it does, I could always reference the start and end times if necessary.
  • I removed a lot of the "try" statements from the code in an attempt to provide better logging. Not sure if that is going to cause issues.
  • Before editing anything on the edit page you need to wait for the page to finish loading.

Let me know if you find any issues or have any suggestions.

from stb-proxy.

kettenbach-it avatar kettenbach-it commented on August 12, 2024

@Chris230291
I'm really willing to help, but it's hard for me to keep up with your speed. I'm struggling to find the time to work on this.
Therefor, it's good, that you put it into a separate branch so I can work on the Python code. I will put that in a separate branch to and submit a pull request.

Question: what is the video format, the portals send?

from stb-proxy.

kettenbach-it avatar kettenbach-it commented on August 12, 2024

@Chris230291

Can you put the code for the recoding feature (ffmpeg) into a separate method, so that one can enable it by an option given in environment variable!? Or in a seperate endpoint like (/stream4web) or so.

There will be people that don't need that, because they're using vlc, not the web.
And ffmpeg always caused trouble so it's better to make it optional.

from stb-proxy.

rockydares avatar rockydares commented on August 12, 2024

test

@Chris230291 I tested and I could not create a playlist. It is loading all the channels and selecting some of them and naming them is not working, neither selecting all of them is making playlist.
I would recommend that renaming channel names is not necessary but including or excluding Genre and excluding some channels (which does not work or buffer a lot) would be great. I have a sketch for that model here below

photo_2021-09-11_13-23-27

from stb-proxy.

kettenbach-it avatar kettenbach-it commented on August 12, 2024

@rockydares Could you please open a new issue for your comments on the actual state of the html frontend!?

This issue here was for general questions on the development

from stb-proxy.

Chris230291 avatar Chris230291 commented on August 12, 2024

@Chris230291
I'm really willing to help, but it's hard for me to keep up with your speed. I'm struggling to find the time to work on this.
Therefor, it's good, that you put it into a separate branch so I can work on the Python code. I will put that in a separate branch to and submit a pull request.

Question: what is the video format, the portals send?

In theory the portals could stream the data in a variety of formats. I think the most common is mpeg-ts

@Chris230291

Can you put the code for the recoding feature (ffmpeg) into a separate method, so that one can enable it by an option given in environment variable!? Or in a seperate endpoint like (/stream4web) or so.

There will be people that don't need that, because they're using vlc, not the web.
And ffmpeg always caused trouble so it's better to make it optional.

ffmpeg is only used for the player. It uses a different endpoint /stream vs /channel

In theory I could have options to enable it in the playlist too and even choose the output format. But low priority. The web player I consider a nice to have and I thought I would learn some stuff. Personally I only use the playlist and combine it with my satellite and OTT in TVHeadend. I cant imagine many other uses apart from IPTV apps or enigma style boxes that should already support any format a portal used.

from stb-proxy.

Chris230291 avatar Chris230291 commented on August 12, 2024

@Chris230291 I tested and I could not create a playlist. It is loading all the channels and selecting some of them and naming them is not working, neither selecting all of them is making playlist.
I would recommend that renaming channel names is not necessary but including or excluding Genre and excluding some channels (which does not work or buffer a lot) would be great. I have a sketch for that model here below

Did you hit "save". Also any edits made before the page finishes loading are ignored. I think because the javascript that handles creating the json request isn't loaded yet.

You do not have to rename or edit anything, just enable. It defaults to the default if left blank.

There are many bugs in the player tab, but I have not seen any with anything else. I'm sure they exist though!

Here is an example

image

Notice how bt sports 1 reverts to the default in the playlist

image

from stb-proxy.

kettenbach-it avatar kettenbach-it commented on August 12, 2024

@Chris230291

Could you merge "testing" into "main"?

I think I can help you better if I do the refactoring on the newest code!

from stb-proxy.

Chris230291 avatar Chris230291 commented on August 12, 2024

@Chris230291

Could you merge "testing" into "main"?

I think I can help you better if I do the refactoring on the newest code!

OK. Since the only issues I am aware of (not including support for the portals that haven't been documented) are related to the player, and I consider the player to be an extra and not core, I have made "v2" the current version.

from stb-proxy.

kettenbach-it avatar kettenbach-it commented on August 12, 2024

Great! I pulled the changes. I will really try hard to work on the backend during the next week.

from stb-proxy.

Related Issues (20)

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.