[FFmpeg-devel] NC camera patch
    Aurelien Jacobs 
    aurel
       
    Fri Jan  9 23:59:57 CET 2009
    
    
  
nicolas martin wrote:
> Hi all,
> 
> I finally made some code to read the camera feed sent by NC46** types  
> cameras.
> 
> Thanks for reading and sharing your thoughts !
The format looks quite simple and your code quite complicated.
Maybe I missed some subtlety in the format.
So let me first describe the format as I understand it:
Each frame is composed of:
  - A header (16 bytes)
    * 4 bytes : a flag (eg: 0x1A5  (big-endian))
    * 1 byte  : unknown/unused
    * 2 bytes : data_size (only when flag == 0x1A5)
    * 9 bytes : unknown/unused
  - MPEG4 data frame (data_size bytes)
Please correct me if there's something wrong here.
If my description is right, you could write your frame reader
function trivially, with something like that:
  flag = get_be32(pb);
         get_byte(pb);
  size = get_le16(pb);
  url_fskip(pb, 9);
  if (flag != 0x1A5)
      /* error handling */;
  av_new_packet(pkt, size)
  get_buffer(pb, pkt->data, size);
You need some more error checking, etc...
But basically, this code should be enough.
BTW: you should upload a sample file like described in [1] to allow
other developers to test your code.
Oh, and your nc_read_header() seems to contain code which is
totally unrelated to your format (MJPEG, DIRAC, etc...).
And you don't need to use s->iformat->value if it's hardcoded
to MPEG4.
Aurel
[1] http://ffmpeg.org/bugreports.html
    
    
More information about the ffmpeg-devel
mailing list