Hallo allerseits,
hier auch mal ein Versuch eines Plugins von mir.
ABSOLUTES ALPHA STADIUM!!!
Das Ganze basiert auf dem Softdevice Plugin, nur wird bei diesem Plugin ein
neuer MPEG2 Stream erzeugt und per "raw TS over UDP" versendet.
Das OSD wird in den Stream reingemischt.
Man benötigt hierzu natürlich eine starke CPU.
Ich habe es hier auf einem Athlon XP1800 getestet bei ca. 40-50% Last durch das Plugin.
Dieses Plugin ist _NICHT_ als Ersatz für das Streamdev Plugin gedacht, sondern zielt eher auf Konfigurationen ab, die aus einem Server mit Budget Karte im Keller bestehen. (als Fernwartung quasi)
http://nano.gmxhome.de/softdevice2net-0.0.1.tar.gz
---------------------------------------------------------------------------
softdevice2net
--------------
This is a "plugin" for the Video Disk Recorder (VDR).
It is based on the softdevice plugin originally written by
Roland Praml <praml.roland@t-online.de> with modifications from
the following people:
- Holger Waechtler <holger @ convergence.de> for some DFB-examples and useful tips
- Stefan Lucke <stefan @ lucke.in-berlin.de> for the Xv-output
- Vadim Catana <vcatana @ registru.md> for the Vidix-output
Description:
------------
This plugin is a MPEG2 decoder which mixes the decoded MPEG2 stream
with the OSD, reencodes the decoded frames using ffmpeg/MPEG2 and
broadcasts the resulting stream over the network (preferably raw TS over UDP).
Requirements:
-------------
- libavcodec (latest ffmpeg from CVS)
- libavformat /latest ffmpeg from CVS)
- A strong CPU (I have tested it on an Athlon XP 1800, 50% load)
- client capable of replaying the stream (raw TS over UDP)
(I have used the latest vlc(0.4.3) from CVS on Windows XP).
Installation:
-------------
This plugin is written for VDR >=1.3.7
As usual, unpack the plugin and make a link in the
./VDR/PLUGINS/src directory
modify the path to libavcodec and libavformat in the Makefile.
Adjust other options (MMX/ MMX2)
start vdr with -P'softdevice udp://224.0.0.1:1234/test.ts' to use multicast.
Make sure you have added a route to 224.0.0.0 before.
You can also try udp://192.168.10.10:1234/test.ts to send the stream to only one IP,
preferably your client. The filename extension(.ts) is important, because ffmpeg deduces the
output format from that extension. So it should be possible to try other URLs supported by ffmpeg,
but keep in mind that this is completely untested.
Problems/todo:
--------------
What does NOT work:
- when switching the channels a lot of times, too many empty frames are streamed to the client,
resulting in increased latency time.
- Audio is not implemented
- No alpha blending currently because of Bpp 16
- Recordings are completely untested
What DOES work:
- you get a picture (fixed to 352x288, 16 Bit, only I frames)
- you can zap through the program and use OSD (eg. through the remote of vdradmin)
Please note that this is a very alpha version. (proof of concept)
Internals:
The decoded frames are reencoded using ffmpeg. If there are no frames to be decoded (eg.
you switched the channel) empty frames are encoded to keep up sending the TS over UDP.