tomcast reads mpeg transport streams over http or udp (multicast or unicast) and outputs them to chosen multicast group. Basically a simple http2multicast daemon designed to work 24/7.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Georgi Chorbadzhiyski 7dd2c7cccd Fix 'detect encrypted inuot' logic, it was reversed 6 years ago
libfuncs @ 0dc8d87080 libfuncs: Update library. 9 years ago
.gitignore Add .gitignore file. 10 years ago
.gitmodules Add libfuncs as git submodule. 10 years ago
COPYING Initial import. 10 years ago
ChangeLog Add support for detecting encrypted input 6 years ago
Makefile Add web status/info/control interface 7 years ago
README Add more info in the README file. 10 years ago
README.WEB_ACCESS Add web status/info/control interface 7 years ago
TODO Release tomcast as free software. 10 years ago
bitstream.h Detect if the input is encrypted and switch the input 6 years ago
channels.conf-example Release tomcast as free software. 10 years ago
config.h Fix 'detect encrypted inuot' logic, it was reversed 6 years ago
tomcast.c Fix 'detect encrypted inuot' logic, it was reversed 6 years ago
web_pages.c Use proper funtion prototypes 7 years ago
web_pages.h Add web status/info/control interface 7 years ago
web_server.c Add web status/info/control interface 7 years ago
web_server.h Add web status/info/control interface 7 years ago

README.WEB_ACCESS

To enable the web access start tomcast with -b (listen address) and
-p (listen port parameters).

For example: tomcast -b 127.0.0.1 -p 8081

Now you can access the web interface exposed by tomcast at

http://127.0.0.1:8081/

The following endpoints are accessible:

http://127.0.0.1:8081/getconfig

Return currently configured channels in channels.conf format
that tomcast uses.


http://127.0.0.1:8081/reconnect

Reconnect all sources. If channels have more than one source
the source will be changed to the next available source.


http://127.0.0.1:8081/reload

Reload config file. This would start/stop new/removed channels.


http://127.0.0.1:8081/status

Return current channels status. The status looks like this:

# Status DestAddr ConnTime ReadBytes ChanName ChanSource ProxyStatus
CONN_OK 239.78.78.78:5000 123 148708 chan1 http://example.com:8080/stb/chan1.mpg Synced
CONN_ERROR 239.79.79.79:5000 60 65800 chan2 http://ux.iptv.bg:8080/stb/chan2.mpg Synced
CONN_ERROR 239.80.80.80:5000 0 0 chan3 udp://239.1.2.3:5000/ Connected

"Status" - current channel status which can be CONN_OK or CONN_ERROR

CONN_ERROR - Means that the source of the channel is currently
not connected or bytes read are at least 1316 or
ConnTime is 0

"ProxyStatus" - Last connection status

Connected
Working

Reconnecting

Dying
Forced reconnect

ERROR: Can not connect to source
ERROR: Can not resolve source host
ERROR: Can not sync mpeg
ERROR: Dns resolve timeout
ERROR: Read timeout
ERROR: Source returned invalid HTTP code
ERROR: Source returned no-signal
ERROR: Source returned unhandled error code
ERROR: Timeout while syncing mpeg
ERROR: Too many zero reads
ERROR: fdread() timeout while syncing mpeg
ERROR: fdread() timeout while syncing mpeg