At Kernel Labs, our roots lie in Linux development. Between the Kernel Labs developers, we wrote a significant number of the LinuxTV drivers spanning dozens of devices currently in use today. Our experience spans essentially every aspect of Linux television support, including terrestrial broadcasting, satellite, digital cable, analog television, video capture, hardware video encoders, and audio. While we originally focused on user-level driver support for popular consumer products, in recent years our focus has expanded to include supporting commercial customers with higher performance expectations and 24×7 reliability requirements.
Kernel Labs specializes in assisting companies seeking to integrate video capture solutions into Linux. We have worked in a variety of areas including:
- Creation of Linux device drivers for new capture boards (HDMI/DVI/SDI/HD Component).
- Making existing drivers perform properly on embedded platforms such as ARM, TI Davinci, Zenverge, Vixs, Broadcom, Freescale and embedded x86 hosts.
- Low-level board bringup, u-boot development, code signing, firmware upgrade routines.
- Userland development for video encoding solutions such as HTTP Live or applications such as VLC and TVTime.
The developers at Kernel Labs have experience in areas not just at the driver layer.
We have done considerable work in the application space, making improvements to open source applications such as VLC, MythTV, Kaffeine, TVTime, GStreamer as well as custom software for specialized application such as video streaming.
We also have extensive experience in developing/debugging multimedia frameworks for encoding, transcoding, streaming for protocols including DLNA, RTSP/RTP, HLS, as well as working within DRM schemes such as CableCard.
Case Study: Hauppauge Colossus on Linux
In response to numerous commercial customers who were seeking an internal HDMI capture solution, Kernel Labs developed a Video4Linux2 compatible driver for the Colossus board.
This included support for all the various input types (HDMI, HD Component, Standard definition), support for the different video standards (NTSC/PAL, 30/25/24 FPS, different capture resolutions, etc), and ensuring compatibility with existing application such as VLC, Gstreamer and Xine.
Case Study: VLC Closed Captioning Support
The current VLC support for closed captioning is very limited. It renders EIA-608 captions at the bottom of the screen and supports very little of the formatting.
Kernel Labs extended the rendering engine to render the captions consistent with the specification. This included adding support for popup captions, proper placement of captions, caption colors and underline support, and rendering of the captions over a background. We also added support for reading captions from the V4L2 VBI device interface, allowing VLC to be used with raw video capture cards that don’t have onboard MPEG encoders.
New Device Support
Kernel Labs has relationships with a number of product and chipset vendors. This allows us to develop support for retail as well as professional capture products, many times with the support/assistance of the vendor.
Through Non-Disclosure agreements, Kernel Labs works with those vendors to gain access to documentation, reference driver sources, and schematics to ensure that the solutions generated of the highest quality.
Integration and Complete Solutions
Kernel Labs wants our customers to succeed, and we’re willing to help create a complete solution. This includes not just creation of new drivers, but assistance with integrating the driver support into your application. This can entail helping porting code to new hardware platforms, developing complex audio/video pipelines and streaming solutions, analyzing and identifying the cause of performance problems, and debugging complex quality problems.
Our goal is for you to deliver a final solution, and we’re willing to work at all parts of the stack to see your solution brought to market.