Thursday, April 19, 2018

Javascript Libraries for Video Streaming, and Audio Streaming




JWPlayer

Brian Rifkin, co-founder of digital video player company JW Player

jsplayer

broadway.js

A JavaScript H.264 decoder.

Node.js Broadway players
This is a very simple h264 video player (that can run on live stream) for your browser. You might use this with raspicam raw h264 stream. This is a player around Broadway Decoder, with very simple API. NAL unit (h264 frames) are split on the server side, transported using websocket, and sent to the decoded (with frame dropping, if necessary)



h264-live-player

This is a very simple h264 video player (that can run on live stream) for your browser. You might use this with raspicam raw h264 stream. This is a player around Broadway Decoder, with very simple API. NAL unit (h264 frames) are split on the server side, transported using websocket, and sent to the decoded (with frame dropping, if necessary)
Websocket server that streams H.264 NALs to a Javascript page for playback inside a browser.

Route9.js

A VP8/WebM decoder in JavaScript
based on Broadway

libde265.js – JavaScript HEVC/H.265 bitstream decoder



jsmpg.js

JSMpeg – MPEG1 Video & MP2 Audio Decoder in JavaScript
JSMpeg is a Video Player written in JavaScript. It consists of an MPEG-TS demuxer, MPEG1 video & MP2 audio decoders, WebGL & Canvas2D renderers and WebAudio sound output. JSMpeg can load static videos via Ajax and allows low latency streaming (~50ms) via WebSockets.
HTML5 LIVE VIDEO STREAMING VIA WEBSOCKETS

ogv.js

JavaScript media player using Ogg/Vorbis/Theora/Opus/WebM libs compiled with Emscripten https://brionv.com/misc/ogv.js/demo/
ogv.js Media decoder and player for Ogg Vorbis/Opus/Theora and WebM video.
Based around libogg, libvorbis, libtheora, libopus, libvpx, and libnestegg compiled to JavaScript with Emscripten.

ORBX.js

commercial?

flowplayer


skewed video playback
  /* the player container with class="exposed" */
  .exposed {
    box-shadow: 0 10px 40px -15px rgba(68, 68, 68, 0.5);
    border-radius: .3rem;
    transition: all .5s;
  }

  /* skew the player container in loading and paused state */
  .expose-wrap .exposed.is-loading,
  .expose-wrap .exposed.is-paused:not(.is-fullscreen) {
    transform: scale(0.6) rotateX(4deg) rotateY(-20deg) rotate(3deg);
    box-shadow: 0 30px 60px -10px rgba(68, 68, 68, 0.5);
    border-radius: .9rem;
  }
  .expose-wrap .exposed.is-loading .fp-header,
  .expose-wrap .exposed.is-paused:not(.is-fullscreen) .fp-header,
  .expose-wrap .exposed.is-loading .fp-controls,
  .expose-wrap .exposed.is-paused:not(.is-fullscreen) .fp-controls {
    display: none;
  }
  /style

Other


https://github.com/phoboslab/jsmpeg

https://github.com/nextcloud/files_videoplayer

http://videojs.com/

h264-live-player


Audio


Aurora.js

Aurora.js is a framework that makes writing audio decoders in JavaScript easier. It handles common tasks for you such as dealing with binary data, and the decoding pipeline from source to demuxer to decoder, and finally to the audio hardware itself by abstracting browser audio APIs. Aurora contains two high level APIs for inspecting and playing back decoded audio, and it is easily extendible to support more sources, demuxers, decoders, and audio devices.


jsmad MP3

https://github.com/audiocogs/jsmad jsmad is a pure javascript MP3 decoder, based on libmad, with an ID3 decoder written from scratch.
For example, jsmad allows Firefox 4.0+ to play MP3s without any Flash. Faster loading times. Fewer security holes. No 64-bit headaches on Linux. Fewer memory leaks.

Raspberry Pi Zero W Antenna design

Raspberry Pi Zero-W (a Zero with wireless) http://www.embedded-computing.com/iot/a-lesson-in-wireless-engineering-from-the-raspberry-pi
www.embedded-computing.com
How did the engineers behind the Raspberry Pi Zero W tackle antenna design, given its compact size, its low cost, and its mission of being usable by even novice computer science students?


