Archive

Posts Tagged ‘video’

ProView S3 Affordable 3-Axis Smartphone Stabilizer Helps Shooting Better Videos (Crowdfunding)

February 5th, 2016 No comments

Smartphone stabilizers (aka gimbals) for smartphones allow you take much better videos while on the move, as they smooth the shaking that occurs when you walk, run, or bike. Stabilizers are currently available, such as KumbaCam or other white brand stabilizers, are sold for $250 to $400, but Navin, a Taiwanese company, has designed a cheap video stabilizer for smartphones with ProView S3 that starts at $125 + shipping via Indiegogo.

Proview_S3_Smartphone_Stabilizer

ProView S3 3-axis stabilizer can handle larger size smartphones, features orientation sensors, precision motors, and stabilization algorithms to provide smooth video recording.

Some of ProView S3 specifications and features include:

  • Adjustable mount from 67mm to 78 mm width
  • Wind resistant thanks to algorithms and mechanical design
  • Connectivity – Bluetooth 4.0 for wireless firmware updates
  • Dual IMU sensors with tilt, roll, and pan motors.
  • Underslung shot- You can take videos upside down too…
  • 4 operational modes – Full Lock (no motor active), follow pan (pan motor active), follow tilt (tilt motor active), or full follow ()pan and tilt motors actives)
  • Single joystick for control: On/Off, mode switching, angle control.

The best way to see how well this works are video samples. They shot videos while running with two smartphones, one without the stabilizer (first video), an one with ProView S3 (second video) that the difference is clear. The second video reminds me of first person shooting games.


The crowdfunding campaign has a fixed $300,000 funding targer, so the project will only go ahead if they reach that amount. Only the first 500 gimbals (battery and charger included) are listed for $125, with the price going up as more rewards are claimed up to $160. Shipping is not included and varies from $5 (Taiwan) to between $25 and $75 to the rest of the world for the few countries I checked. Delivery is scheduled for July 2016. Beside the Indiegogo page, you can also ask questions on the company’s Facebook or Twitter pages.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

K1 Plus Amlogic S905 TV Box Review

November 28th, 2015 55 comments

Videostrong KI Plus is one of the first Amlogic S905 TV boxes to be launched on the market, and it also happens to be one of cheapest model selling for around $45 on various sites, and it’s even available for $39.99 on GearBest for Black Friday / Cyber Monday. I’ve posted the specifications and pictures of the device previously, and after updating the firmware, I’ve finally completed the review.

First Boot, Settings and First Impressions

As usual, I’ve connected a whole bunch of cables and peripherals to the device to make the power supply can handle it, including a USB hard drive, a USB webcam, a USB keyboard, a USB hub with two RF dongles for Tronsmart Mars G01 gamepad and MeLE F10 Deluxe air mouse, as well as a HDMI, optical audio and Ethernet cables, and a speaker connected to the 3.5mm AV jack and powered by one of the USB port of the device. Turn on the power, and the device will boot automatically (no need to press the power button), with a typical boot taking around 48 seconds.

Click for Original Size

Click for Original Size

The launcher is quite basic, which can be advantage for a TV interface, with the time, a list of customizable shortcuts which including IPFox and Private Live TV by default, and 5 icons on the bottom for Kodi 15.2, Explorer file manager, the list of apps, settings, and a web browser. There are also some icon on the bottom right for networking and storage. IPFox asks you to scan a QR code to buy something, and Private Live TV will download an IPTV plugin and work out of the box with various TV channels including Sky Sports F1…

Click for Original Size

Click for Original Size

I quickly tried one of the streams and it worked OK.

The settings’ user interface is basically the same as found as on Android 5.1 Amlogic S812 TV boxes such as WeTek Core, minus some features like automatic frame rate switching.

Click to Enlarge

Click to Enlarge

The most interesting settings include:

  • Network – WiFi, Ethernet, and VPN configuration
  • Display
    • Screen resolution: Auto, 480p-60Hz, 576p-50Hz, 720p 50/60Hz, 1080i 50/60Hz, 1080p 24/50/60Hz, 4K2K 24/25/30/50/60Hz or SMPTE
    • Screen position
    • Screen rotation (middle port, force land, original)
  • Sound – System sound (On/Off), and Digital sounds (Auto detection, PCM, HDMI or SPDIF)
  • Preferences – HDMI CEC (But not working: “This remote device does not support CEC”), and Play back settings with “HDMI self-adaption” On/Off. I don’t really understand what that means…

I had no problem to connect to my WiFi router, and setting video to 4k2k 60Hz also worked perfectly via Onkyo TX-NR636 AV receiver or LG UHD TV. However, the box did not always keep my video output settings, often falling back to 1080p50. I only tested the AV port by connecting it to my speakers, and it worked fine with both HDMI audio and stereo audio outputted at the same time.

About_Mediabox_K1_PlusYou can get to Lollipop Android settings by selecting More Settings. Bluetooth is not built-in into the device, and is completely missing from the settings, so even if you decided to connect a Bluetooth USB dongle it would not work. All other usual settings appear to be here including Printing, Language & input, accessibility and so on. A single 4.66GB partition is used for both app and data with around 4.21GB free space.

The “About Mediabox” section reports KI Plus model running Android 5.1.1 on top of Linux kernel 3.14.29. There’s also a link to the Update&Backup app in this section, but OTA firmware update is not enabled. The sample was sent to my by a manufacturer (Videostrong), and they probably rely on their customers to handle this. This firmware is not rooted by default.

The IR remote control work pretty well, and I could use it reliably as far as 10 meters. The IR learning function is also doing its job and I could program with TV’s remote control Volume, power, and TV input keys. I have no used the remote that much since I prefer using MeLE F10 Deluxe remote control in Android that’s much more user friendly that IR remotes. Since the status and notification bars are missing, I had to use the Home key on the IR remote during testing…

Google Play Store did not work well at all the first time, with most application being incompatible with this device. That’s why I delayed the review, and after installing a new firmware, everything works pretty well. Applications that require telephony, Bluetooth, and GPS can’t be installed, but that’s fine, as well as the ones which can’t be installed where I live (country limitations). Finally I installed Amazon Underground to load and play Riptide GP2 3D racing game.

Power handling has been implemented correctly as I could cleanly power off the device with either the power button on the unit and the remote control. The remote control can also be used to power on the device. There’s no standby mode, so the device will fully boot each time you turn it on.

For those interested in power consumption, I’ve done some measurements both without USB devices, and one USB hard drive in two modes:

  • Power off – 1.3 Watt
  • Idle – 3.2 ~ 3.4 Watts
  • Power off + HDD – 1.3 Watt
  • Idle + HDD – 6.1 ~ 7.4 Watts

There’s still some residual power used in power off mode, but at least the USB ports are turned off.

Temperature is under control most of the time, except possibly when playing games. I measured 42°C and 53°C on the top and bottom of the enclosure after running Antutu 5.7, but after playing Riptide GP2 for about 15 minutes the temperature went up to 50°C and 62°C, and I noticed a lower frame rate in the game.

After updating the firmware, the first impressions were quite good, as despite its low cost, the system was responsive, and stable, which everything from networking to video output working fine, except for video output changing randomly? after a power on.

Video Playback on KI Plus

