Hey Folks,
I'd like to get some advice on the best way to proceed with some code I developed. Lately, I have
done a significant amount of work on the Live555 library. Live555 does not have a forum and I doubt
the code I developed would be rolled back into the library, because it seems to be under pretty
tight control. So I was considering spinning off a new project.
The features developed, beyond the basic library, revolve mainly around trick play (fast forward, rewind, etc.):
- Rewrote the Trick Play code to be more efficient and removed some bugs (changed the way the TS Stream was generated)
- Code to Encrypted MPEG2 Transport Streams (Verimatrix). Normal play and trick play
- Support H.264 trick play (it could already support normal play H.264)
Additionally, I modified and extended the library to decouple the disk storage from the library. This
allowed me to replace the standard disk IO with a different mechanism for reading and writing streams to disk.
This was required to support a network PVR rewind buffer, where the stream is not stored in a single file and
revolves so a single file does not grow endlessly.
Also I developed a library for processing transport streams using a Source->Filter->Filter->Sink concept.
This libary was used originally to process multiple channels of live MPEG2 transport streams. There are the
expected source and sink filters (file, TCP, UDP) but also filters for indexing MPEG2 and H.264 as well as
SCTE-35 markup used for commercial insertion. This also allows the transport stream to be indexed in real-time
so a person could "rewind" from live, with live only being delayed by 1 or 2 seconds.
This was all developed while I was building a network PVR for my house using a central server and Amino Settops.
All code was developed to be buildable on Windows or Linux (32 or 64 bit)
Does anyone have any thoughts on the best way to roll this back into the open source community or otherwise
leverage this work?
Regards,
Henry Terefenko