http://www.embedded-computing.com/iot/a-lesson-in-wireless-engineering-from-the-raspberry-pi

Friday, April 13, 2018

A Comprehensive List of 3D Sensors Commonly Leveraged in ROS Development

https://rosindustrial.org/3d-camera-survey


The recent availability of affordable ROS-compatible 3D sensors has been one of the fortunate coincidences that has accelerated the spread of ROS. This page is intended to replace the Blog Post from early 2016, to be a one-stop more "easy to find" spot for updates and a more complete list of 3D sensors. We are happy to see there has been such traffic on this topic and look forward to making this a more consistent resource to the development community.

Microsoft® Kinect™ 2.0

Type: Time of flight
Depth Range: 0.5 to 4.5 m
3D Resolution: 512 x 424
RGB Resolution: 1920 x 1080
Frame Rate: 30 fps
Latency: 20 ms minimum
FOV: 70° H, 60° V
Physical dims: ~250x70x45 mm (head)
Interface: USB 3.0
Link to ROS Driver
Notes: Latency with ROS is multiple frames.
Active cooling.
Intel r200.png

Intel RealSense R200

Type: Stereo with pattern projector
Depth Range: 0.6 – 3.5 m
3D Resolution: 640 x 480
RGB Resolution: 1920 x 1080
Frame Rate: 60 fps (3D), 30 fps (RGB)
Latency: 1 frame
FOV: 59° H, 46° V
Physical dims: 102x9.5x7 mm
Interface: USB 3.0
Link to ROS Driver
Notes: Outdoors capable.
Asus.jpeg

ASUS® XtionPro™ Live

Type: Structured light
Depth Range: 0.8 to 3.5 m
3D Resolution: 640 x 480
RGB Resolution: 1280 x 1024
Frame Rate: 30 fps
Latency: ~1.5 frames
FOV: 58° H, 45° V
Physical dims: ~180x40x25 mm (head)
Interface: USB 2.0
Link to ROS Driver
Notes: Similar internals to the Xbox Kinect 1.0. Intermittent availability for purchase.
IFM.png

IFM® Efector™ O3D303

Type: Time of flight
3D Resolution: 176 x 132
RGB Resolution: N/A
Depth Range: 0.3 to 8 m
Frame Rate: 25 fps
Latency: 1 frame
FOV: 60° V, 45° H
Physical Dims: 120x95x76 mm
Interface: Ethernet
Link to ROS Driver
Notes: Accuracy +/-4 mm. IP65/67 industrial enclosure.
Zed.jpeg

Stereolabs® ZED™

Type: Embedded stereo
3D Resolution: 2208 x 1242 max
RGB: 2208 x 1242 max
Depth Range: 1.5 to 20 m
Frame Rate: 15 fps at max res., 120 fps at VGA res.
Latency: 1 frame
FOV: 96° H, 54° V
Physical Dims: 175x30x33 mm
Interface: USB 3.0
Link to ROS Driver
Notes: Latency not confirmed.
MultiSense.jpeg

Carnegie Robotics® MultiSense™ S7

Type: Embedded stereo
3D Resolution: 2048 x 1088
RGB Resolution: 2048 x 1088 max (7.5 fps)
Depth Range: 0.4 m to infinity
Frame Rate: 15 fps at 2048 x 544
Latency: 1 frame
FOV: 80° H, 45° V
Physical Dims: 130x130x65 mm
Interface: Ethernet
Link to ROS Driver
Notes: IP68 enclosure.
N35.png

Ensenso® N35-606-16-BL

Type: Structured light
3D Resolution: 1280 x 1024
RGB: 1280 x 1024
Frame Rate: 10 fps
Latency: 1 frame
FOV: 58° H, 52° V
Physical Dims: 175x50x52 mm
Interface: Ethernet
Link to PCL/ROS Driver
Notes: Many other resolutions and FOVs available. IP65/67 enclosure available.
Sick Visionary.png

SICK® Visionary-T™