I usually playing videos from a network share over Ethernet and using whatever Kodi version is pre-installed on the device. So far none of manufacturers have used Kodi from Google Play, and Videostrong is no exception. So I have some Kodi 15.2 app in the device with various add-ons.

Amlogic_S905_Kodi_15.2

For some reasons, the resolution is shown as 1280×720 @ 60Hz in the System information when the video output is set to 4k2k-60Hz, and despite the framebuffer being set to 1920×1080 as we’ve seen with some of the screenshots above.

Kodi_1280x720But when I went ahead with testing videos samples found on linaro website, I realized something was clearly wrong:

  • H.264 codec / MP4 container (Big Buck Bunny) – 480p/720p/1080p – Letterboxed
  • MPEG2 codec / MPG container –  1080p – Letterboxed
  • MPEG4 codec, AVI container 1080p – Letterboxed
  • VC1 codec (WMV) – 1080p – Letterboxed
  • Real Media (RMVB), 720p / 5Mbps – OK
  • WebM / VP8 – OK
  • H.265 codec / MPEG TS container (1080p) – Letterboxed
  • WebM / VP9 (no audio in video) – OK

So while all videos could play, most of them would be letterboxed.

Kodi_Letterbox_Amlogic_S905
So with this bug in mind, and my contacts telling me either Amlogic had not spent much resources on Kodi this time, or that many patchsets were still submitted to Kodi to fix Amlogic S905 support, I decided to give up on Kodi on this device, and instead do all my testing with Video Player app in Android. That means you’ll either need to wait for Kodi 16, or go with the daily builds.

Later, I still decided to give Kodi a try with the “reliability” test, playing a 2-hour 1080p movie… and I worked just fine, with a some 3800 skipped frame reported by Kodi’s log overlay maybe because the mismatch between video output and video frame rate. So I was confused, until I saw the video output bug kicked in to force video out to 1080p50, and the System info reported 1920×1080 @ 50Hz…

Amlogic_S905_1080p_kodiSo that means Kodi 15.2 pre-loaded in the box works at 1080p resolution, but has a bug at 4K. VideoStrong should provide a 4K TV to their developers…

I did not re-test the videos at 1080p in Kodi 15.2, as I’m expecting 2 to 3 more Amlogic S905 TV boxes, and I’ll ahve plenty of opportunities to test Kodi on Amlogic S905, so instead I’ll report results in Video Player, using Ethernet, unless otherwise stated.

Linaro samples, plus Elecard H.265, and a low res VP9 video:

  • H.264 codec / MP4 container (Big Buck Bunny) – 1080p – OK
  • MPEG2 codec / MPG container –  1080p – OK
  • MPEG4 codec, AVI container 1080p – OK
  • VC1 codec (WMV) – 1080p – OK
  • Real Media (RMVB), 720p / 5Mbps – OK
  • WebM / VP8 – OK
  • H.265 codec / MPEG TS container (1080p) – OK
  • WebM / VP9 (no audio in video) – OK

I started to see some issues, when I switched to some higher bitrate videos :

  • ED_HD.avi – Blackscreen
  • big_buck_bunny_1080p_surround.avi (1080p H.264 – 12 Mbps) – Video OK, but no audio
  • h264_1080p_hp_4.1_40mbps_birds.mkv (40 Mbps) – OK
  • hddvd_demo_17.5Mbps_1080p_VC1.mkv (17.5Mbps) – Could be smoother, and no audio
  • Jellyfish-120-Mbps.mkv (120 Mbps video without audio) – Not very smooth (played from USB hard drive, as Fast Ethernet could not handle this file).

The audio issues are probably due of the lack of DTS and Dolby licenses, and I could confirm it in the audio test below.

Video PCM Output HDMI Pass-through S/PDIF Pass-through
AC3 / Dolby Digital 5.1 No audio OK (Dolby D 5.1) OK (Dolby D 5.1)
E-AC-3 / Dolby Digital+ 5.1 No audio OK (Dolby D 5.1) OK (Dolby D 5.1)
Dolby Digital+ 7.1 No audio No audio Audio Formats Not Supported over S/PDIF
TrueHD 5.1 No audio OK (TrueHD 5.1)
TrueHD 7.1 No audio  OK (TrueHD 7.1)
Dolby Atmos 7.1 No audio Continuous beep and Dolby D 5.1 shows in AVR
DTS HD Master No audio DTS 5.1 only DTS 5.1
DTS HD High Resolution No audio DTS 5.1 only DTS 5.1

So if you don’t have AV receiver you are out of luck to get any audio, unless you use Kodi, which may not work that well right now, or some other app that also decoded DTS and Dolby by software.

One of the main selling point of Amlogic S905 SoC is support for 4K video including 10-bit HEVC, and it’s doing a pretty good job, as long as you play from a USB hard drive:

  • HD.Club-4K-Chimei-inn-60mbps.mp4 – OK from USB HDD, but buffering a lot from network.
  • sintel-2010-4k.mkv – OK, but no audio.
  • Beauty_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (H.265) –  OK
  • Bosphorus_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (H.265) – OK
  • Jockey_3840x2160_120fps_420_8bit_HEVC_TS.ts (H.265) – OK from USB HDD, but buffering often from network
  • MHD_2013_2160p_ShowReel_R_9000f_24fps_RMN_QP23_10b.mkv (10-bit HEVC) – OK
  • phfx_4KHD_VP9TestFootage.webm (VP9) – 3 to 4 fps
  • BT.2020.20140602.ts (Rec.2020 compliant video) – OK from USB HDD (first time ever!), but buffering from network, or even stopping in some instances.
  • big_buck_bunny_4k_H264_30fps.mp4 – OK
  • big_buck_bunny_4k_H264_60fps.mp4 – Audio/video synchronization issues, and the video could be a little smoother
  • Fifa_WorldCup2014_Uruguay-Colombia_4K-x265.mp4 (4K, H.265, 60 fps) – Excellent video decoding, but no audio…
  • Samsung_UHD_Dubai_10-bit_HEVC_51.4Mbps.ts (10-bit HEVC / MPEG-4 AAC) – Perfect from HHD, but buffering a lot from SAMBA share.
  • Astra-11479_V_22000-Canal+ UHD Demo 42.6 Mbps bitrate.ts (10-bit H.265 from DVB-S2 stream) – Most of the time OK, but it will freeze and the same exact point every time for several seconds. (tested on USB drive only)

You can watch a demo with most of these files via the post entitled “H.264 & H.265 4K Video Playback on Amlogic S905 Android TV Box“. While VP9 and H.264 @ 60 fps are not supported by current revision of S905 processor, I understand a new revision of the silicon should support VP9.

Video Player reports “can’t play this video” when I try to play Blu-ray ISO files such as Sintel-Bluray.iso and amay.iso, so I think it’s just not supported by the app. 1080i MPEG2 video samples (GridHD.mpg & Pastel1080i25HD.mpg) played OK, but Hi10p had the same artifacts issues as on Kodi on Amlogic S812, and lacked the subtitles.

I’ve played some stereoscopic 3D videos to see if the system could decode them (my TV does not support 3D):

  • bbb_sunflower_1080p_60fps_stereo_abl.mp4 (1080p Over/Under) – OK
  • bbb_sunflower_2160p_60fps_stereo_abl.mp4 (2160p Over/Under) – Audio only (Would require a dual 4K decoder)
  • Turbo_Film-DreamWorks_trailer_VO_3D.mp4 (1080p SBS) – OK

