television

a simple LAN/WLAN desktop public broadcasting service
git clone http://git.permacomputing.net/repos/television.git # read-only access
Log | Files | Refs | README

commit e35651fa88890145e400132da86b163a58e0db7c
parent 5e7253086f28e01d643d91b5ee937e441ae22717
Author: ugrnm <ultrageranium@bleu255.com>
Date:   Wed,  9 Oct 2024 23:36:51 +0200

patches welcome

Diffstat:
AHACKING | 29+++++++++++++++++++++++++++++
1 file changed, 29 insertions(+), 0 deletions(-)

diff --git a/HACKING b/HACKING @@ -0,0 +1,29 @@ +patches are welcome! + +send diff, git format-patch patches, etc. + +possible things to improve: + +- right now kbinani/screenshot is used for taking a screenshot, and I'm a bit +split about it. In theory it should work both under X and wayland so that could +be nice. In practice though, I don't use wayland, don't think I will use it +anytime soon, if ever, so testing and motivation to support this is not great. +Also under X it seems much much much slower than using imlib2 directly. With +the -snap feature, I notice I'm using mostly scrot in place of the default +screenshot implementation, so why not just dropping screenshot and do a fast +imlib2 implementation only for X? + +- when I was pondering which image format to use, jpeg was basically a good +compromise between encoding/decoding time and file size. GIF is super fast to +encode/decode but will generate massive files, and webp is really super slow +for encoding/decoding and the super small file size does not matter given +that encoding and decoding is main task of television server and clients. +image/jpeg was however suprisingly slow so I picked apixiv/go-libjpeg instead, +which when compiled on a system where libjpeg points to libjpeg-turbo is two +times faster than golang's own implementation. Any room to improve further? + +- -idle only works on X, same remarks as above regarding wayland. Worse, I am +not sure it's even possible to detect user activity under wayland :) + +- password, publishing to a public IP, etc. If this is needed, I think it's +probably better to proxy with nginx, use tinc or some ssh tunnel, etc.