Jeremy: Thanks for the quick response. I've had difficulty locating a good source of information on what the parameter sets should look like, so that's probably the issue.
MainConcept provides them via h264OutVideoGetParSets(). Here's the code I use to retrieve them and parse: // get AVC Parameter Sets char * parset = (char *) malloc(1024); int length; if(h264OutVideoGetParSets(v_encoder, &v_settings, (uint8_t *) parset, &length)) { fprintf(stderr,"h264OutVideoGetParSets() failed!"); exit(-1); } fprintf(stderr, "h264OutVideoGetParSets: %i\n", length); hexdump(parset, length); char *b64parset = base64Encode(parset + 4, length - 4); // skip sync fprintf(stderr, "b64parset: %s, %zu\n", b64parset, strlen(b64parset)); unsigned int numrecords = 0; SPropRecord* poo = parseSPropParameterSets(b64parset, numrecords); for (unsigned i = 0; i < numrecords; ++i) { fprintf(stderr, "decoded [%i] = %s\n", i, poo[i].sPropBytes); } And here's the output: h264OutVideoGetParSets: 38 >00000001 674D4029 965200A0 173E5C05< ....gM@).R...>\. 00000000 >42000007 D20001D4 C13B42C5 B2C00000< B........;B..... 00000010 >000168EB 7352< ..h.sR 00000020 b64parset: Z01AKZZSAKAXPlwFQgAAB9IAAdTBO0LFssAAAAABaOtzUg==, 48 decoded [0] = gM@)?R parseSPropParameterSets should be returning 2 values with a well-formed parset, no? Are the zero bytes returned in the parset screwing up the base64 encode? Excerpt from MainConcept's immensely-detailed SDK Docs: 2.2.13 h264OutVideoGetParSets Call this function to retrieve sequence and picture parameter sets. Can be useful when doing streamtype I encoding to separate VCL NAL units and parameter sets (non-VCL NAL units). int h264OutVideoGetParSets(h264venc_tt *instance, struct h264_v_settings * set, unsigned char * buffer, int * length); Be sure to allocate enough memory for buffer (1024 bytes should be more than enough). After calling this function, length will show the actual size of the data. -t On Feb 6, 2010, at 11:07 AM, Jeremy Noring wrote: > On Sat, Feb 6, 2010 at 10:39 AM, Tom Pepper <t...@silocorp.com> wrote: > The parameter set as I encode and report it: > > a=fmtp:96 > packetization-mode=1;profile-level-id=000041;sprop-parameter-sets=AWdNQCmWUgCgFz5cBUIAAAfSAAHUwTtCxbLAAAAAAWjrc1I= > > > Something about your sprop-parameter-sets looks wrong--there should be a > comma in it to delimit the SPS and PPS sets. How are you forming that? > > Also, in my experience, wowsa doesn't like having SPS/PPS sent in-stream. > _______________________________________________ > live-devel mailing list > live-devel@lists.live555.com > http://lists.live555.com/mailman/listinfo/live-devel _______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel