1
\$\begingroup\$

I've been looking for some weeks on a part/module and haven't found anything so far.

I've been experimenting with streaming techniques using Logitech C920 webcam.

This webcam has an embedded H264 hardware encoder and through the USB Video Class (UVC) driver, you can retrieve the H264 stream and control the internal encoder (bitrate, etc..) which is particularly convenient for low latency streaming.

I'm trying to industrialize a system but I cannot use the C920 webcam and I'm looking at a more 'OEM' solution.

I'm looking for a small footprint device which fullfills this requirements : - Takes PAL/NTSC camera as input (this way, I can connect any module camera from Omnivision for instance or Sony's block cameras, or even Infrared cameras). - Has an internal H264 Encoder - Outputs video as H264 through USB Video Device Class driver (UVC). - Control of the internal encoder through the UVC driver.

I have seen several existing devices but these solutions are way too 'big' for my needs (mostly, external encoders for live streaming on DSLR like Teradek...).

If this does not exists, to your knowledge, is there any circuit/component I could use in a custom design, and what complexity does it require to design a custom solution for this problem ?

Thanks a lot for your help !

\$\endgroup\$
  • \$\begingroup\$ Next solution for me would be to retro engineer the C920 webcam but I'm going to destroy my webcam, AND I think it's a too complex job to get something out of it... \$\endgroup\$ – ChessLooser Apr 24 '15 at 12:20
2
\$\begingroup\$

I'm not aware of any single-chip implementations of what you're looking for, but a three-chip solution can be put together quite easily.

The first step is to convert the analog video to a digital representation. BT.656 is the standard for digital representation of NTSC and PAL signals. There are many chips that can do this conversion; I'm most familiar with Analog Devices products in this area.

The second step is to encode the BT.656 signal with H.264. I'm not as familiar with products in this area, but I know for sure that Texas Instruments has chips that implement this.

The final step is to provide a high-speed USB device interface for the H.264-encoded data. There are many ways to accomplish this. I would start by looking at products from FTDI, but if their chips can't easily be interfaced to the encoder, then there are many microcontrollers with built-in USB hardware that could be programmed to do the job.

|improve this answer|||||
\$\endgroup\$
  • \$\begingroup\$ Thank you very much for that first answer. Those two chips seem necessary but I don't think it will be sufficient. Indeed, how to output the H264 packets on USB through the UVC driver ? I think I'll need an ARM and hours of programming for that... \$\endgroup\$ – ChessLooser Apr 25 '15 at 7:06
  • \$\begingroup\$ Sorry about that! I completely overlooked the USB interface. See edit above. \$\endgroup\$ – Dave Tweed Apr 25 '15 at 11:10
  • \$\begingroup\$ Thanks very much ! I was kind of hoping for something already built but I'll happily look into designing something with this. Another option would be to use a CoM with a built in Video Processing Unit, but I don't know if latency will be as good as a hardware encoder. \$\endgroup\$ – ChessLooser Apr 25 '15 at 14:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.