Lack of DTS/Dolby support was the main issue when I played several H.264, DViX/XVid, VOB, MKV, and MP4 movies, as many did not play audio at all, and Video Player app can not handle FLV videos, nor IFO files (although VOB is OK).

I installed Antutu Video Tester 3.0 manually, and the score (906 point) is pretty good, although not quite as high as on Amlogic S812 devices (1,000+ points).

Click to Enlarge

Click to Enlarge

If you are using premium video streaming applications such as Netflix, it might be important to check whether the level of DRM support, or whether any DRM is actually installed. This could easily be checked thanks to DRM Info app.

DRM_info_K1_PlusAnd sadly, even the basic Widewine security Level 3 is not installed. As a reminder, Widewine Level 1 is required for HD and UHD video playback.

Visit “Where to get video, audio and images samples” post and comments section for links to video samples.

Network Performance (Wi-Fi and Ethernet)

A 278MB file is transferred between a SAMBA share and the internal storage three times using ES File Explorer in order to test WiFi and Fast Ethernet performance. But during the first test,  I only did it twice because the transfer rate was stable but stuck at 130 KB/s during the whole transfer, and it took over 30 minutes for each transfer. Clearly the worst result ever, and at the time my phone could transfer the same file at over 2MB/s. But I tried again, before publishing the results, and the results are much better @ 3.45 MB/s , but I can’t explain what happened…

Performance in MB/s (Click to Enlarge)

Throughput in MB/s (Click to Enlarge)

Amlogic S905 SoC can support Gigabit Ethernet, but K1 Plus is only fitted with Fast Ethernet components, and file transfer performance is under average at about 6MB/s (48 Mbps).

Performance in MB/s

Throughput in MB/s

It looks better while using iperf with “-t 60 -c 192.168.0.104 -d” to test dual duplex transfer for 60 seconds, with a very good Fast Ethernet performance.

Throughput in Mbps

Throughput in Mbps

iperf output:

Miscellaneous Tests

Bluetooth

Bluetooth is not support by KI Plus.

Storage

FAT32 (micro SD card), NTFS, & exFAT (USB hard drive) partitions could all be mounted, but the same bug as on Amlogic S812’s Android 5.1 firmware meant the free space was wrongly reported as 10MB, making the NTFS and exFAT partition basically read-only.

File System Read Write
NTFS OK Not really (10 MB free space)
EXT-4 Not mounted Not mounted
exFAT OK Not really (10 MB free space)
BTRFS Not mounted Not mounted
FAT32 OK OK

I had to skip USB storage benchmarks, but I could still check out the internal storage with A1 SD bench app, which reported 22.71MB/s read speed and 8.67 MB/s write speed.

Read and Write Speeds in MB/s (Click to Enlarge)

Read and Write Speeds in MB/s (Click to Enlarge)

Clearly not the best performance, but it was to be expected for a $40 products, and I have not found it to affect the performance of the device much.

Gaming

I have never seen Candy Crush Saga on device expect when using SoC with Mali-400 GPU, and it played without issue on K1 Plus ising an air mouse. Beach Buggy Racing felt a little sluggish, and once I boosted the graphics settings to “high resolution” it started to become choppy, and at time the game seems to be slow to respond to gamepad inputs. Riptide GP2 was about the same story, but it started pretty well, then set the graphics setting to high resolution, and the game was quite not as smooth, and the game even exited/crashed once. Furthermote, I noticed the frame rate to get worse, the more I played, so the GPU must be throttling when the SoC gets hot, leading to performance degradations. So Amlogic S905 does not seem the best platform for gaming, and better stick with the more powerful Amlogic S812 or Rockchip RK3288 SoCs.

K1 Plus Benchmarks

Before running any benchmarks, let’s see what CPU-Z detects…

Click to Enlarge

Click to Enlarge

The app does not know Amlogic S905 processor, but it probably detects an ARM Cortex A53 quad core processor clocked between 100 MHz and 2.02 GHz, coupled with an ARM Mali-450MP GPU. The model is called KI Plus (p20x), the board p20x, the UI resolution is set to 1920×1080, there’s 807MB total RAM in the system, and 4.66GB internal storage. It’s running an aarch64 Linux kernel version 3.14.29 as reported previously.

K1_Plus_Antutu_5.7.3
I had already run Antutu 5.7.3 to compare Amlogic S905 and Rockchip RK3368 performance, but following the firmware update, I ran it again, and it yielded a marginally higher score of 29,167 points.

Please also find Vellamo 3.0 and 3DMark Ice Storm Extreme results below for reference.

K1_Plus_Vellamo_3.0

Click to Enlarge

Click to Enlarge

Conclusion

It’s quite amazing that you can now get an Android TV box with 4K video playback and HDMI 2.0 support for about $40. However, there’s still work to be done, as while their a good based with a reasonably good user interface, and surprisingly smooth video playback at 2160p resolution using Video Player app, the pre-installed Kodi 15.2 version was unusable at 4K resolution with most videos letterboxed, DTS and Dolby licenses are missing, there’s no DRM installed at all, and various other bugs need to be fixed.

PROS

  • Recent Android 5.1 OS firmware that is both responsive and stable
  • Video Output – HDMI 2.0 up to 2160p 60Hz; 24/25/30/50/60 Hz refresh rates supported; AV port (tested with speakers)
  • Impressive 4K H.265 (10-bit) and H.264 video playback in Video Player app
  • Dolby 5.1, DTS and TrueHD audio pass-through is working.
  • Proper power handling
  • IR remote support IR learning function, and has a good range (>10 meters)
  • 4x USB ports
  • Very good value for money (once issues can be resolved)

CONS

  • Pre-installed Kodi 15.2 version does not work well for 2160p video output is selected (1080p output looks better); automatic frame rate switching is not working either.
  • HDMI – Dolby Digital 7.1+, DTS HD and Atmos pass-through not working; CEC not working; Video output resolution set in settings is not always used at next power on.
  • Missing DTS and Dolby support for PCM output
  • No DRM installed, even Widewine Level 3 required for SD playback on relevant apps.
  • WiFi performance may be erratic (TBC), very good sometimes, and near stall speed at others.
  • 3D games such as Beach Buggy Racing and Riptide GP2 are not playing very smoothly, and performance may degrade with play time (and higher heat).
  • No option to show status and notification bars, no Download icon in app list.
  • Lacks Bluetooth support
  • USB hard drive partitions (NTFS / exFAT) reported as having 10MB free only, basically rendering the partitions read-only.

There are also IPTV apps that depending on your point of view can be PROS or CONS, and OTA firmware update is missing, but this may be due to Videostrong being a manufacturer, and not a brand, so they rely on their customer to handle firmware updates with their own servers and branding.

Videostrong was kind enough to send this first Amlogic S905 box sample for review, and if you are a distributor or resellers, you could contact the company via their Alibaba product page. Individual can purchase K1 Plus (aka Ki Plus) on retail sites starting at $39.99 including shipping on GearBest, GeekBuying, eBay, Amazon US, Aliexpress and others.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

How to Take Screenshots and Record Videos in Android mini PCs without Root Access

January 6th, 2015 No comments

