thanks for the great work on rtranscode. I was looking for an efficient transcoding toolchain for the Raspberry Pi and this was just what I was looking for.
My goal was to create a simple transcoding HTTP proxy (e.g. for Enigma2 set top boxes). This is what it should do:
[*] Take a client request (e.g. 'http://raspi:8001/test.ts
[*] Relay the request to an upstream source using the original request path (e.g. 'http://enigma2:8001/test.ts
[*] Return a transcoded video stream to the client
Of course this means that there is no channel list and all requests have to be analyzed using omxplayer. I also had to take care of cleaning up after omxplayer, because after starting omxplayer once from a python process, it would not reliably work any more and leave running dbus-daemon processes.
I also added some logic which allows a priority setting for audio languages (first language in the list has the highest priority). Without it, I would often get the wrong audio track (e.g. with audio description for the blind).
Another change was to not use http-launch, but instead use a simple python-based HTTP server, so it could handle more than one (sequential) request. This means I am also running gstreamer directly from python using the gstreamer python binding.
The end result still heavily relies on your code. I hope you are fine with me releasing it, of course giving credit to your great work and respecting the GPL.
You can find the source code for this 'rtranscodeproxy' right here:
Warning: This is experimental software. I only tested it using enigma2 http streams and the DreamDroid Android app as well as VLC player. The current version supports everything I need right now, so if you have any requests, feel free to submit a pull request or fork the repository.