Hi. Did anybody try to compress (e.g. via ffmpeg or gstreamer) video from raw data to VP8/VP9/h.264/h.265 on one any of x86 devices? Best regards, Tomek
Yes, I have been using FFMPEG (built from source) with hardware acceleration (h264_vaapi) to transcode video from mpeg2 to h.264. Getting it setup took a bit of doing. I'm running Arch Linux and was able to modify the ffmpeg-git package's compilation options to enable hardware acceleration. Along the way, I found this gist very helpful. I was new to ffmpeg, so getting it all to work probably took longer than it should have. I gave up on implementing hardware decoding. It doesn't seem to be available on linux w/ vaapi and my attempts at getting QSV to work failed. The internet seems much more interested in getting hardware encoding to work than decoding, from which I've inferred that the relative benefit of the one is greater than the other.
A lot of work is involved in optimizing CPU-based (software-)decoding on various codecs and all kind of profiles. Even more work is involved in GPU-assisted (hardware-)decoding. Latter is closed to dark magic. Encoding is much, much harder. Bottom-line is this: Intel sells main-stream CPU/GPU priced from one hundred up to one thousand dollars, while some of the ATOM SoCs are listed at $14. A commercial high-end specialized video encoder can go up to $30,000 a pop. If if there is a free lunch (if at all), it will be well hidden. BTW, current UDOO x86 family of boards are all ATOM based. ccs_hello
Do you think that system installed on eMMC or RAM card could be a bottleneck or it is all about CPU/GPU?
All about GPU and CPU. GPU would have worked the best. CPU will spend at least 5x the labor (if AVX2 instruction set is used) and will spend 30x or more effort if AVX2 is not supported. You should be able to guess what those $14 ATOM class CPUs can and cannot support. Do you think Intel is that dumb? Do you think how those $30000 specialized gear mfgs will go bankrupt tomorrow?
I'm using ffmpeg as well with h264_vaapi Input video is OTA Code: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 1920x1080 [SAR 1:1 DAR 16:9], Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Doing CPU encode the load is around 3.5 and runs around 3-5 fps. Using h264_vaapi my load is about 0.7 and it runs around 40fps.
The best option is to use GPU in order to compress video. If I want just to install Linux and encode video isn't better option to look at hardware based on ARM, e.g. ASUS Tinker Board (Mali-T764 GPU) or ODROID-C2 (Mali™-450 GPU)?