I’ve started to test BFS 4KH Android TB box featuring HiSilicon HI3798M processor. I’m also the first things I normally do is to check for built-in screenshot support, and if not, I simply install a screenshot app like Screenshot Ultimate. This normally works pretty well, but the firmware is not rooted, and the usual root method for HiSilicon devices does not work, as it fails at the adb root stage with the message: “aabd cannot run as root in production builds”. So I was out of luck, and people who sent the sample for review do not seem to check / answer their email in a timely manner. ScreenShot Ultimate provides “No Capture Method Help“, but I found the instructions long, and it required me to install download and install something extra. So instead I check if I could do something with adb instead.

adb can connect via USB or Wi-Fi, and for most device you’ll have a USB OTG port to connect it to your computer. If developers options are not enabled in Android Settings, go to “About Device”, and click on the build number of 7 times. You should now be able to go to “Developers Options”, and enable USB debugging, something I had to do even though I had to use Wi-Fi since my box does not come with a USB OTG port.

You’ll also need to install adb. In Linux, at least Ubuntu / Debian, it’s easy to install, and I already had this:

For other OS, you may need to install the Android SDK.

If you are using USB, the setup is done. If you need to use Wi-Fi instead, you’ll need to find your Ethernet or Wi-Fi IP address. After enabling USB debugging, port 5555 should be open:

and try to connection with adb.

The rest of the instructions are the same whether you connect via USB or Wi-Fi, For a screenshot, I followed the instructions here to capture an image in a single command:

The sed part is to get rid of the end of line character sent via adb. The image can be found in your PC as screen.png. In my case, the image capture and transfer over Wi-Fi is a little slow, as it usually take around 5 seconds. But at least it works, and it’s even more convenient than using a Screenshot app, at least for my use case.

Scrrenshot Taken with adb (Click for Original Size)

Scrrenshot Taken with adb (Click for Original Size)

While I was at it, I also checked about screen recording, and found some instructions on CNET which should work for Android 4.4 and greater.. Basically, you just have to run:

I have not tried to use the redirection as with screencap command line, because I believe it would have been too slow. So once you are done with recording, press Ctrl+C, get back the video to your PC and optionally delete it on the device to reclaim storage space.

That’s the result I got.

No too bad. At first, I thought “Hey, it might be possible to record online video that way!”, but a closer inspection of the file property quickly changed my mind.

adb_video_property

It recorded at 12 frames per second (maybe a limitation of the hardware), and more importantly there’s no audio, so even if you could record a video at a decent framerate, you’d still have to record audio separately, and mix video and audio at a latter stage, not the most convenient way….

More options for screenrecord command can be found on Android Developers’ ADB page, or by running:

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Review of Kimdecent CS868 mini PC Powered by AllWinner A31

May 18th, 2013 8 comments

Kimdecent sells some cheap RK3188 mini PCs such as QC802 for $76, but instead of sending me yet another RK3188 device, they agreed to send CS868, an HDMI TV dongle powered by AllWinner A31 quad core processor, so that I could review it. This mini PC comes with 2GB RAM and 16GB Flash, the latter being larger than the 8GB flash found in most other devices, and is available for $95 on Kimdecent Aliexpress store. More details about the specifications are available on Unuiga U28 post since the hardware is the same. In theory, AllWinner A31 has a much slower CPU than Rockchip RK3188, but its PowerVR 544MP2 GPU should outperform the Mali-400 MP4 found it the Rockchip processor, and A31 supports 4K2K video decoding. In this post, I’ll show some unboxing picture, give my first impressions, test Wi-Fi performance, video playback capabilities, and run some benchmarks.

CS868 Unboxing Pictures

I received the device in a parcel with lot of bubble wraps, so the package was not damaged,  but there’s not much to say about the package as it’s just a no name “mini PC for Android OS” without specifications, or other useful information.

CS868 mini PC and its Accessories (Click to Enlarge)

CS868 mini PC and its Accessories (Click to Enlarge)

Inside the package, we’ll find CS868 mini-PC with a metallic casing, a short HDMI cable, a 5V/2A power supply, a microUSB to USB cable for power, and microUSB to USB female cable for the microUSB OTG port of the device, and a not-so-useful user’s manual in English and Chinese explaining how to use Android on mini PCs.

CS868_mini_PC

A closer look at the device reveals a fully metallic casing, HDMI male connector, a micro USB OTG port, a micro SD card slot, another micro USB port for power, and a full USB host port. There are lots of ventilation hole on both side for cooling the device.

You can also watch the unboxing video.

First Boot, Settings, and First Impressions

Since Cortex A7 is supposed to have a lower power consumption, I’ve tried to power the device directly from the USB port of my TV, unfortunately it won’t go further than the boot animation. So I’ve connected the RF adapter for the Mele F10 to the USB port, and used the provided power adapter to power the device, and after a few seconds, the device will boot and you’ll have to choose between 2 launchers:

  • Standard Android Home Screen
    CS868_Android_Home_Screen
  • A 3D launcher designed for TV
    CS868_3D_Launcher

I’ll keep using the standard Home Screen since I find it a bit more convenient with the input device I use.  We have the Volume buttons, and a power button in the status bar, but no option to go to full screen. You’ll also notice a 4K widget, which is an interesting media player I’ll describe in more details in the video section.

CS868_About_TabletI’ve gone to the setup menu to configure Wi-Fi. The device also supports Wi-Fi direct, but not Bluetooth, nor Ethernet, ven with external USB dongles. You can also  setup to device for VPN access, as a hotspot, and add a 3G USB dongle.  The screen section lets you select 720p, 1080i, and 1080p modes at either 50 or 60 Hz, and you can also choose 1080p24. A slider is also available to let you zoom in/out to adjust your screen overscan if needed. There’s an option for Audio output, but clicking on it, just exits the Settings, so audio pass-through is not available. Screen Lock option is available in the System Settings, so if you require your device to be lock this should be possible (I haven’t tried). Developer options all seem available including USB debugging, CPU usage, GPU usage and more.  In the “About tablet” section, we find out CS868 is indeed the model, and this device runs Android 4.1.1 on top of Linux 3.3.0. The firmware is dated 2013/05/06, it’s rooted, and can be downloaded via Kimdecent website.

Google Play worked fine, and I could install most apps I tried such as Antutu, Angry Birds Star Wars, MX Player, YouTube, Dead Trigger, and more. The only exception was Sixaxis Controller, but this is normal behaviour, as the device does not support Bluetooth.

The system is pretty responsive, although It does not feel as fast as RK3188 devices,  and I can experience slowdowns just after boot, give it one or two minutes to be fully responsive, and while installing many apps via Google Play. The device did not hang during use, but there are still some annoying issues. I lost audio 3 times during my few hours of testing (reboot required), Wi-Fi failed to initialize once (reboot again), and at one point the device was stuck in the boot animation “AllWinner Tech A31 Quad Core” forever. Restarting the device did not help, so I had to flash the firmware via PhoenixUSBPro.

Wi-Fi Performance

Contrary to my habits where I have one and only section for Wi-Fi and video testing, today I’ll reserve a full section to Wi-Fi, as I have a story to tell…

As I started to test video playback, and noticed very similar problem to what I experienced with Tronsmart T428, that is 1080p video would just no play smoothly. So I stopped video playback testing, and went straight to my “transfer a file from SAMBA to flash over Wi-Fi” test. The result was catastrophic, as a 278MB file took 7m 46s to transfer, at an average rate of about 600KB/s, by far the worst result I’ve ever seen (Other devices usually take 3 to 4 minutes to transfer this file). Real-time transfer speed shown in ES File Explorer fluctuated greatly but never went over 1MB/s. Two consecutive devices with terrible Wi-Fi performance? Impossible!

