I wrote an introduction to H.265 (aka HEVC) at the end of last year, including instructions showing how to encode videos to HEVC using the reference implementation. It worked but since it was not optimized for speed, it was extremely slow. Today I’ve stumbled across openHEVC, a open source compliant HEVC video decoder written in C, created as a fork of Libav. This is supposed to work pretty well as the implementation was used at Roland Garros Tennis tournament to playback an 720p50 HEVC stream transmitted over DVB-T2, IPTV, and MPEG DASH. Today I’ll mainly tried out the instructions provided on openHEVC github repo including: Build the source and playing a raw HEVC stream with hevc utility Build GPAC (open source multimedia framework), to get MP4Box, mp42ts, and MP4Client utilities. Import a raw HEVC stream into MP4 and TS containers, and play it back with GPAC tools. I’ve performed the […]
12MB Minimal Image for Raspberry Pi using the Yocto Project
Last year, I wrote instructions and provided a download link about a minimal image for Raspberry Pi based on Raspbian. The compressed image is 84MB, and the good thing about it is that you can just use apt-get to install packages. The problem is that it’s not actually that small as once it is uncompressed the rootfs is still a massive 414 MB. So today, I’ll explain how to create a smaller (and custom) image using the Yocto Project, a platform that let you build an embedded Linux distribution matching exactly your project’s requirements. Other advantages are that the build is configurable with config files, so it’s easily reproducible with a few command lines, and it might turn out to be useful to learn more about the Yocto Project as many boards and SoC are now making use of the framework, including Freescale i.MX6 (Wandboard, Olinuxino-imx233, Sabrelite, etc…), the Beagleboard, […]
DIY Modular Stripboard / Perfboard Casing for Raspberry Pi (Part 1)
I plan to play around with Bluetooth 4.0 LE in Linux using the Raspberry Pi as an hardware platform together with a small LCD display and possibly a relay board. Instead of having boards spread around, I thought it might be a good idea if I could design a case for my setup. I wanted to be able to connect small external boards and things like LEDs, it had to be easily assembled and disassembled, modular so that I could add or remove circuits easily, and about as cheap as existing “dumb” cases. So I though why not use stripboards (perfboards) for that? I searched the web to find out if other people had the same idea, and could only find one other person, but he does not appear to have completed assembly, nor actually used the stripboards to add hardware features. I decided to give it a try anyway, […]
How to Find Configuration Options Quickly in Make Menuconfig
If you’ve ever compiled the Linux kernel, you’ll know make menuconfig is the command line used to unset/set options, disable/enable modules in order to match your hardware and requirements. I used to simply browse in the menu to find the option, and just remember the correct path. Sometimes I just looked at .config to locate the option I needed, and the possible path in make menuconfig. The first time you use a new option it can be time consuming. But I’ve just found there is a better way via Google+. “/” is actually available in make menuconfig, just like it is in vi/vim. If you want to enable NFS server in your kernel, press “/”, and search for NFSD. It will show the list of results with “NFSD” strings. NFS server support is right at the top, and the path is shown to be File Systems->Network File Systems. The neat […]
How-to Upgrade Firmware on AllWinner A31 mini PCs
I’ve just received a mini PC powered by AllWinner A31, and I had to (re-)install the firmware, so I’ll explain the steps I followed in this post. The procedure is for CS868 mini PC, but it should be similar for all Android HDMI TV dongles, and media players based on AllWinner A20 or A31.The procedure below only works in Windows, and has been tested in Windows XP. I’ll mention a possible method in Linux at the end of the post. Download the latest CS868 firmware and tools, and extract “cs868 firmware and update tool 20130507.rar” file Download PhoenixUSBPro tool in English, and extract This is optional as the Chinese version is included in rar file above. Double-click on PhoenixUSBPro/PhoenixUSBPro.exe to start the program Click on Update to upgrade the tool to the latest version if need be. Click on Key to to load the key file (AW_LCTOOLS.key), on Image to […]
Installing Android Studio IDE in Ubuntu – Hello World Application
Google I/O started yesterday, and Google released an early access preview version of Android Studio, a new IDE based on IntelliJ IDEA with drag-and-drop GUI layout editor, Gradle-based build system, Lint tools, the ability to preview how apps look on different screen sizes, and more. This may eventually replace the Eclipse + ADT Plugin combination currently used, so I’ve decided to give it a try in Ubuntu 13.04 64-bit, but it’s also available for Windows and Mac OS X. First, head over to Android Studio Installation instructions, and download Android Studio for you operating system via your Browser (You’ll have to accept an EULA), then open a terminal to extract it:
1 |
tar xvf ~/Downloads/android-studio-bundle-*.tgz |
Now let’s start Android Studio:
1 2 3 4 5 6 7 8 9 10 11 12 |
cd android-studio/bin/ ./studio.sh OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-1ubuntu1) OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode) OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode) WARNING: You are launching the IDE using OpenJDK Java runtime. ITS KNOWN TO HAVE PERFORMANCE AND GRAPHICS ISSUES! SWITCH TO THE ORACLE(SUN) JDK BEFORE REPORTING PROBLEMS! NOTE: If you have both Oracle (Sun) JDK and OpenJDK installed please validate either STUDIO_JDK, JDK_HOME, or JAVA_HOME environment variable points to valid Oracle (Sun) JDK installation. See http://ow.ly/6TuKQ for more info on switching default JDK. Press Enter to continue. |
And I did press enter to continue, but Android Studio complained about JAVA_HOME no being defined. Let’s just install Sun Oracle JAVA JDK since this is the recommended method. I’ve used the […]
How to Play Games in Android mini PCs / STBs With a PS3 Bluetooth Controller
Android mini PCs ( HDMI TV dongles) are great to make your TV smart, and you may expect to be able to play Android games on your TV easily. The reality is that the keyboard and mouse, or remote controls used with those devices, are not suitable for games, and most games do not play at all. Of course, OUYA and GameStick projects will take care of this, as well as the recently available Project SHIELD ($349) , but if you already have one of those mini PCs, you may not want to spend the money for another device. Luckily there’s a solution, and with some efforts, you can play many games, but not all, with a PS3 Bluetooth controller connected to your Android mini PC or Set-Top Box. I decided to give it a try by buying “GOIGAME Rechargeable Bluetooth Wireless DoubleShock III Controller for PS3” for $16.60, which […]
Raspberry Pi Camera Module Is Now Available, How-to Use It
About one year after showing the first image from the camera module prototype, the Raspberry Pi Foundation announced the Camera board is now available for purchase on RS Component or Element14. Navigating either of these sites is a nightmare, but, if you’re lucky, you should eventually find the camera board for around $25 before taxes and shipping. “Raspicam” features the following hardware specifications: Omnivision 5647 sensor in a fixed-focus module 5MPixel sensor Still picture resolution: 2592 x 1944 Max video resolution: 1080p Max frame rate: 30fps Size: 20 x 25 x 10mm Connection by flat ribbon cable to 15-pin MIPI Camera Serial Interface (CSI) connector S5 on Raspberry Pi computer board The first thing you’ll have to do with the camera is to connect it to the CSI connector on your Raspberry Pi, just behind the Ethernet connector on model B. James explains it very clearly in the video below. […]