Emphasis: Real-Time Multi-Media
Proficient in designing and coding at various levels of software development for real-time digital multi-media products. Must be comfortable working the full spectrum from embedded systems and mobile devices to desktop/laptop, and all the way to distributed Internet solutions.
Working in a small team that will design, development, and maintain the majority of the software across multiple product lines with emphasis on real-time multi-media, and integration of Hardware and Software solutions. Time will be spent balancing the tasks between creating new software and providing support for contractors on existing products.
Emphasis on Real-Time rendering including Hardware accelerated techniques for capture, rendering, encoding and decoding.
This position relies on knowledge of the best practices for managing multi-media streaming in both a lossy and non-lossy environments. Which will require the software to push the limits of the hardware that it is residing to support the current FullHD and 4K video formats, plus start support for the emerging 8K solutions.
Areas of technology that this position will be focusing on:
· System on a Chip / Module Development as Media Processors
· 1080p & 4K HDMI ingestion
· Collage (Crop, Scale, Blend, Transpose) Multiple Streams into a single stream.
· Capture from Cameras (CSI, USB [MJPEG & h264])
· Archiving Streams
· API [JSON-RPC / WebSocket, REST, etc]
· Web Interfaces for Mobile Device Controllers
· Internet based collaboration through SIP and 3rd Party Apps
· Virtualize Media devices [Camera, Mouse, Keyboard, Audio, Network]
· Software Integration with Hardware Media Pipelines
· Developing and Interfacing with the Firmware on Multiple products
Requirements:
Education: Master’s Degree in CS, Engineering, or equivalent
Programming Languages: C/C++/C#, Java, Assembly
Graphical Languages: OpenMax, GStreamer, OpenGL, Vulkan, DirectX, Shaders
Graphical Codecs: h264, h265, MJPEG, JPG, GIF, PNG
Meta Data Languages: JSON, XML, SQL, INI
Network Media Protocols: SIP, h323, RTSP, RTCP, HLS, Fragmented-MP4
Network Data Protocols: HTTP(s), JSON-RPC, FTP, TCP, UDP, DNS, Multicast, UDP-Broadcast, NTP, IP Masquerade, Firewall Hole-Punching, ICE
Database: MySQL, SQLite, Redis
Media Tools: FFMpeg, X264, AVLib
System’s on a Chip (SoC): Raspberry PI, Odroid, SnapDragon, i.MX-Freescale
Browser based Technology: HTML, AJAX, JavaScript, Vaadin, GWT, REST-API, NGinX, Tomcat, Apache, CSS, SASS, Responsive
Audio Capture / Rendering: JACK, Echo Cancelling, Noise Reduction, FFT / DFT, Real-Time DSP
Screen Casting: Airplay, MiraCast, GoogleCast, VNC