The recoder-tools target the same general goal as the vdr-mplayercluster-plugin from Sascha Volkenandt but with a slightly different way of doing: It does not a specialized plugin derived from the mplayer-plugin with the now obvious disadvantages of continuously further development (e.g. integrating new features from mplayer-plugin to mplayercluster-plugin or bugfixing for newer vdr-versions). Instead it replaces the well-known "mplayer.sh" script with its own binary recoderc. This client has the task to connect to a recoderd-server and tell him the filename to be played. The server now starts a mplayer-process which does the reencoding to MPEG (using the real mplayer.sh script). The transcoded MPEG stream as well as all output from mplayer is forwarded to the client. Also the client forwards all input (e.g. SLAVE-commands) to the server, which sends the to the server's mplayer input. All together, recoderc acts like a normal mplayer.sh script (input, output, video-data) but the CPU critical part is done on another host.
Currently the code is still in a early alpha state and being hardly developed further, but a first version with the basic desired functionalty is available:
I had the time to fix some bugs and improve the recoder-tools a bit more. See Changlog for more info.
Again I had some time to fix a long pending deadlock on invocation. For detailed changes see ChangeLog.
So far, there is no real documentation as I do not have time to write much. I just translate some hints I gave Thomas Glomann, when he was the first one interested in my recoder-tools:
configure; make; make install.
The IP of the
If you do not like the default port for the recoder-server (40404), you can set another default here. Most users do not need this!
This is a try to fix the bug apearing as a deadlock on
startup. If you happen to have these deadlocks, increase the
value of frames here. The default value is
5. Please tell me about your success or
failure with different values and add a note about the used
make installinstalls the programs recoderd (the "server") and recoderc. The server program is needed on your transcoding server and the client on your vdr host. If you use different linux distributions (to be exaclty: different versions of libstdc++) on these hosts, you should compile and install both programs on both hosts seperately.
$PATH, but only the vdr machine needs a mplayer with DVB support. The mplayer installed on your vdr machine does not need any additional support (e.g. codecs). Its only purpose is to play the transcoded MPEG stream, generated from your transtranscoding server, on the DVB device. The mplayer on your transcoding server obviously should support as much as possible if you want to be able to play as much media codecs as possible!
VOconfig variable of Juri's mplayer.sh to
/video/mplayer/film.aviis accessible on the transcoding server via the same path.
/videovia NFS, which also contains the subdir
/video/mplayercontaining some media files for the mplayer-plugin.
/shareis configured to mount
while true; do recoderd; done
Back to VDR