Tag Archives: Raspberry Pi

Sorting the Frame Rate Problem Using RasPlex

Back in January I wrote about the problems of trying to get streaming video to play back smoothly from Plex on our Apple TV, or XBox, or Fire TV, or pretty well anything, whilst I’d got around the problem by manually switching the Apple TV back and forth, it was still not really a satisfactory solution, and also didn’t solve the problem with any 24fps movie content. I also found that even well established apps like Netflix suffer the same problem on the Apple TV when we were watching The Crown where the shots with trains passing the camera had exactly the same jitter problem that was coming up on my content from Plex.

After a bit of research I’ve found that there is only one TV streaming box that can switch frame rates for Plex playback, and that is the NVIDIA Shield, but since that retails for £170 and doesn’t do anything much more than the XBox, Apple TV or Fire TV options we have already I wasn’t too keen.

From looking through the many online discussions of the problem, it seems that people running the now deprecated Plex Home Theater had got around the problem, and people using the built in Plex clients on smart TV’s didn’t have the issue, but again getting a new PC or Mac to go in the living room, or replacing our TV wasn’t really a cheap option either.

Then I came across RasPlex which is an actively developed port of Plex Home Theater to the Raspberry Pi. Like the PC and Mac versions of Plex Home Theater it was able to switch resolution, and with the arrival of the Raspberry Pi 3, the little £33 computer is more than capable of driving 1080p video.

At this point, after my experience setting up flight tracking with a Raspberry Pi I thought I’d be writing an explanation of setting it up, but RasPlex is really dead easy. The most fiddly bit of the whole process was getting the tiny screws that mount the Raspberry Pi 3 I bought into case into the equally tiny holes. RasPlex provide installers for Windows, Mac and Linux that will set up the software on a suitable memory card, and then it is as simple as plugging the Raspberry Pi into a power socket and your TV and turning on. The Raspberry Pi 3 has built in Wifi that RasPlex detects, and whilst it takes a bit of time when first booted to cache data from your Plex server, once it is up and running it is fine.

To get the resolution changes you’ll need to dig down into the advanced video settings, because by default RasPlex will stick to whatever resolution is set for the user interface, much like the commercial streaming boxes. However once that setting was changed, whatever video I threw at it worked fine on our TV – a slight pause as the TV switched frame rate and off it went. The other nice plus was that even with our seven year old Panasonic TX-L32S10 we didn’t need a separate remote for the Raspberry Pi as since the TV has HDMI-CEC support we can navigate the RasPlex user interface with the regular TV remote.

There are a couple of downsides, firstly unlike the Apple TV, the Raspberry Pi doesn’t have a sleep mode. The power save options on RasPlex will shut the whole Raspberry Pi down, at which point you have to cycle the power to wake it up again. Also the Raspberry Pi didn’t seem able to drive the picture through the cheapie HDMI switcher we have connecting the increasing number of HDMI devices we have to the TV.

However even with buying the Raspberry Pi, a suitable case with heatsinks for the processors on the Raspberry Pi that potentially get rather a workout, memory card and power supply, I still ended up with a Plex box for less than £60, and one that plays video significantly better than any of the established players by switching the TV to the correct frame rate.

That of course just leaves one final question, if a £33 box can do it, why can’t Apple, Roku, Amazon and all the rest do the same thing? Apple and Amazon especially are selling content that would benefit from a switchable box, and yet none of them do it, and instead ship boxes that make their content look rubbish.

Crowdsourced Flight Tracking

Earlier this week I had to head off to the airport to pick my wife up as she came back in on a transatlantic flight. As I’ve often done before I kept an eye on the flight using Flightradar24, and the Plane Finder app on my phone and the Apple TV.

Taking a look at the Flightradar24 site the Add Coverage link caught my eye – as I didn’t think there would be many people around with a spare radar station sitting around! However after a bit of reading it transpired that I didn’t need it.

Whilst in the past the online flight sites have been taking data from publicly available air traffic control feeds, now they are increasingly getting data picked up from ADS-B transmitters that aircraft increasingly use. Essentially each ADS-B equipped plane broadcasts a signal which encodes the location of the plane along with other details about their flight such as heading and altitude. The big advantage of the system is in areas that lack radar coverage improving safety, but since the signals broadcast on a similar frequency to DVB-T TV pictures it also means that a simple USB DVB-T receiver plugged into a home computer can be used to pick up the signals from the aircraft as well.