I remember once I had a USB Wi-Fi dongle that was extremely slow using mixed 802.11b/g/n setting in my router, and the performance improved massively by setting the router to use 802.11g only. So I did that, and the performance improved, but not enough to my taste: 5m 45s (~800KB/s) , and the transfer started very fast at 1.60M/s until 80%, to collapse at the end around 200KB/s.

Then I had an unthinkable idea, what if my router (TP-LINK WR940N v1) , or rather its firmware, was the cause of my Wi-Fi misery?

I went to the router setup interface and found some information about the firmware:

  • Hardware version WR940N v1/WR941N v4 00000000
  • Firmware: 3.9.18 Build 100104 Rel.36350n.

A Google search quickly directed me to the firmware download page of my router, with a more recent firmware: 3.13.9 Build 120201 Rel.54965n. So it looked like my firmware was just over 2 years older than the latest available version, I downloaded the file, and upgraded it.

Let’s try that file transfer test again: 1m 30s, or 3.09MB/s. That’s the fastest speed I’ve ever seen with any of the little devices I tested. Of course, I can’t use that number to compare to other devices without repeating the test for the earlier devices (which I may do), but at least Wi-Fi transfer speed won’t be the limitation for the video playback tests.

The moral of the story is that if one of your Android mini PC has poor Wi-Fi performance, don’t start to open the case and try to add an external antenna, check your router has the latest firmware revision first.  I’ll have to check the effect this new router firmware has on T428 as well.

CS868 Video Playback

I’ve installed MX Player for this purpose, and made sure the hardware decoder is used, or mention it if software decode is used instead.

Let’s started with samplemedia.linaro.org videos from a CIFS/SAMBA share in Ubuntu 13.04:

  • H.264 codec / MP4 container (Big Buck Bunny), 480p/720p/1080p – OK
  • MPEG2 codec / MPG container, 480p/720p/1080p – OK
  • MPEG4 codec, AVI container 480p/720p/1080p – OK
  • VC1 codec (WMV) – Video OK, but audio suffers from short static noise (<1 second) from time to time
  • Real Media (RMVB) 720p – OK for RV8/RV9/RV10, but MX Player switched to SW decode
  • WebM 480p/720p/1080p – OK

I’ve also played several movies in AVI, VOB and MKV container formats, and they could all play, although for some files buffering at the start was pretty long (20 to 30 seconds), and some, but not all, appeared to suffer from audio/video sync issues. MOV videos from my Canon point and shoot camera will buffer as with all other devices I’ve tried (over Wi-Fi). The status bar will automatically hide when playing videos.

I’ve also tried higher bitrate videos:

  • ED_HD.avi (1080p MPEG-4 – 10Mbps) – The start is OK, but in some scenes where the bitrate must increase a lot, the video is very choppy.
  • big_buck_bunny_1080p_surround.avi (1080p H.264 – 12 Mbps) – OK
  • hddvd_demo_1080p.mkv (1080p VC1 – 17.5 Mbps) – The video can’t play smoothly most of the time.

There’s very good support for different audio codecs on the device:

  • AC3 – OK
  • Dolby Digital 5.1 and Digital+ 7.1 – OK
  • Dolby TrueHD 5.1 & 7.1 – OK
  • DTS-MA and DTS-HR – OK

I’ve also tried with one of my 4K2K video samples: HD.Club-4K-Chimei-inn-60mbps.mp4. At 60Mbps, it’s impossible to play over Wi-Fi, so I copied to the flash, and played it with MX Player. The only problem is that is uses software decode on that file, so I had to revert to using 4K Video Player included with the device, and it played perfectly.

4K VideoPlayer really showcases the power of AllWinner A31 VPU, as you can see your video file lists in thumbnail, and all 15 thumbnails are playing your videos. You can also open several videos and arrange them in different windows. I tried with 4, and they all seemed to play simultaneously smoothly. Watch the video below to see what it looks like. It may not be that useful, but I find it’s pretty neat.

CS868 Benchmarks

I’ve installed both Antutu 3.3, and Quadrant, but the latter refused to run.

CS868_Antutu

T428 got about 15200 points, and as expected CS868 gets a lower score with 10,559 points. The RK3188 device is almost twice as fast when it comes with RAM, and CPU integer and floating point scores, which is due both because of the difference architecture (Cortex A7 vs Cortex A9), and frequency (1.0 GHz vs 1.6 GHz). The GPU scores are about the same, although I expected A31 to outperform RK3188 in this particular test. The flash write speed seems much better in CS868 compared to T428 (35.8MB/s vs 7.1 MB/s), but I’m not sure how reliable this test is.

Quadrant and Antutu system information show the CPU frequency ranges between 120 and 1008 MHz, the screen resolution is 1280×720, there’s a total of 1660 MB RAM available to the system, the rest being probably reserved for the VPU, and about 1200 MB are available.  The 16GB NAND flash is partitioned into 2 partitions: a 1GB partition for apps with 746MB available, and a 12.24 GB partition that is basically empty.

Inside CS868

CS868 looks like a pain to open, so I skipped that part. Luckily, Linuxium did it before me, and we can still have a look inside.

(Click to Enlarge)

Click to Enlarge

The board is fitted with a largish heatsink.

(Click to Enlarge)

(Click to Enlarge)

Once we removed it we can see AllWinner A31, the 16GB flash, and 4 RAM chipsets, but the pictures are quite not clear enough the see the name of the components. [Update: Better pictures are now available on G+ Mini PCs’ Community]

(Click to Enlarge)

(Click to Enlarge)

On the other side, we’ve got four more RAM chipsets, and flash, as well as what looks like a Realtek Wi-Fi module. There are also 6 pads (LED, 3V3, D-, D+, GND, and WPS), but none of those should be useful for serial access. Maybe it’s now possible to debug using D-/D+ pins (USB), I don’t know.

Conclusion

CS868 mini PC has potential, but as it stands the firmware need some improvements, as HDMI audio may cut, and once Wi-Fi failed to initialize. I also had to re-install firmware since the device refused to boot, however I may be partially at fault here, as several times I just disconnected and reconnect power to reboot the device without using the power button first. Performance wise, CPU performance is much slower than RK3188 based devices, and 3D GPU tests appear to be roughly equal according to Antutu, so A31 devices may have to be priced lower than RK3188 to become more interesting. Video playback is where CS868 stands out, it managed almost all files I threw at it, with the only issue being WMA audio, and some long buffering time with a few videos. HDMI pass-though could be a nice feature to have for some.

Concerning Linux support, the main advantage of AllWinner A31 devices such as CS868 is that the source code for Linux and U-boot is already available, and this may take a few more months before RK3188 source shows up. However, performance in Linux is likely to be poor for a quad core devices, and GPU acceleration won’t be available due to the PowerVR GPU. Ian Morrison ran a subset of Phoronix Suite tests in a chroot in Android, and found that for some tests results are about the same or even lower than Rockchip RK3066 devices, mostly those relying on single core performance.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Tronsmart MK908 Quad Core HDMI TV Stick Review

April 27th, 2013 14 comments

