Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to make this work in website? #20

Open
Bipin-Neupane opened this issue Nov 11, 2022 · 2 comments
Open

How to make this work in website? #20

Bipin-Neupane opened this issue Nov 11, 2022 · 2 comments

Comments

@Bipin-Neupane
Copy link

As mentioned in the repo, "host must be an IP address of the server on the LAN". Is it possible to configure secured host(SSL domains) and use this feature for live streaming on own website? I have very little idea on how everything works here. Any suggestions?

@xvpc
Copy link

xvpc commented Mar 30, 2023

I would like an answer to that too!

@warren-bank
Copy link
Owner

warren-bank commented Mar 30, 2023

quick set of bulletpoints..

  • although this server wasn't intended for production use, I suppose it would be possible
    • personally, I'd wrap it in a Lambda function and use some clever URL redirection logic to use a CDN (rather than an internal cache)
    • for ex: video segment URLs could be rewritten to point to a CDN, and the CDN could be configured to use the hls-proxy as its origin server
  • I get the impression that neither of you have anything so complicated in mind.. so a few quick generic comments about usage
  • on a website with a video player (ex: Clappr):
    • rather than configuring the player to use an HLS manifest at some video host, you could easily rewrite the URL (for this manifest) to load through the hls-proxy
    • to do so, the hls-proxy would need to be accessible on the WAN (ie: internet) at some IPv4:port
    • this is the value that you would pass to hls-proxy on the command line: --host IPv4:port or if you want to use DNS: --host hostname:port
      • explicitly specifying a port number in --host is only required if the publicly-facing port is different from the --port that the server is actually listening on
      • for example, there is some layer of networking between the user and the hls-proxy that performs port mapping
    • if you use a TLS certificate with hls-proxy: --tls-cert <filepath> --tls-key <filepath> --tls-pass <filepath>, then you'd use an https: protocol in your manifest's URL, rather than http:
    • browser security policies apply.. which (depending on your particular browser and its version) can effect your ability to access unsecure content from a page loaded with https:

@xvpc
..regarding your specific attempt to use Github Pages to host an instance of hls-proxy
..to the best of my knowledge, that's not possible
..my understanding (and personal usage) of Github Pages is that it's only for static file hosting
..but hls-proxy is not static
..it binds to a port and listens for incoming connections
..world of difference

@xvpc
..regarding your example on stackoverflow
..I should just point out that you're completely forgetting about base64 encoding
..you should really read the README

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants