When I add a new SSF_STREAM_INFO
into the SSF SDK muxer, the header data that is produced doesn't seem to contain a proper value for CodecPrivateData
param.
<param name="CodecPrivateData" value="0000000100000001" valuetype="data" />
I am under the impression that this information is used by a smooth streaming player, to decode individual frames. See, when I play back my live stream from my encoder I get a blank frames in my video feed.
If CodecPrivateData
is supposed to contain information on decoding frames, how do I properly set it and with what data? Pretty sure that belongs in the MPEG2VIDEOINFO
struct (that I use for the stream info's pTypeSpecificInfo
field).
Below is more of the header information that the muxer produces. Does any one have any experience with this? Some pointers would be helpful!
`<?xml version="1.0" encoding="utf-8"?>
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
<head></head>
<body>
<switch>
<video src="Streams" systemBitrate="500000">
<param name="trackID" value="1" valuetype="data" />
<param name="FourCC" value="AVC1" valueType="data" />
<param name="MaxWidth" value="320" valueType="data" />
<param name="MaxHeight" value="240" valueType="data" />
<param name="CodecPrivateData" value="0000000100000001" valuetype="data" />
</video>
</switch>
</body>
</smil>`
My encoder is encoding a live h.264 video feed into the SSF muxer. So I used an MPEG2VIDEOINFO
struct for my pTypeSpecificInfo
.
The codec private data for AVC1 is supposed to be
NAL_START_CODE SPS NAL_START_CODE PPS
where
NAL_START_CODE is the byte sequence 00,00,00,01
SPS is Sequence Parameter Set, and
PPS is Picture Parameter Set
Source: https://msdn.microsoft.com/en-us/library/ff728116%28v=vs.95%29.aspx