Yesterday, I published some pictures of MK908, and this morning I updated it to the latest firmware, so it’s time to review this mini PC powered by Rockchip RK3188 quad core Cortex A9 SoC.

First Boot, Settings, and First Impressions

First of all, the firmware update has not changed the Home Screen, and we still get a standard Android Home Screen with an animated wallpaper. Screenshot and volume buttons are shown in the status bar, but there’s no soft power button, and no full screen button. Hopefully the power button can be added in next firmware update, and as we’ll see later the lack of full screen button is not really an issue.

MK809 Android Home Screen (Click to Enlarge)

MK809 Android Home Screen (Click to Enlarge)

As usual, About_TV_MK908I’ve gone to the settings menu to configure Wi-Fi, and I had no problem to connect. The device also supports Bluetooth (built-in), and you can setup to device with VPN, as a hotspot, and add an Ethernet or 3G USB dongle. So connectivity options look pretty good although I’ve only tested Wi-Fi. There’s an HDMI section that let you chosee between 1080p, 720p, 576p or 480p at either 50 or 60 Hz, and you can also zoom in/out to adjust the UI to your screen. However, there’s no option for HDMI audio output, so the audio will just be downmixed, and HDMI audio pass-through is not available. There are plenty of options available in Developer options including USB debugging, CPU usage, GPU usage and many more.  In the “About TV” section, we’ll find the model number (MK908), and the device is running Android 4.1.1 with Linux kernel 3.0.36+.

I’ve installed about 20 applications with Google Play including Antutu, ES File Explorer, MX Player, Temple Run 2, YouTube, Facebook.., and I had not problem here, which is quite rare. The firmware is already rooted, so you can install applications requiring root access such as Titanium backup.

All applications could run smoothly, except some games are not playable with a keyboard and mouse (Note to self: Buy some Bluetooth game controller… Done!). I could play Angry Birds Star Wars, and TurboFly HD demo, but other games such as Subway Surfers and Shadow Guns requires some other input device. I could seldom see the CPU use the full 4 cores, except with benchmarks. But to push the device a bit, I installed a large game and run Video to MP3 app in the background while playing TurboFly HD (3D games), and the device could handle the load without issues.

The device feel very snappy, everything is very smooth and responsive, and it did not hang, crash or suddenly reboot during my few hours of testing, so the firmware is stable too. For those of you who worry about overheating, you don’t need to be, as MK908 does not get hot, just a little warm, thanks to the internal heatsink.

MK908 Video Playback and Wi-Fi Performance

There are 4 media players pre-installed:

  • ES Media Player
  • Video Player
  • PPTV Phone
  • Video

But I just install MX Player, as this is one of the best player available,. If the codec is not supported by hardware, it will switch to software mode, so I made sure that H/W decoding is enabled for the video I tested.

I started testing with samplemedia.linaro.org videos from a CIFS/SAMBA share in Ubuntu:

  • H.264 codec / MP4 container (Big Buck Bunny), 480p/720p/1080p – OK, but for 1080p, the video plays for 1 or 2 seconds, then freezes to buffer a few seconds, then plays normally until the end. So this issue is minor.
  • MPEG2 codec / MPG container, 480p/720p/1080p –  OK
  • MPEG4 codec, AVI container 480p/720p/1080p – OK, but same buffering issue for 1080p as H.264/1080p
  • VC1 codec (WMV) – Fail (buffering forever)
  • Real Media (RMVB) 720p – OK for RV8/RV9/RV10, but same buffering issue as H.264/1080p
  • WebM 480p/720p/1080p – OK

I’ve also played several full movies (AVI and MKV), and they could all play flawlessly. FLV videos also played fine, but MX Player switched to software decode for most videos. However, .MOV videos from my Canon camera will buffer, but none of the mini PCs or set-top boxes I own can play those files over Wi-Fi smoothly. I did not the play 1-2s, buffer, and play again issues I experienced on samples with any of the movies I tried.

One a side note, when you play videos on this system, the status bar will automatically hide, so you can enjoy the movie full screen.

Since Wi-Fi performance seems quite good, I’ve also tried higher bitrate videos:

  • ED_HD.avi (1080p MPEG-4 – 10Mbps) – Starts out pretty good, but after a while the audio starts to cut intermittently, and in some scenes the bitrate must be too high, and video playback is affected as well.
  • big_buck_bunny_1080p_surround.avi (1080p H.264 – 12 Mbps) – Very choppy, and audio cuts though the full videos.
  • hddvd_demo_1080p.mkv (1080p VC1 – 17.5 Mbps) – It plays, but it just have to buffer the video every 10 seconds or so.
Again, I haven’t seen any Android devices pass this test over Wi-Fi, and it’s the only devices that nearly managed to play Elephant Dream smoothly.

I’ve also tested some videos and one audio filewith common Audio codecs:

  • DTS (Audio file) – Only static noise
  • AC3 – OK
  • Dolby Digital 5.1- OK
  • Dolby Digital+ 7.1 – No audio
  • Dolby TrueHD 5.1 & 7.1 – OK
  • DTS-MA- OK
  • DTS-HR – TBD, as the video fails to play.

So it seems there may be more work to be done for proper audio support.

It did not try XBMC, but Liliputing did test it, and it does not work very well for now. XBMC 12.1 won’t run at all. XBMC 13 Alpha 2 will run, but there’s no hardware video decoding support, and many playback issues.

Finally, I’ve copied one video (278 MB) between the network share and the NAND flash to test Wi-Fi performance and it  took exactly 3 minutes (1.54MB/s), and it’s one of the fastest devies, but still slower than Measy U2C which only took 2m46s (1.67MB/s).

MK908 Antutu and Quadrant Benchmarks

Both Antutu 3.3 and Quandrant Standard Edition could run in the device, which is quite rare for the latter.

MK908_Antutu

Without surprise the Antutu score (14,464) is excellent, although below the scores achieved on RK3188 tablets (18,000), but this also seems to be the case Antutu score are lower on mini PCs than tablets. As a comparison, Antutu gets up to 10,000 on MK808 (Finless ROM), but Finless ROM will also be available with MK908, and some others RK3188 mini PCs, so I’m pretty sure the score will increase with time. You’ll also notice this score puts MK908 on par with Google Nexus 10 and just a bit lower than HTC One X or Samsung Galaxy S3.

MK908_Quadrant

Quadrant Score for MK908 (Click to Enlarge)

The Quandrant score (4307) also shows the great performance of the device.

For some 2D and 3D tests looked choppy on both benchmark, although I could see most GPU tests were rendered at 50 to 60 fps. I’m not sure what causes this, and I cannot experience this issue with standard applications and games.

Rockchip RK3188 can support 1.8GHz in theory, but is clocked at 1.6GHz here, and I think it’s the same for tablets currently sold. I don’t know if it is a limitation due to the silicon, or overheating.  When I look at the system information section of the device, I can see the CPU frequency ranges between 312 and 1608 MHz, the screen resolution is 1280×672, there’s a total of of 2048 MB RAM, and 1432.80 MB are available (after running Task Killer). The 8GB NAND flash is partitioned with a 1GB partition called “Memory” in Antutu (660 MB free) and a 5818 MB partition called “SD card” (5798 MB free).

Conclusion

