The heartbeat has to sent every now and again to keep the stream going.
Otherwise you will get a 403 after a few minutes when trying to access
the playlist.
This is done, because there might be some special conditions for the
player to work. For example on fc2live a websocket has to be open while
the player is running. The SiteUI can handle these cases transparently.
Implementing #142.
This has feature has the disadvantage, that the recording is always detected as still
recording, because the finished state is assumed by the existence of the playlist file.
End the websocket download if a model changes state from online. Also
properly close both sockets and set isAlive to false, if the download is
closed or fails
Since the JavaFX integrated browser does not work reliably for recaptcha and in general does not behave like standard browsers, I now use an external browser for the logins. The dependency to javafx-web has been removed.
The external browser is based on electron, which uses chromium as internal browser. The implementation can be found at https://github.com/0xboobface/ctbrec-minimal-browser
The browser is a minimal browser, which only shows the web page content without any other controls. It is launched by ctbrec in a new process and remote controlled over a socket connection. I first tried to control it via
stdin/stdout, but it turns out, that stdin is not supported by electron on windows.
The following commande help build the server with the required version :
docker build --build-arg versionM3u8=0.2.7-CTBREC --build-arg version=1.16.0 --build-arg memory=-Xmx192m -t bounty1342/ctbrec . --no-cache
Next update could select the branch or commit to ease testing.
This is the first version with working downloads for SD and HD. These
dowloads only work, if you are logged in. So at the moment you have to set the
session ID in the settings to make this work. The session ID can be copied
from a valid session in a browser.