An application which works together with cefbrowser and vdr-plugin-web to show HbbTV application and stream videos.
meson setup build
cd build
meson compile
meson install
The release exists in the subdirectory Release
of the build folder.
A default configuration can be found in folder config: sockets.ini
.
🔥 All ports/ip addresses in sockets.ini
must be the same as for cefbrowser
and vdr-plugin-web
.
It's safe to use the same sockets.ini for all of the three parts (vdr-plugin-web, cefbrowser, remotetranscoder).
-c / --config </path/to/sockets.ini> (mandatory parameter)
-t / --transcode </path/to/codecs.ini> (optional parameter)
-m / --movie <directory of the movie files, default ./movie (optional parameter)
-l / --loglevel <level> (from 0 to 4, where 4 means very, very verbose logging)
-s / --seekPause <ms> (wait ms milliseconds before really doing a video jump. In the meantime all jumps are collected)
Log entries will be written to stdout/stderr.
It's a good idea, to check if ffmpeg and ffprobe exists and that all necessary libraries exists.
cd build/Release
ffprobe movie/transparent-full.webm
ffmpeg -i movie/transparent-full.webm -t 10 -codec copy -f webm please_remove_me.mp4
rm please_remove_me.mp4
Both ffprobe and ffmpeg shall throw no errors.
url (the video URL)
cookies (the browser cookies)
referer (the http referer)
userAgent (the browser user agent)
responseIp (the ip of the browser http server)
responsePort (the port of the browser http server)
vdrIp (the ip of the VDR http server)
vdrPort (the port of the VDR http server)
postfix (random string)
Calls FFprobe of the URL to determine codecs and video length. Prepares internally the video stream.
url (the video URL)
cookies (the browser cookies)
referer (the http referer)
userAgent (the browser user agent)
responseIp (the ip of the browser http server)
responsePort (the port of the browser http server)
vdrIp (the ip of the VDR http server)
vdrPort (the port of the VDR http server)
Must be called after /Probe
and really starts the video streaming. The TS packets are send directly to VDR.
streamId (id of the stream, created by /Probe)
Pause the video stream.
streamId (id of the stream, created by /Probe)
seekTo (String containing the timestamp)
Jumps to another position in the video stream.
streamId (id of the stream, created by /Probe)
Resumes the video streaming, called after /Pause
.
streamId (id of the stream, created by /Probe)
Stops the video streaming.
Returns the created transparent video file.