FFmpeg 3.1 adds support for OpenMAX encoding on Raspberry Pi, VA-API H.264 & H.265 Encoding, and more

FFmpeg is an open source multimedia framework used by many open source, as well as closed source, projects to handle audio and video containers parsing, hardware or software video decoding / encoding, and more. I also used it a few months ago to test H.265 hardware encoding with an Nvidia GPU using the development branch, but the developers have now released FFmpeg 3.1 “Laplace”, so it’s possible to use a stable release to perform H.265 hardware encoding. Some of the most noticeable features of the new version include: Generic OpenMAX IL H.264 & MPEG4 encoders for Raspberry Pi VA-API accelerated H.264/HEVC/MJPEG encoding VAAPI-accelerated format conversion and scaling Native Android MediaCodec API H.264 decoding CUDA (CUVID) HEVC & H.264 decoders CUDA accelerated format conversion and scaling DXVA2 accelerated HEVC Main10 decoding on Windows Many new muxers/demuxers A variety of new filters The complete list of changes for FFmpeg 3.1 can be […]

How to Stream Video from Zidoo X9 / Tronsmart Pavo M9’s HDMI Input

Zidoo X9 and Tronsmart Pavo M9 are TV boxes based on Mstar MSO9180D1R processor and featuring an HDMI input port that can be used for record video from an external source. Danman got a Pavo M9, and managed to successfully hack it to stream the HDMI input to the network using VLC and ffmpeg. One of his first task was to check out the hardware, and while the board has a different name (HDMI_4K_V1.2 vs MSO9810D1R-TF-V1.2), the board layout appears identical to Zidoo X9 board, so the instructions below should also work on Zidoo’s device. After doing some tests with VLC server on a Linux computer and running ffmpeg for Android in M9, as well as analyzing the recording app (ZidooRecorder.apk), and finding the app’s source code released by Zidoo (with some NDA protected binaries), he try to adapt the app to stream content instead, and called it ZidoStreamer. Eventually […]

Faster H.265/HEVC Video Encoding with Nvidia GTX960 GPU and ffmpeg

H.265 promises the same video quality as H.264 when using half the bitrate, so you may have thought about converting your H.264 videos to H.265/HEVC in order to reduce the space used by your videos. However, if you’ve ever tried to transcoding videos with tools such as HandBrake, you’ll know the process can be painfully slow, and a single movie may take several hours even with a machine with a power processor. However, there’s a better and fster solution thanks to hardware accelerated encoding available in some Intel and Nvidia graphics cards. For this purpose, GearBest sent me Maxsun MS-GTX960 graphics card, a second generation Maxwell GPU, that supports H.265 accelerated video encoding and promised up to 500 fps video encoding. So I’ve put the graphics card to the test in a computer running Ubuntu 14.04, and reports some of my findings here. Similar instructions can also be followed in […]

Converting H.264 Videos to VP9 In Linux / Ubuntu

1080p videos are all good, but my Internet connection’s upload speed is limited to 512 Kbps, so for example uploading a 20 minutes H.264 video shot at 1080p30 may easily take 10 hours, even after some processing with Handbrake. So this week-end I investigated how I could reduce the upload size, and going with H.265 codec appeared to be a good idea at first. So I tried again H.265 encoding in Handbrake in Ubuntu 14.04, and discovered that adjusting CRF (constant quality factor) to 25 with H.265 was roughly equivalent to 20 with H.264, and both the compression ratio and encoding speed were greatly improved compared to default settings with a minor degradation in quality. If you happen to have a second generation Nvidia Maxwell graphics card you may want to check Nvidia Video Encoding SDK for speedier encoding. All was good until I decided to upload a test video, […]

Linux Benchmarks – Rockchip RK3288 vs Exynos 5422 vs AllWinner A80 vs Intel Atom Z3735F

With all these Intel Atom Z3735F been released right now at a price similar to ARM based mini PCs, many people, including myself, are wondering about the performance of the low cost Intel processor against their ARM competitors. Ian Morrison just published some results from Phoronix Test Suite comparing the performance of  Firefly-RK3288 (Rockchip RK3288), ODROID-XU3 Lite (Samsung Exynos 5422 BIN2), and A80 OptimusBoard (Allwinner A80) in Linux (Ununtu 12.04.5), against the performance of MeegoPad T01 (Intel Atom Z3735F) running Linux from a Live CD on a USB drive. Some of the benchmarks failed because Phoronix Test Suite got apparently confused with the file systems located on a USB drive, but at least we’ve got a comparison point, and the results are a bit confusing, as they’re no clear winner. In some tests like FFmpeg, the Intel SoC really crushed the ARM competition being at least twice as fast as […]

H.265/HEVC (High Efficiency Video Coding) Status and How-To Encode Videos to H.265

Now H.264 is the main standard used for video compression, and most devices that can support video playback feature an SoCs capable of H.264 hardware video decoding. Since 2004, however, work has been done to improve H.264, and a new standard called High Efficiency Video Coding (HEVC), also referred to as H.265, will eventually replace H.264, even though this will take a few more years to really gain traction. HEVC will be able to double the data compression ratio compared to H.264 with the same quality, or improve the quality using the same bitrate, and it can support 8K UHD (Ultra High Definition) with a resolution of 7680×4320 (4320p). This new video codec is a big deal for those who pay for video bandwidth (80% of internet traffic according to Ericsson), and it should also be welcomed by consumers, as it will magically double their storage device capacity, and they may […]

Building Chromium OS for Raspberry Pi (ARMv6)

I had previously written the instructions to build an older version of Chromium (via Berkelium) for ARM using Beagleboard/Overo rootfs in order to use it with Xibo digital signage. Recently I’ve been contacted by hexxeh, who maintains Chromium OS vanilla builds for x86 and MacOS computer, as he intends to provide Chromium OS for the Raspberry Pi, and you should be able to get a SD card image once everything is working from the site above. Today, I’ll post the steps followed to build Chromium OS LKGR (“the latest revision to pass only unit tests”) optimized for  ARMv6 processor with soft-float support, which is the type of processor (Broadcom BCM2835) used in the Raspberry Pi. Please note that although it can build, it still does not run properly and a few more changes are needed. First, you’ll need a fast machine to build Chromium OS in a reasonable amount of […]

Video Wall with Beagleboards and ffmpeg

There was a 6-Screen Video Wall at Embedded World 2011, powered by 6 Beagleboard xM (based on Texas Instruments OMAP 3 running @ 1Ghz – Cost: 149 USD / piece), connected vi Ethernet. In the video they explain that the system is running Linux Ångström and the video is played and synchronized over Ethernet with ffmpeg. After doing some research on how to do this, they are probably using omapfbplay with netsync enabled which you can compile as follows: NETSYNC=y OMAPFB=y make However, if you are using Linux Ångström, omapfbplay with netsync is enabled by default. This can also be done with the first version of Beagleboard (without Ethernet) via USB. They can also control each display independently and synchronize the mouse and keyboard thanks to Synergy. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting […]

Exit mobile version
Memfault IoT and embedded debugging platform