1. A method for packet substitution, comprising: receiving content data packets having at least first and second packet identifiers (PIDs) associated with first and second packets of content data within the same content data stream; programming a first PID into a demultiplexer configured to received said content data; enabling a content substitution selectable criteria by choosing said second PID; programming the second PID value into the demultiplexer; if a content data packet within the received content data at the set-top box demultiplexer is marked by the second PID, the demultiplexer is operative to change the packet PID to the first PID, set a delete first PID flag for the packet; if a content data packet within the received content data at the demultiplexer is marked by the first PID, and if the delete first PID flag is set, the demultiplexer is operative to change the packet PID to null, clear the delete primary PID flag; and wherein the multiplexer is operative to store, stream or decode all selected content data packets that contain an active, non-null PID.