[mythtv-users] cablecard

Brad Templeton brad+myth at templetons.com
Thu Apr 7 18:23:42 UTC 2005


On Thu, Apr 07, 2005 at 01:25:12PM -0400, dean collins wrote:
> Why does MythTV need to do the decryption? Why cant it just take the
> video stream it is delivered?


This is the interesting question of the non-decrypting DVR.  It's "possible"
as long as the receiving equipment doesn't insist that the timestamps in the
encrypted broadcast stream match the current real time.

But it's never going to be great.   You can do the basic features.   You
need an OSD stream which is overlayed on the video stream at the monitor that
is decrypting, or you can't do OSD.

You can't do commercial elimination (though in theory you could do that if
you are given access to a down-rezzed in the clear version of the video.)

Transcoding is right out, of course.   I don't like claims of impossible but
I think it's safe to say any encrypted stream can't be transcoded in a meaningful
way.

Editing is very difficult, though it's just barely possible.  Many things become
possible only if you have the post-decryption parts of the monitor do the work.
For example, you can't do freeze-frame in your DVR, you would need a command
to send the monitor to tell it to freeze the last frame.   In theory you could
be told in the clear where the I-frames are and do rudimentary cutlisting of
a video stream, but only if the encryption scheme is such that it starts a new
cypher block at these I-frames.


Two principles remain clear:
    a) It's hard, sometimes impossible to do stuff
    b) You can only do, in most cases, what you have already thought of to do.
       New features may be theoretically possible, but require downstream support
       and you don't control the downstream.

So yes, you can do a rudimentary PVR without decrypting the stream, if they
don't try to stop you with timestamps.   But can you do the next great
invention to come down the pike?  We don't know, and the answer is probably no.


More information about the mythtv-users mailing list