The project is implemented on ffmpeg project under linux OS. It's target is to implement a splice between two mpeg2? transportstreams?
on a single video and audio stream? (i.e. one video PID and one audio PID).
The two streams, primary and secondary were encoded from different input [url removed, login to view] need to merge the secondary stream into the primary stream while the primary is transmitting,without causing the decoder any vbv-buffer underruns or overruns errors. Each stream wasdesigned in the encoder to enter the decoder vbv-buffer, but now while passing from one streaminto the other, conditions can change. The splice merge video and audio streams.?
- The streams can be preprocessed using ffmpeg mpeg2 encoder.?
- Up to one second of black frames can be inserted in time of splice point
? ? (although this solution is less preferred).?
- Most likely, primary and secondary stream have the same video and audio
? ? bitrate.?
a list of input streams is defined through the command line parameters.
In addition a list of splices definitions will supplied to ffmpeg using an input xml file (or maybe a table in mysql database, not sure yet)each splice definition will look like this:?
? ? splice ID,?
? ? primary stream ID,?
? ? secondary stream ID,splice time_stamp - this field can be time-stamp is milliseconds, or frame number, or pcr time-stamp(not sure yet)?
so ffmpeg will have all the data it needs, in advance.?
video and audio splicing are defined in ISO/IEC 13818-1 - Annex K?
the splice should set adaptation header fields:?
? ? splice_countdown, splice_type, DTS_next ... and maybe more?
the output stream will have no PCR errors, when using an analyzer.
the output stream will look good on a set-up box.?
? more details will be supplied in the following days?