Old Freescale scheme: --------------------- ------>| ------- v2ipd --> |--> | vlc -> net | ---------|-----|----- | lighttpd -> net | V | | --------- V4L2 API |libvpu | user ............................................................ | |mx27_capture| |mxcvpu | mt9d131| |mx27_csi | |encoder| kernel ............................................................ sensor| |CSI | | PrP | | CPU | | VPU | hardware -------- ------ ------- ------- --------- | SoC | -------------------------------- Gstreamer scheme: -------------------------------------------------------- | gstreamer: gst-launch / gst-rtsp | |......................................................| ----->| alsa_src ---> |audio-codec|-- | | |................................V.....................| | | mfw_v4lsr ---> |mfw_vpu|mpegtsmux|rtp*pay| udpsink | -> net | -------------------------------------------------------- -------- ^ | ^ | alsa | | | | |------| | V | | pmic | | --------- -------- V4L2|API |libvpu | user ........ ^ ....................................................... | : |mx27_capture| |mxcvpu | mt9d131| : |mx27_csi | |encoder| kernel ........ : ....................................................... sensor| : |CSI | | PrP | | CPU | | VPU | hardware -------- : ------ ------- ------- --------- -------- : | SoC | uPhone |-: -------------------------------- -------- MJPEG scheme: ------------------------------------------------------- | sigcam-stream -format jpeg ... -> lighttpd | -> net ------------------------------------------------------- ^ | V4L2|API user | ........ ....................................................... | |mx27_capture| mt9d131| |mx27_csi | kernel ........ ....................................................... sensor| | CSI DMA | | CPU | | VPU | hardware -------- -------------- ------- --------- | SoC | -------------------------------- Hardware: sensor - Micron/Aptina MT9D131 video sensor uPhone - audio microphone SoC - System on a chip, Freescale i.MX27 CSI - CMOS sensor interface PrP - Emma Lite PreProcessor CPU - Central Processor Unit, ARM 926 VPU - Video Processing Unit, 16-bit DSP pmic - some audio hardware in SoC Software: mt9d131 - Sensor driver mx27_csi - CSI driver mx27_capture - CSI/PrP driver with V4L2 API V4L2 API - Video for Linux API, version 2 mxcvpu - VPU driver libvpu - VPU library alsa - ALSA (Advanced Linux Sound Architecture) driver v2ipd - Freescale daemon for all video processing and networking vlc - video broadcasting program lighttpd - web server gstreamer plugins: mfw_v4lsr - Freescale plugin for reading camera frames with V4L2 API. Most of video controls are here. mfw_vpu - Freescale plugin for encoding video via VPU mpegtsmux - muxing video and audio streams into MPEG Transport Stream rtp*pay - RTP payloader udpsink - UDP payloader/broadcasting plugin alsa_src - ALSA (Advanced Linux Sound Architecture) plugin audio-codec - now undefined audio codec