SageDCT is a SageTV network encoder for DRI enabled Digital Cable Tuners (DCT).  It will only work with Copy Freely content.  Currently, only the Ceton InfiniTV 4 with 51+ (currently in beta) firmware will work.  Other tuners will be added as they become available.

Thanks to Mikinho for technical assistance, StreamCoders.com for the RTP.NET library (http://www.streamcoders.com/products/rtpnet.html).

If SageDCT will be writing to a network location (UNC) you will need to change the service credentials to a user with network access.  The service installs as SYSTEM.

Network Encoder configuration is handled via the included application.  Use the "Discovery" tab in ConfigureSageDCT to generate the Sage.properties entries necessary.

Logs are written to %ProgramData%\SageDCT\, if you encounter an issue please capture a verbose log (service needs to be restarted to detect the change) and send it to me.

Known Issues:

1) The video stream in some files is not recognized on Sage V7 (skip this step on V7.1).  Download these files to fix it - http://download.sage.tv/users/qian/7.0.23/MpegDeMux.ax and http://download.sage.tv/users/qian/7.0.23/DShowPlayer.dll

2) SA and Comskip have trouble with some files.  

3) Update the Ceton card to the latest firmware/drivers.

1.0

- Initial release

1.1

- Add Test tab to config utility
- Add Data Recieve debug logging
- Usability enhancements in config utility
- Channel preview support
- Threading bug fixed (thanks Mikinho)

1.2

- Bugfixes
- Change UPnP library
- Set starting RTP port to 5010.  If binding issues are noted in the logs, check that this value is > 5004.

1.3

- Add UPnP Device caching for brief time periods (DeviceLifeSpan, time in seconds to cache)
- Try UPnP actions again if the first time fails, force the cached device to recycle if this happens

1.4

- Fix a bug writing program number to packet indicator
- Double default RTP Buffer
- Try to recover from tuner disappearance
- Significant changes to UPnP Device caching

1.5
- Add SSDP Discovery Service as a dependency 
- Add automattic recovery option when no RTP packets are received in X (default is 15) seconds

1.6
- Staticly assign discovered tuners to specific ports
- Fix a bug in encoder generation
- Change installer to work with XP+

1.7
- Add button to reset (delete) tuner assignments
- Use tuner assignments on test tab
- Fix a bug with encoder generation when not generating all of the encoders again

1.8
- Don't make firewall changes on unsupported OS versions

1.9
- Add UI enhancments to make managing static assignments easier
- Add feature to disable an assignment
- Add feature to change network encoder port per assignment
- Change to add support back for HDHR PRIME

2.0
- Fix a bug where tuners were not enabled by default
- Add channel scanning support (experimental)

2.1
- Add option for PBDA base DCT recording (experimental) requires AVIVO MPEG muxer specific to the PC's platform to be installed
- Refactored capture support to enable different (i.e. non-UPnP based) methods for interacting with the DCT
- Installer no longer starts SageDCT service
- Change RTP setup sequence to fix a potential race condition on some DCT
- Add option to delay RTP Play command if more time is required to setup RTP sequence
- Add x64 version (PDBA capture is platform specific)

2.1.1
- Additional PBDA Capture logging
- Add shortcut to Start menu from x64 installer

2.1.2
- Add more PBDA Capture logging

2.1.3
- More logging
- Potential workaround for missing sink

2.1.4
- Standby support for PBDA capture

2.1.5
- Add a check for discovered v. assigned tuners
- encode_digital_tv_as_program_stream setting is set according to recording preference
- encoder generation page displays a more descriptive name for tuners
- PBDA capture method will check for a successful recording using file size before returning 

2.1.6
- Better object cleanup
- Better error handling during PBDA capture cleanup
- Log skipped duplicate channels
- UPnP capture method will check for a successful recording using file size before returning 

2.1.7
- Recycle PBDA Tuner when the tuner fails after a configurable number of times (default is 2)
- Delay graph building for a configurable period (default is 30 seconds)

2.1.8
- Better PBDA tuner state management
- Add option to recycle tuner (PBDA only) on stop

2.1.9
- Fix some bugs around detecting a failed initial tune
- Add async writing option (WriteAsync, DWORD) for RTP/UPnP capture

2.2.0
- Explict RTP session cleanup (thanks Mark)
- Add option to monitor (log) process statistics 

2.3.0
- Add option to use VLC for RTP capture/file writing. Files created with this method will not have the special 'QAM' packet written to the front, but it will suppport MPEG-TS or MPEG-PS muxing by VLC based on the file extension requested by SageTV

2.4.0
- Internal tweaks (should fix issues introduced in 2.3.0)

2.5.0
- Fix a bug where the current file path wasn't set when using VLC

2.6.0
- Change how presentation URL is obtained for compatibility with upcoming HDHR FW release

2.7.0
- Add Ffmpeg RTP capture method. Preferred way to capture TS for other platforms

2.7.1
- Add DirectShow RTP capture method. Should resolve weird PID issues w/o using VLC. <- very beta
- Ffmpeg RTP method enhancements & logging

2.7.2
- Add FfmpegProbeMultiplier setting. Multiplies default ffmpeg probesize by this number. Default is 1.
- Add FfmpegAnalyzeMultiplier setting. Multiplies default ffmpeg max_analyze_duration by this number. Default is 1.
- Use av_find_best_stream to select video and audio tracks to be placed in position 0 & 1 in output file.

2.7.3
- Limit PSI scanning time
- Enhanced DS Muxer