After completing this chapter, you should be able to:
- Capture image and video data on the BBB using USB webcams combined with Linux Video4Linux2 drivers and APIs.
- Use Video4Linux2 utilities to get information from and adjust the properties of video capture devices.
- Stream video data to the Internet using Linux applications and UDP, multicast, and RTP streams.
- Use OpenCV to perform basic image processing on the BBB.
- Use OpenCV to perform a computer vision face‐detection task.
- Utilize the Boost C++ libraries on the BBB.
- Play audio data on the BBB using HDMI audio and USB audio adapters.
- The audio data can be raw waveform data or compressed MP3 data from the BBB file system or from Internet radio streams.
- Record audio data using USB audio adapters or webcams.
- Stream audio data to the Internet using UDP.
- Play audio to Bluetooth A2DP audio devices, such as Hi‐Fi systems.
- Use text‐to‐speech (TTS) approaches to verbalize the text output of commands that are executed on the BBB.
- 1 Introduction
- 2 Products Used in this Chapter
- 3 Digital Resources
- 4 External Resources
Here are links to some of the products that are used in this chapter. Please do your own due diligence on these products and the retailers that are identified:
The Logitech C920 is the preferred USB camera for this chapter, particularly if you wish to perform video streaming applications. It is an expensive camera, primarily because of the fact that it contains a H.264 hardware encoder, which takes the workload away from the BeagleBone’s processor.
Two other lower-cost cameras are also tested in the chapter, the Logitech C270 and the Logitech C310. Both of the lower-cost cameras work well for image capture, computer vision, and audio capture applications.
The same Bluetooth adapter that is introduced in Chapter 9 is used again in this chapter for Bluetooth audio — the Kinivo BTD-400 Bluetooth 4.0 adapter.
External Web Sites
- Video4Linux2 core documentation: tiny.cc/ebb1203
- V4L2 API Specifi cation: tiny.cc/ebb1204
- Computer Vision Cascaded Classification: tiny.cc/ebb1207
- CVonline: The Evolving, Distributed, Non‐Proprietary, On‐Line Compendium of Computer Vision, at tiny.cc/ebb1211
- The Boost C++ Libraries, Boris Schäling: tiny.cc/ebb1214