MK908 is the fastest mini PCs I’ve ever used, it just feels blasting fast, and the firmware is also stable, which to be honest, I did not expect since this is based on a new processor. Wi-Fi performance is excellent, and the status bar hides automatically when playing videos either with MX Player or YouTube. Video playback is pretty good too, but there’s still need to be some improvements, mainly because some VC-1 videos fail to play, and some audio codecs does not seems to be support DTS and DD+ 7.1. I’m a bit confused to why DTS-MA works however. The lack of soft power button is also a negative.

But overall, the positives far outweigh the negatives, which can all be fixed by firmware update. Speaking of which, I’ve been told the device would get a new firmware with Android 4.2 within one week.

Geekbuying sells the device for $89.99 including shipping, and it’s also available on some Aliexpress stores for the same price. It’s nearly double the price of RK3066 based device with similar features, albeit with less memory and processing power, but if you run many applications it’s definitely worth it.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Raspberry Pi Now Has Experimental Support for VP6, VP8, MJPEG and Ogg Theora Video Codecs

January 26th, 2013 8 comments

The guys working on the Raspberry Pi (mainly dom) have added preliminary support for VP6, VP8, MJPEG, and Ogg Theora free video codecs, as well as Ogg Vorbis audio codec. Unlike H.264, MPEG-2 and VC1, those are not handled by the hardware video decoder in Broadcom BCM2835 processor, but are accelerated by the Videocore GPU. This means that only SD (and possibly 720p) videos are supported for those codecs.

480p VP8 Video Playback in the Raspberry Pi

480p VP8 Video Playback in the Raspberry Pi

The best way to get support is probably to patiently wait for the Raspberry Pi foundation to release a new Raspbian image, but in case you couldn’t possibly wait, here are the steps to follow:

  1. Download and run Hexxeh’s rpi-update script in the Raspberry Pi in order to get the very latest build:
  2. Add the following two lines to /boot/config.txt:
  3. Reboot the Raspberry Pi
  4. The GPU firmware is now updated, but you still need the latest version of omxplayer. You  have two choices:
    1. Wait for the next build to be available on http://omxplayer.sconde.net/ (should be there in a few days).
    2. Build it yourself.
  5. I chose number 2 :). We’ll cross-compile omxplayer since we don’t have all day (and maybe more). First get the Rpi toolchain in a Linux build machine (Ubuntu 12.04 64-bit in my case):

    mkdir -p /usr/local/bcm-gcc
    pushd /usr/local/bcm-gcc
    sudo git clone git://github.com/raspberrypi/tools.git
    export PATH=$PATH:/usr/local/bcm-gcc/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
    popd

  6. We need a root file system for the build. Since we may need to install missing packages, I’ll run an NFS server in the Raspberry Pi and access the rootfs via NFS. So let’s configure the Raspberry Pi as a NFS server first:

    Then edit /etc/exports as root (sudo) and add the line:

    Then restart the NFS server
  7. Now let’s mount the NFS share in the build machine:
  8. Let’s retrieve omxplayer source code:
  9. Modify Makefile.include as follows:
    USE_NFS=1
    FLOAT=hard
    ifeq ($(USE_NFS), 1)
    NFSROOT :=/home/jaufranc/edev/rpi/nfs
    SDKSTAGE :=$(NFSROOT)
    TARGETFS :=$(NFSROOT)
    TOOLCHAIN :=/usr/local/bcm-gcc/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian
    HOST :=arm-linux-gnueabihf
    SYSROOT :=$(NFSROOT)
    else
    BUILDROOT :=/home/jaufranc/edev/rpi/bcm-rootfs
    SDKSTAGE :=/home/jaufranc/edev/rpi/bcm-rootfs
    TARGETFS :=/home/jaufranc/edev/rpi/bcm-rootfs
    TOOLCHAIN :=/usr/local/bcm-gcc/tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi
    HOST :=arm-bcm2708hardfp-linux-gnueabi
    SYSROOT :=$(TOOLCHAIN)/tools/arm-bcm2708hardfp-linux-gnueabi/sysroot/
    endifJOBS=8CFLAGS := -isystem$(PREFIX)/include
    CXXFLAGS := $(CFLAGS)
    CPPFLAGS := $(CFLAGS)
    LDFLAGS := -L$(BUILDROOT)/lib
    LD := $(TOOLCHAIN)/bin/$(HOST)-ld –sysroot=$(SYSROOT)
    CC := $(TOOLCHAIN)/bin/$(HOST)-gcc –sysroot=$(SYSROOT)
    CXX := $(TOOLCHAIN)/bin/$(HOST)-g++ –sysroot=$(SYSROOT)
    OBJDUMP := $(TOOLCHAIN)/bin/$(HOST)-objdump
    RANLIB := $(TOOLCHAIN)/bin/$(HOST)-ranlib
    STRIP := $(TOOLCHAIN)/bin/$(HOST)-strip
    AR := $(TOOLCHAIN)/bin/$(HOST)-ar
    CXXCP := $(CXX) -E

    PATH := $(PREFIX)/bin:$(BUILDROOT)/output/host/usr/bin:$(PATH)
    CFLAGS += -pipe -mfloat-abi=$(FLOAT) -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -O3 -mstructure-size-boundary=32 -mno-sched-prolog
    LDFLAGS += -L$(SDKSTAGE)/lib -L$(SDKSTAGE)/usr/lib -L$(SDKSTAGE)/opt/vc/lib/
    INCLUDES += -isystem$(SDKSTAGE)/usr/include -isystem$(SDKSTAGE)/usr/include/arm-linux-gnueabihf -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -isystem$(SDKSTAGE)/usr/include/freetype2

    You’ll need to change NFSROOT variable to where you mounted the NFS share.

  10. We’re now ready to cross-compile omxplayer:

    This will create a omxplayer-dist.tar.gz that you can copy in the Raspberry Pi:

    There may be missing dependencies during the build. If it’s the case, you need to install some development package in the Raspberry Pi. Refer to my “How-to fix common build error tutorials“, if the build fails.

  11. Back to the Raspberry Pi, let’s install it:

That’s all. Now we can try the files tested by dom:

e.g.: omxplayer big_buck_bunny_trailer_480p

The VP8 and Ogg Theora videos played very smoothly, but I just got a black screen for VP6 and MJPEG videos. since it could not detect the video stream. The firmware has been fixed for VP6 support, and omxplayer for MJPEG support, so all 4 files can now play.

If you don’t want to build omxplayer by yourself, you can download the binary I’ve built: omxplayer-dist.tar.gz.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

$6.80 Easycap DC60 USB Video Capture Card

December 24th, 2012 12 comments

You may have some old VHS tapes that you want to digitize to play on your computer or media player, or don’t feel like spending money on an HD recorder for your satellite or cable TV box, but still would like to record your favorite programs. It’s actually possible to do so for less than $7 thanks to USB video grabbers. Those USB capture cards are nothing new, but I did not know the price had come down that much. One of the cheapest capture card is Easycap DC60 (clone?) that sells for $6.80 on Aliexpress, and runs on Windows, and (if you are lucky) in Linux.

The device provides stereo audio input, composite input and S-Video input. It is sold with a USB cable to connect it to your computer. CD is normally provided with Windows drivers and program. All you need is a Windows 2000/XP computer with a free USB2.0 port, 256 MB RAM or more, 600MB available storage, and at least 1024×768 screen resolution. The program (Ulead Video Studio 8.0 SE DVD) needs  Microsoft DirectX 9.0 and Microsoft Media Player 7.1 or greater to work. Feedback is good on Aliexpress, but not so much on Amazon, as it’s not exactly straightforward to install and configure. Those who succeeded appear to be satisfied.

