Low-cost Video Streaming with a Webcam and Raspberry Pi

Some people will tell you that YouTube has become a vast wasteland of entertainment like the boob tube before it. Live streaming doesn’t help the situation much, and this entry level webcam live-stream server isn’t poised to advance the art.

We jest, but only a little. [Mike Haldas] runs a video surveillance company that sells all manner of web-enabled cameras and wondered what it would take to get a low-end camera set up for live streaming. The first step was converting the Zavio webcam stream from RTSP (real-time streaming protocol) to the standard that YouTube uses, RTMP (real-time messaging protocol). Luckily, FFmpeg handles that conversion, so he compiled it for his MacBook Pro and set up a proof of concept. It worked, but he needed a compact solution that would free up his laptop. Raspberry Pi to the rescue – after loading a bunch of libraries and a four-hour build and install of FFmpeg, the webcam was streaming 1080p video of [Mike]’s sales office. He was worried that the Pi wouldn’t have the power needed for the job, and that it would be unstable. But as of this writing, the stream below has been active for six days, and it’s riveting stuff.

Raspberry Pis are a staple in the audio streaming world, like this pro-grade FM broadcast streaming rack or this minuscule internet radio streamer. And of course there’s this quick and dirty, warm and fuzzy streaming baby monitor.

Continue reading “Low-cost Video Streaming with a Webcam and Raspberry Pi”

3D Printed GoPro Toy Car Mount

There’s been a spate of YouTube videos of people strapping GoPro cameras onto things recently. [Ruiz] at [Adafruit] is looking to contribute to this trend with this tutorial on 3D printing a GoPro Session toy car mount. The entire toy car mount is 3D printed, except for the axles, which are made of the unprinted filament with melted ends to hold the wheels in place.

The part of the mount that fits around the camera is printed in a flexible filament (think Ninjaflex), so it holds on tightly to the GoPro and can be used as a bumper as well. The car that fits into the base of the camera sleeve is designed to run on Hot Wheels track so that you can lay out your shots and keep the subject in frame. It’s a neat design that could be useful for creating an interesting point of view in a video.

If you have hotwheel, a GoPro (or other tiny camera), and 3D printer this is the project that will get you through the holiday without the kids driving you crazy. Good luck dear hackers.

Continue reading “3D Printed GoPro Toy Car Mount”

Projection Mapping in Motion Amazes

Projection mapping is pretty magical; done well, it’s absolutely miraculous when the facade of a building starts popping out abstract geometric objects, or crumbles in front of our very eyes. “Dynamic projection mapping onto deforming non-rigid surface” takes it to the next level. (Watch the video below.)

A group in the Ishikawa Watanabe lab at the University of Tokyo has a technique where they cover the target with a number of dots in an ink that is only visible in the infra-red. A high-speed (1000 FPS!) camera and some very fast image processing then work out not only how the surface is deforming, but which surface it is. This enables them to swap out pieces of paper and get the projections onto them in real time.

Continue reading “Projection Mapping in Motion Amazes”

Send a Raspberry Pi Back in Time to 1980

One of our favorite hacker-scavengers on YouTube, [The Post-Apocalyptic Inventor], has been connecting his Raspberry Pi up to nearly every display that he’s got in his well-stocked junk pile. (Video embedded below.)

Modern monitors with an HDMI input connect right up to the Pi. Before HDMI came VGA, but the Pi doesn’t do that natively. One solution is to use a composite-to-VGA converter and pull the composite signal out of the audio jack. Lacking the right 4-pole audio cable, [TPAI] soldered some RCA plugs directly onto the Pi, and plugged that into the converter. On a yet-older monitor, he faced a SCART adapter. If you’re European, you’ll know these — it’s just composite video with a different connector. Good thing he had a composite video signal already on hand.

online-with-my-1980-tv-set-huc2ls56hwimkv-shot0004The pièce de resistance, though, was attaching the Pi to his 1980 Vega TV set. It only had an antenna-in connector, so he needed an RF modulator. With a (presumably) infinite supply of junk VCRs on hand, he pulled an upconverter out of the pile, and got the Pi working with the snazzy retro TV.

Continue reading “Send a Raspberry Pi Back in Time to 1980”

Never Twice the Same Color: Why NTSC is so Weird