Type: Time of flight
3D Resolution: 144 x 176
RGB: N/A
Frame Rate: 30 fps
Latency: 66 msec
FOV: 69° H, 56° V
Physical Dims: 162x93x78 mm
Interface: Ethernet
Link to ROS Driver
Notes: IP67 enclosure
ECON Tara.jpg

e-Con Systems Tara Stereo Camera

Type: Embedded Stereo Camera
3D Resolution: 752 x 480
RGB: N/A
Frame Rate: 60 fps
Latency: 1 Frame
FOV: 60° H
Physical Dims: 100x30x35 mm
Interface: USB 3.0
Link to ROS Driver
Notes: Inbuilt IMU
Narian.jpg

Narian SPI

Type: FPGA Stereo Camera
3D Resolution: 640 x 480
RGB: N/A
Frame Rate: 30 fps
Latency: 1 Frame
FOV: Variable
Physical Dims: 105x76x36 mm
Interface: USB 2.0 to cameras, Gigabit Ethernet to Host
Link to ROS Driver
Notes: Resolution up to 1440 x 1072
intelrealsense1.png

Intel® RealSense D415™

Type: Active IR Stereo
3D Resolution: 1280 x 720 max
RGB: 1920 x 1080 max
Depth Range: 0.3 to 10 m
Frame Rate: 90 fps at max depth res., 30 fps at max rgb res.
Latency: not noted
FOV: 69.4° x 42.5° x 77° (+/- 3°)
Physical Dims: 99 mm x 20 mm x 23 mm
Interface: USB 3.0 Type - C
Link to ROS Driver
Notes: Latency not confirmed.
mini-no-background-1-317x750.png

Orbbec® Astra Mini™

Type: Structured Light
3D Resolution: 640 x 480 max
RGB: 640 x 480 max
Depth Range: 0.6 m to 5.0 m
Frame Rate: 30 fps
Latency: 1 frame
FOV: 73 D x 60 H x 49.5 V
Physical Dims: 80 x 20 x 20 mm
Interface: <2.4w data-preserve-html-node="true" USB
Link to ROS Driver
Notes: Optional metal enclosure available. Handle with care without an enclosure, deflection can cause issues with performance. Excessive heat can cause issues. Performance comparable to Asus Xtion.
photoneo.JPG

Photoneo® PhoXi® 3D Scanner L

Type: Structured Light
Depth Map/Point Cloud Resolution: 0.8-3.2M Points
Depth Range: 870-2156 mm
Frame Rate: 2.5-5 fps
Latency: 1 frame
FOV: 1300 x 975 x 1200 mm
Physical Dims: 77 x 68 x 616 mm
Interface: Link to API with ROS Support
Notes: Data Acquisition Time: 2.5-5s. Near metrology grade resolution. Comes in a variety of models. Operates in High Resolution or High Acquisition Modes.

roboception® rc_visard™

Type: Stereo Camera
3D Resolution: 640 x 480 max
RGB: 1280 x 960 max
Depth Range: 0.2 m to 1.0 m for 65 Model, 0.5 m to 3.0 m for 160 Model
Frame Rate: 3-25 Hz
Latency: 1 frame
FOV: 61 H x 48 V
Physical Dims: 135 x 75 x 96 mm for 65 Model, 230 x 75x 84 mm for 160 Model
Interface: Ethernet
Link to ROS Driver
Notes: Weight 680g for 65 Model, 850g for 160 Model. Optional SLAM module. ROS Driver being developed further thanks to the support of the ROSIN EU project.
duomc-03.png

duo3d® DUO MC™

Type: Stereo Camera
3D Resolution: 752 x 480 max
RGB: 752 x 480 max
Depth Range: 0.23 m to 2.5 m for for M series
Frame Rate: 0.1-3000 fps Max
Latency: 1 frame
FOV: 170 W with 30 mm Baseline
Physical Dims: 57 x 30.5 x 14.7mm
Interface: 480 Mbps USB 2.0 Micro-B
Link to API
Link to ROS Driver
Notes: Pixel size 6 x 6 micrometers. Shutter Speed 0.3 microseconds to 1- seconds. Control Functions: Exposure, Shutter, Brightness. Enclosure 6021 Aircraft Grade Aluminium.