Given the really low cost of entry sites like FlightRadar24, PlaneFinder and FlightAware are significantly augmenting their data by offering their premium accounts for free to home users who supply data. You can use an existing PC, Mac or Linux box, but in order to get the account you need the computer to be running all the time, so a small low power computer like a Raspberry Pi is a much better option, and that is what is all three sites are suggesting. Whilst you could spend a large amount of money on fancy roof mounted aerials from my reading I figured that since we are located under the approach to Heathrow airport even the basic general purpose aerial that comes with the USB receiver would be enough to pick up a few planes. Additionally if I could get the Raspberry Pi feeding to all three sites – and there were plenty of people online saying that you could – I could get three premium accounts even for the potentially pretty small number of flights I could pick up.

So I drew up a shopping list.

First off, not having a USB DVB-T receiver I needed something to pick up the signals. I opted for the NooElec NESDR Mini 2 USB RTL-SDR & ADS-B Receiver Set which seemed to have pretty good reviews and which a number of people online were using – it also only cost £17.95 and included a basic aerial. I also needed a Raspberry Pi as although we have one, it’s part of the kids Kano so not something I can take over. I did look at whether to get the new Raspberry Pi 3, but since I didn’t need the extra speed or wifi I saved £6 and got the older Raspberry Pi 2 instead for £25.99. I also picked up a power supply, Raspberry Pi Case and memory card, and had all the bits for my DIY aircraft tracker for under £100.

Setting up the Raspberry Pi is pretty straightforward, you just need to grab a copy of the Raspbian operating system, install it onto the memory card and off you go. In fact you don’t even need a screen, keyboard and mouse if you have a bootable copy of the OS on the card as by default it has SSH access enabled so as long as it is plugged into a network once it is booted up you can access the Pi.

Once it was up and running, I initially opted for FlightRadar24, for no other reason as that was the site I’d initially read about feeding data from. That proved to be a bit of a mistake from the point of view of feeding to all three sites simultaneously. The basic idea is that you use the software from one site as the master feed, and then hook the other two bits of feeder software up to the third party data feed of the third. The trick seems to be to use the FlightAware software as the master feed and then tell the other two bits of software that they are talking to a receiver on port 30005 of localhost, then all three play nicely together. Once I’d swapped around and reinstalled the FlightAware software first I pretty soon had all three up and running and feeding data to their respective sites, alongside giving me information locally. If you start with the FlightAware software and a brand new SD card, you could also opt for their custom build of Raspbian with PiAware preinstalled which makes life a bit easier and is configured for optimal performance as a scanner.

There is a bit of variation between the software experiences. FlightAware is very much a command line setup, and connects to an account via username and password. Their local software is a simple page with a map of the planes and a list of their details. They have a much better experience on their main website, with probably the most detailed statistics on the performance of your receiver of the three sites. FlightRadar24 has a slightly better process, but still command line based, although when it is up and running the website is very basic just showing a list of the planes. You can however change the settings from the local website and restart without resorting to the command line. Plane Finder is by far the nicest local installation with an easy to use web based setup, and a nice local website that will give you a visualisation of the planes that your receiver is picking up, detailed log files, statistics of the performance of your receiver and the communication link with the internet, along with a web based settings page to reconfigure the software. Whilst all the sites give detailed step-by-step instructions that can guide a novice through, Plane Finder is by far the friendliest user experience.

So the big question is how well does it work?

IMG_5798I wasn’t expecting much from my little aerial sat on top of a filing cabinet in my office, but I was amazed. It’s certainly not picking up planes 200 miles away as a roof mounted aerial would, but it is picking up lots of flights within 50 miles, and one or two from a lot further away. It certainly picks up flights going in and out of Heathrow, especially when they’re coming in over Reading, along with quite a few flights over towards Gatwick and flights from further afield passing over the UK. In the forty-eight hours I’ve had it running it has picked up 2,859 distinct aircraft! If you compare my local radar view with the main site pages it’s clear I’m not getting everything, but I’m impressed by how many I’m picking up considering the cheap aerial and kit I’m using. Certainly if I wanted to spend a lot more money and get a proper roof mounted aerial I could probably track a load more.

So if you fancy a simple little project that’s not going to break the bank, and also want to contribute data to crowdsourced aircraft tracking I can certainly recommend building a Raspberry Pi based ADS-B tracker, and as a bonus you get access to all the fancy premium features on three of the main aircraft tracking sites. If you live in a populated area you’ll really only be adding resilience to the network, but if you’re in a more rural area there are definite gaps in coverage – there is a good map showing coverage on the FlightAware site – aside from that it’s also really quite fun if you’ve got kids to be able to point out a plane going overhead and say where the plane is travelling from or to.