Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A web-based multi-party live television streamer

License

NotificationsYou must be signed in to change notification settings

ahamlinman/hypcast

Repository files navigation

Screenshot of Hypcast tuned to a channel

Hypcast is a web-based multi-party live television streamer based onGStreamer andPion WebRTC, designed to work with TVtuner hardware on Linux hosts. Start it up, click a channel, and stream liveTV from wherever you are. Connect with another device and share a perfectlysynchronized live stream, even as you change channels.

Please note…

  • Hypcast is a personal project with a limited feature set that meets myspecific needs. It is made available to the public in the event that itmight be useful to others, however I provide no guarantees aboutmaintenance, functionality, or backwards compatibility. For example, flagsand environment variables used to configure the server may break at anytime.
  • This is version 2 of Hypcast, a complete rewrite of the original projectusing a radically different implementation and providing a completely newuser interface. The original version of Hypcast remains available athttps://github.com/ahamlinman/hypcast-v1, but is not maintained.

Setup Guidelines

There are no "official" instructions or support for running Hypcast, but ifyou're willing to work through it and try it out here are some generalguidelines.

Hypcast requires asupported ATSC tuner card, along with achannels.conf file providing tuning information. Thew_scan2 utility can generate this file. For example, to scan forover-the-air channels within the United States:

w_scan2 -f a -c us -X> channels.conf

If you're okay with a software-based transcoding pipeline, it's probablyeasiest to run Hypcast using the container image published atghcr.io/ahamlinman/hypcast:latest, with the following configuration:

  • TV tuner devices passed through with--device /dev/dvb
  • channels.conf placed at/etc/hypcast/channels.conf inside thecontainer, e.g. by putting it at this location on the host and passing-v /etc/hypcast:/etc/hypcast:ro
  • Host networking enabled with--net host, to allow WebRTC connections tothe server without NAT traversal (which Hypcast does not support); the-addr flag can configure the server port if necessary (default:9200)

Alternatively, if you want to enable hardware accelerated video processingthroughVA-API (which the container image does not support), you caninstall and configure GStreamer and gstreamer-vaapi on your own system, thenbuild and run the Hypcast binary yourself with-video-pipeline vaapi. Seethe Makefile for details of how to build a Hypcast binary with embedded clientassets for convenience.

Hypcast is not designed to be exposed to the Internet! It is expected torun on a fast local network, orperhaps over a private VPN. Allowing publicaccess could present security issues and/or violate laws in your jurisdiction(be advised that I am not a legal professional, that the suggestion of thispossibility does not constitute legal advice, and that as a user you arefully responsible for ensuring that your personal usage of Hypcast complieswith relevant local laws).

Potential Improvements

  • The UI could use some additional work to ensure robustness againstfailures, e.g. automatic reconnection if the server restarts or whatever.
  • There are no controls for data rate and encoding quality like version 1 had.Ideally these would adjust automatically based on connection quality,possibly with some way for clients to request a lower quality to save data.I don't expect this to be trivial to implement.
  • The system does not support any form of NAT between the server and client,including typical container networking implementations. This would requireconfiguring a STUN server.
  • The UI is currently hardcoded to connect over insecure WebSockets.
  • Closed captions are not supported.

About

A web-based multi-party live television streamer

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

[8]ページ先頭

©2009-2025 Movatter.jp