RidgeRun has extensive support for the TI DM8168 and TI DM8148 based hardware platforms. We are specialists in GStreamer, an open-source multimedia framework for Linux. We have developed and contributed GStreamer prlug-in's for these TI chip based platforms which will leverage the hardware accelerators and DVSDK components from TI.
We support encoding and decoding based on all TI provided CODEC's for the TI DM8148 chipset. In addition, RidgeRun has made special plug-in enhancements to the TI provided OPENMax framework to support:
RidgeRun has also developed significant add-ons which allow for image capture inside a video stream, simple support for RTSP streaming, 1080p60 video capture and streaming, video overlays and a number of additional capabilities.
Motion detection with pluggable detection algorithm
We provide a general-purpose motion detection algorithm which you can use, or you can create one for you custom needs.
GStreamer Fast Text/Graphics Overlay
A GStreamer element that can be used to overlay: images, text and/or time and date over video streams or photos without using floating point arithmetic. This is necessary to get good performance when the processor doesn't contain an FPU.
USB standard UVC / UAC driver
Works on Windows, Mac and Linux at one resolution using the VLC application. RidgeRun offers customization services to support other requirements. Customer is responsible for host PC integration and testing.
A customized set of busybox shell scripts that run on the target device to exercise all the I/Os used in the product. These tests are useful for bringing up new hardware and on the assembly line for verifying the functionality of each board. Customers will need to tune the tests to match their manufacturing needs. Typically takes 4 to 6 weeks to generate the manufacturing tests and includes up to 25 hours of customization.
The Gstreamer Video Segmenter - GstVS is an extension of the conventional GstQTMux that allows splitting recordings into multiple files constrained by a size and/or a duration. These recordings can be audio, video or audio+video and in any case every segmented file can be viewed independently. If the recording contains an encoded video stream, then it is guaranteed that the file will start with a reference frame. All these extra functionality is added without interfering with the normal GstQTMux operation and without loosing buffers in between the files
Dual Video Capture / Dual Video Encode
Enable dual input for video capture and encode processing at speeds up to 1080p60 for both channels.
M3 based JPEG encoder to reduce ARM load
MJPEG module from customer's RDK image is integrated into the M3 code load so that JPEG or MJPEG encoding can be offloaded from the ARM. Include GStreamer JPEG element that invokes the MJPEG module running on the M3.
GStreamer multi-stream / mulit-channel RTSP server element
The RTSP Sink is a Gstreamer sink element which permits high performance streaming to multiple computers using the RTSP protocol. This element leverages previous logic from RidgeRun's RTSP server but providing the benefits of a Gstreamer sink element like great flexibility to integrate into applications and easy gst-launch based testing. With RTSP Sink multiple streams can be achieved simultaneously using any desired combination. This means that within a single pipeline you can stream multiple videos, multiple audios and multiple audio+video, each one to a different client and a different mapping. On the examples section different streaming possibilities are shown
Gstreamer wrapped DSP audio / video algorithms
Any existing XDAIS compliant algorithm can be used to process audio or video using the DSP. In addition, existing or new C code can be ported to follow the simple XDAIS guidelines so the algorithm can be run on the DSP. With the GStreamer element wrapper, the audio or video data can be passed from the ARM to the algorithm running on the DSP for processing. If the algorithm modifies the streaming media data, then the modified data is passed back to the ARM and the GStreamer element wrapper puts the modified data back in the pipeline. Example algorithms include video motion detection, audio noise detection, audio echo cancellation, video edge enhancement, etc. The GStreamer element wrapper uses the OMAP3/DM3730/DM644x codec engine and dsplink modules. For DM8148 and DM8168 the GStreamer element wrapper use the RTSC framework. Any additional engineering required beyond porting the algorithm to the SDK and integrating it with the GStreamer element wrapper is considered custom engineering services.
Additional Sensor Support
DM81xx - CMOS sensor or FPGA video capture support. For DM81xx, the TVP7002 driver support is included in the RidgeRun professional SDK. Supporting other video encoder chips and custom FPGA implementations can be supported, with the pricing and development schedule depend on the chip. Due to TI's implementation of the VPSS software stack, additional work may be required to support the chip / FPGA resolution.
The GStreamer pre-record element
The GStreamer pre-record element can be placed in the pipeline to allow you to be continually recording data into a FIFO, where you can sent the FIFO size based on the amount of pre-recorded data you want kept. The FIFO size is specified in milliseconds. When pre-recording the GStreamer pre-record element doesn't pass any buffer downstream. After the FIFO is filled the oldest data is release as new data is added. When you want to start recording, you can trigger the GStreamer pre-record element. Once triggered, the element will pass the data in the FIFO downstream (to be saved to a file for example) while adding any new data to the back of the FIFO buffer so no data is lost. Eventually the downstream elements will drain the FIFO such that the GStreamer pre-record element simply passes received buffers downstream as they are received. Once the GStreamer pipeline is taken out of the PLAY state, the GStreamer pre-record element resets and will again go into pre-record mode of operation.
Other technologies that are being considered for development
Metadata inclusion. Information, such as GPS location, device serial number, etc, could be included as metadata in the video stream.
Watermarking. Each video frame is marked with non-visible data so that if the frame is modified, the watermark can be used to detect a change to the frame occurred. This technology only works on processors with a DSP.