I also mentioned potential support for Linux in the introduction, as the instructions are available online. The problem is that Chinese websites sell Easycap USB capture card clones with at least 4 different hardware solutions:

  • Syntek STK1160 used in the “original” device, and works in Linux
  • Empia EM2860 – Works in Linux
  • Somagic SMI-2021CBE – Should work in Linux, but does not work with ARM Linux yet.
  • Fushicai UTV007 – Does not work in Linux.

The re-sellers won’t usually mention which solution their device is based on, so if you intend to use such a device with Linux, you’ll have to take your chance. The Easycap DC60 model sold on Dealextreme ($8.90) appears to be based on Somagic USB video bridge.

Onebir, a regular reader and commenter on this blog, suggested me to try it with one the mini PCs and write instructions, as some people might be interested to record and watch Cable TV programs with their HDMI TV Dongles. In many countries, cable TV is now broadcasted in HD, but recording with such device would downscale the resolution to NTSC/PAL, so I’m not sure that many people would be interested. If you are, please leave a comment, and if enough people beg ask me to give it a try, I’ll buy one. I doubt it will work with Android, so it would be done in Linux which narrow down the sticks that can be used, especially since we’d also need proper video playback of. If somebody has already done something like that, just let us know.

Merry Christmas Everybody!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Categories: Hardware, Linux, Video Tags: capture, easycap, Linux, mini pc, video

XBMC for Linux on AllWinner A10 Devices? It Works! (Sort of)

November 12th, 2012 6 comments

Following the lack of support by AllWinner for the video engine libraries (CedarX), I had more or less given up on hope XBMC for Linux would ever run properly on AllWinner A10/A13 hardware. But recently, I found out some progress had been made using existing libs, and saw the Pengpod Tablet video showing XBMC running in Linux fairly smoothly.

So I decided to cross-compile XBMC by following the instructions available at http://linux-sunxi.org/XBMC and trying to run it in Linaro ALIP 12.04 rootfs in my Mele A1000. Finally, I managed to cross-compile XBMC, but the performance was very poor in the GUI (6 to 12 fps) and I was unable to play videos and my serial console was flooded with messages like:

[Update: I managed to have XBMC Linux running & playing videos on Mele A1000 by using j1nx image (rootfs + kernel). I would first exhibit the exact same issue I had, but those where fixed:

1. To solve the video playback issue I had to modify script.bin as follows:

fb0_pixel_sequence = 1
fb0_scaler_mode_enable = 0

2. I add to modify XRES/YRES (1024×768) in S99xbmcinit in order to start the UI when outputting to VGA with this image or EGL would failed to initialize.

XBMC (alpha) is currently optimized for 720p (1280×720) resolution, so although I get up to 12 fps using VGA output with 1024×768 resolution, the UI is rendered at over 40 fps when the Mele outputs to HDMI @ 720p.

Source: http://www.j1nx.nl/buildroot-xbmc-on-mele-a1000-allwinner-a10/#comment-1244]

But Jasbir managed to get XBMC armhf running the the Hackberry using an Ubuntu 12.10 armhf image by “Guillaume” and natively compiling XBMC in the Hackberry board. Alternatively, if you’ve got an armel rootfs, you could try xbmca10.deb by Neal Peacock (the person behing the Pengpod Linux tablets).

In this post, I’ll still describe the steps I followed to build and run XBMC in Linaro ALIP rootfs (and hopefully I’ll eventually find the reason behind the performance issue),  ans show Jasbir results with XBMC armhf on the Hackberry.

XBMC ARMHF Build Instructions

Since we want to run XBMC armhf, we’ll first need a Linux image with an armhf rootfs. I’ll use Lianro ALIP 12.10 rootfs, following the hardware packs instructions. Insert an SD card in the build machine, and make it bootable:

wget https://raw.github.com/cnxsoft/a10-tools/master/a1x-media-create.sh
wget http://dl.linux-sunxi.org/nightly/2012.11.06/mele-a1000-vga_hwpack_2012.11.06.7z
wget http://releases.linaro.org/12.10/ubuntu/precise-images/alip/linaro-precise-alip-20121021-453.tar.gz
sudo ./a1x-media-create.sh /dev/sdb mele-a1000-vga_hwpack_2012.11.06.7z linaro-precise-alip-20121021-453.tar.gz

Now remove the SD card from the build machine, and insert it in the Mele A100 (or another A10 device) to install dependencies to build XBMC:

sudo apt-get build-dep xbmc
sudo apt-get install swig default-jre cmake libgtk2.0-bin libssh-dev
sudo apt-get remove libegl1-mesa libegl1-mesa-dev libegl1-mesa-drivers libgles2-mesa libgles2-mesa-dev
sync

Now back to the build machine. Checkout XBMC source code:

and extract the image from the SD card and mount the rootfs:

Create symlinks to the mounted libraries (requires full path):

sudo ln -s /home/jaufranc/edev/mele_a1000/xbmc-linux/rootfs/lib/arm-linux-gnueabihf /lib/arm-linux-gnueabihf
sudo ln -s /home/jaufranc/edev/mele_a1000/xbmc-linux/rootfs/usr/lib/arm-linux-gnueabihf /usr/lib/arm-linux-gnueabihf
sudo ln -s /home/jaufranc/edev/mele_a1000/xbmc-linux/rootfs/usr/include/arm-linux-gnueabihf /usr/include/arm-linux-gnueabihf

Enable hard-float in in xbmca10/tools/a10/depends/depends.mk:

and Update the following keys around line 50 in the same file:

Install some tools required to build XBMC, and create a symlink for the ARM g++ compiler:

sudo apt-get install cmake shtool swig autoconf autotools-dev automake libtool default-jre gawk gperf zip g++-arm-linux-gnueabihf autopoint
sudo ln -s /usr/bin/arm-linux-gnueabihf-g++-4.6 /usr/bin/arm-linux-gnueabihf-g++

Create the tarballs directory in the user’s root directory as well as XBMC install directory:

Replace [user] with your username.

You can now cross-compile XBMC for ARM:

This will take a little while, and once the build completes, copy XBMC binaries to your SD card:

All good! Time to give XBMC a try. Insert the SD card in your A10 device, change some permissions, and run XBMC:

After a few seconds, you should now be able to access XBMC user interface. In case you have issues, you can have a look at the log in ~/.xbmc/temp/xbmc.log.

XBMC A10 ARMHF Build on the HackBerry

First of all, this is a development version, so you should not expect a perfect user experience. There should be bugs, crashes, missing features and performance might not be optimal yet.

If you want to have a quick look, watch Jasbir video of XBMC armhf on the HackBerry board.

I did try to use Jasbir image on the Mele A1000 (After updating U-Boot and U-Boot SPL) to evaluate the current status of XBMC on A10, but I could only see XBMC boot logo before the system reboot, as XBMC actually terminates, after apparently thinking I pressed some key….

At the current stage of development, XBMC for Linux appears to work pretty well on AllWinner A10 devices, but there is still more work to do before users can enjoy it on their devices.

If you want to give it a try on your hardware, check out Hackberry A10 – XBMC blog post.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter