Hi Ross,

>Remember that the data that you copy to *fTo should be a NAL unit, and nothing 
>else.  That means no start >code at the front.  But it also means nothing else 
>at the front - including your >'length prefix'.
>In other words - you need to omit the 'length prefix' when you copy the NAL 
>unit to *fTo.  (Of course, you >will use this 'length prefix' value to tell 
>you how much data to copy, and you'll also set "fFrameSize" to >this value.)

Ok so now I have the problem that I'm not sure if I'm writing something else at 
the front. I did few tests:
If I set the framing type parameter to '0' -start codes- the output looks like 
this:

             '00 00 00 01 09 10 00 00 00 01 67 42 C0 1F F4 02 00 30 D8 08 80 00 
01 F4 ...'

With this NAL unit and the DiscreteFramer as expected it is not working.


If I set the framing type parameter to '1' -prefix length- the output looks 
like this:
             '02 09 10 20 67 42 C0 1F F4 02 00 30 D8 08 80 00 75 30 ....   '

With this NAL unit I cannot see anything neither -as expected because there is 
some prefix at the beginning.

If I set the framing type parameter to '2' also prefix length, the output looks 
like this:

             '00 02 09 10 00 20 67 42 C0 1F F4 02 00 30 D8 08 80 00 01 F4 80 00 
75 30 70 00 00 0B ....'

Again cannot see anything

If I set the framing type parameter to '4' also prefix length, the output looks 
like this:

                '00 00 00 02 09 10 00 00 00 20 67 42 C0 1F F4 02 00 30 D8 08 80 
00 01 F4 80 00 75 30 ...'

Same results.
Every time the encoder has a NAL unit ready, a callback function it is called.
       void nalUnitReady(unsigned char *nal,size_t size);

>From that function -which is called from a different thread than the one that 
>does the doGetNextFrame() at the streaming server- I also signal the 
>H264LiveStreamFramedSource object, based now on the DeviceSource template.
I have tried to omit the front of the NAL units from there increasing the 
pointer a few bytes.
If I increase the pointer 10 bytes and the encoder parameter is set to '4' the 
output looks like this:
        '67 42 C0 1F F4 02 00 30 D8 08 80 00 01 F4 80 75 30 ...'

But still, I don't see anything neither. Right now I'm not sure if the problem 
I have is in the NAL Units front.. or I did something wrong with the live555. 
Is there any special start pattern? It looks like to me that '67 42 C0 1F' 
somehow it is but not sure. Also I'm not sure about the meaning of length 
prefix because NAL units seems to have that '02 09 10' at the beginning so it 
looks like it is not the size of the NAL..

Therefore, regarding the size of the NAL I'm using the size provided in the 
callback function. I also did a test reducing the size the same amount of bytes 
I'm skipping at the front. But it doesn't work neither. Any clue?


Thanks!
Best
Pablo
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to