Ever wonder why analog TV in North America is so weird from a technical standpoint? [standupmaths] did, so he did a little poking into the history of the universally hated NTSC standard for color television and the result is not only an explanation for how American TV standards came to be, but also a lesson in how engineers sometimes have to make inelegant design compromises.

Before we get into a huge NTSC versus PAL fracas in the comments, as a resident of the US we’ll stipulate that our analog color television standards were lousy. But as [standupmaths] explores in some depth, there’s a method to the madness. His chief gripe centers around the National Television System Committee’s decision to use a frame rate of 29.97 fps rather than the more sensible (for the 60 Hz AC power grid) 30 fps. We’ll leave the details to the video below, but suffice it to say that like many design decisions, this one had to do with keeping multiple constituencies happy. Or at least equally miserable. In the end [standupmaths] makes it easy to see why the least worst decision was to derate the refresh speed slightly from 30 fps.

Given the constraints they were working with, that fact that NTSC works as well as it does is pretty impressive, and quite an epic hack. And apparently inspiring, too; we’ve seen quite a few analog TV posts here lately, like using an SDR to transit PAL signals or NTSC from a microcontroller.

Continue reading “Never Twice the Same Color: Why NTSC is so Weird”

Hackaday Prize Entry: Bypassing TV broadcasting restrictions

It’s a common problem faced by TV viewers, the programming they want to watch is being broadcast, but not to their location. TV content has traditionally been licensed for transmission by geography, and this has sometimes put viewers at odds with broadcasters.

The viewing public have not always taken this restriction of their programming choice lying down, and have adopted a variety of inventive solutions with varying degrees of legality and success. Many years ago you might have seen extreme-length UHF antennas to catch faraway transmitters, more recently these efforts have been in the digital domain. It was said in the 1990s that Sky’s Videocrypt satellite TV smart cards were cracked because German Star Trek Next Generation fans were unable to buy subscriptions for non-UK addresses, for example. You can argue in the comments over whether [Patrick Stewart] et al being indirectly responsible for a decryption coup is an urban legend, but it is undeniable that serial smart card emulators and dodgy DOS software for Sky decryption were sold all over Europe at the time.

Modern-day efforts to break the geographic wall on TV broadcasting have turned to the Internet. Services such as the ill-fated Aereo and the Slingbox set-top streaming products have taken the TV broadcast in a particular area and transported it to other locations for viewing online. But they are not the only Internet self-streaming option, if the idea of paying a subscription or tying yourself to a commercial service does not appeal then you can build an off-air streamer for yourself.

[Solenoid]’s project is an off-air streamer using a Raspberry Pi 3 with a USB DVB-T tuner. It uses Tvheadend to power the streaming, and OpenVPN to provide security. His build logs detail his efforts to ensure that power consumption is not too high and that the Pi is not running too hot, and provides instructions on how to set up and use the software. It’s not an overly complex piece of hardware, but it could provide a useful service for any of you who wish to keep up-to-date with your home TV when you are off on your travels.

Interactive Dynamic Video

If a picture is worth a thousand words, a video must be worth millions. However, computers still aren’t very good at analyzing video. Machine vision software like OpenCV can do certain tasks like facial recognition quite well. But current software isn’t good at determining the physical nature of the objects being filmed. [Abe Davis, Justin G. Chen, and Fredo Durand] are members of the MIT Computer Science and Artificial Intelligence Laboratory. They’re working toward a method of determining the structure of an object based upon the object’s motion in a video.

The technique relies on vibrations which can be captured by a typical 30 or 60 Frames Per Second (fps) camera. Here’s how it works: A locked down camera is used to image an object. The object is moved due to wind, or someone banging on it, or  any other mechanical means. This movement is captured on video. The team’s software then analyzes the video to see exactly where the object moved, and how much it moved. Complex objects can have many vibration modes. The wire frame figure used in the video is a great example. The hands of the figure will vibrate more than the figure’s feet. The software uses this information to construct a rudimentary model of the object being filmed. It then allows the user to interact with the object by clicking and dragging with a mouse. Dragging the hands will produce more movement than dragging the feet.

The results aren’t perfect – they remind us of computer animated objects from just a few years ago. However, this is very promising. These aren’t textured wire frames created in 3D modeling software. The models and skeletons were created automatically using software analysis. The team’s research paper (PDF link) contains all the details of their research. Check it out, and check out the video after the break.

Continue reading “Interactive Dynamic Video”