Magnets reacted to buptsb in OrangePi PC2 H.264 artifacts with sunxi-Cedrus
I have been trying to utilize H5 vpu decoding for 10+ hours... Still no go.
Here is the checklist:
Using mainline kernel 5.8.9 from Armbian/build current.
`uname -a` output: All kernel configs needed on Sunxi-Cedrus homepage were added, cma set to 256M.
Using https://github.com/Sash0k/libva-v4l2-request master.
Compiled and make installed.
`v4l2-ctl --list-formats` output:
`./v4l2-request-test -f 25 -l` output:
Cpu usage is quite low(4 cores <5%), checked with lsof and /dev/media0 & /dev/video0 are all occupied by v4l2-request-test.
Seems frame decoding is working ok, but the big_buck_bunny video did not show up, something must be wrong here...
https://github.com/Kwiboo/FFmpeg.git branch FFmpeg-4l2-request-hwaccel-4.3
`--enable-v4l2-request --enable-libdrm --enable-libudev` added in configure,
`ffmpeg -decoders | grep 264` output:
And finally running `ffmpeg -loglevel debug -hwaccel drm -i ~/jellyfish-10-mbps-hd-h264.mkv -pix_fmt bgra -f fbdev /dev/fb0` without x11, green artifacts met.
One of the four cores is 100% utilized, others are free. Frame rate is super low (<5fps).
Changing hwaccel from `drm` to `vaapi` (and what's the difference between these two?), met another kind of artifacts.
So, any kind of help are welcomed, thanks!
Magnets reacted to ubobrov in 4kp30 video on Orange Pi Lite and mainline hardware acceleration
I've got ffmpeg working with v4l2_request api on Allwinner H3 (orange pi pc).
It achieved in a few steps:
1. Download FFmpeg https://github.com/xbmc/FFmpeg/archive/4.0.4-Leia-18.4.tar.gz
2. Patch it with https://github.com/LibreELEC/LibreELEC.tv/tree/master/packages/multimedia/ffmpeg/patches
3. Download mainline kernel 5.3.5
4. Patch it with https://github.com/LibreELEC/LibreELEC.tv/tree/master/projects/Allwinner/patches/linux
5. Copy linux headers on rootfs /usr/include after kernel built:
make headers_install ARCH=arm INSTALL_HDR_PATH=/your/path/to/headers 6. Install libdrm-dev and libudev-dev before configuring FFmpeg
7. Configure FFmpeg with:
/configure --enable-v4l2-request --enable-libudev --enable-libdrm --enable-shared --disable-static \ --disable-openssl --disable-gray --disable-vaapi --disable-vdpau --disable-rkmpp 8. Build FFmpeg on the target machine (orange pi pc in my case)
That's it )
ffmpeg -re -hwaccel drm -i Big_Buck_Bunny_720_10s_2MB.mp4 out.avi FFmpeg perfectly uses HW acceleration on decoding H264.
Magnets reacted to guidol in upgrade jessie to stretch
actual - where jessie has been archived - you should start with the following /etc/apt/sources.list:
deb http://archive.debian.org/debian/ jessie main contrib non-free deb-src http://archive.debian.org/debian/ jessie main contrib non-free deb http://security.debian.org jessie/updates main contrib non-free deb-src http://security.debian.org jessie/updates main contrib non-free and enter the following commands:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
then change the content of /etc/apt/sources.list to:
deb http://httpredir.debian.org/debian stretch main contrib non-free deb http://httpredir.debian.org/debian stretch-updates main contrib non-free deb http://httpredir.debian.org/debian stretch-backports main contrib non-free deb http://security.debian.org/ stretch/updates main contrib non-free then redo:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
and after that for cleanup:
sudo apt-get autoremove
sudo apt-get autoclean
You have to check that there is no other sources-list or another package-list in the directory /etc/apt/sources.list.d
Magnets got a reaction from manuti in Upgrade from Orange pi PC?
I have an orange pi PC that I use as a simple NAS (NFS, smb, iscsi) and for openVPN occasionally but want something new with GbE.
What is the best upgrade that will give me 2 or more usb ports, GbE and a faster processor? With decent software support ()? I don't need HDMI or wifi but it would be a plus
opi zero plus?
opi PC 2?
Around $20 shipped ideally
Magnets reacted to yam1 in Recommended SBC below 20USD range.
Here are some of my SBCs that are under $20 (see photo below). I have divided them into two categories, with hdmi and not. The ones on the left are without, and on the right are with. The ones without are mostly orangepi's and nanopi's. Just do a search on their web sites and if it is under $20, I have it. One thing to consider is the ones with two spi channels (e.g. nanopi core 1 - note core 2 is better but its over $20), this would allow connecting two spi screens. If you connect two relatively big 3.2 ili9341 screens, with the browser stretched across them, your experience would still suffer but it would be okay in some extreme situations. The ones with hdmi include, raspberrypi zero w (double spi), nanopi A64 (double spi), pcduino4 nano (double spi), nanopi m1 - same as pcduino4 nano (double spi), and the other three orangepi's. Bananapi zero is slightly over $20, I have it connected to a lap dock. Of these, the best is pcduino4 nano (get it on ebay between $5 to $16), supported well in software (armbian), and nanopi a64 ($19.99?) is my second choice, software support is getting there (may be?), at least double spi works with pine64 image (latest kernel). Raspberrypi Zero W is only $5 from my local store, and dual spi screen with camera works, you really can't beat it in price.
Magnets got a reaction from valant in SD card performance
Using performance gov on opi PC with Sandisk 16GB A1 on a usb card reader
Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 3546 3573 5092 5086 4412 2948 102400 16 4588 8634 15272 15273 13885 7955 102400 512 21594 30277 36395 36542 35605 27344 102400 1024 28300 32080 36932 37035 36661 26242 102400 16384 30036 32860 37809 37933 37894 28773 iozone test complete. Purchased from aliexpress ($5) but the scratch & verify sticker says it's genuine
My samsung evo 64gb went read-only recently (20 months old) and then would not boot. I copied to another card and ran fsck and all seems OK. I think the later evos were not as well made as the earlier batches.
Magnets reacted to tkaiser in ROCK64
Hmm... to summarize the 'OpenSSL 1.0.2g 1 Mar 2016' results for the 3 boards/SoC tested above with some more numbers added (on all A53 cores with crypto extensions enabled performance is directly proportional to CPU clockspeeds -- nice):
ODROID N1 / RK3399 A72 @ 2.0GHz: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 377879.56k 864100.25k 1267985.24k 1412154.03k 1489756.16k aes-192-cbc 325844.85k 793977.30k 1063641.34k 1242280.28k 1312189.10k aes-256-cbc 270982.47k 721167.51k 992207.02k 1079193.94k 1122691.75k ODROID N1 / RK3399 A53 @ 1.5GHz: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 103350.94k 326209.49k 683714.13k 979303.08k 1118808.75k aes-192-cbc 98758.18k 291794.65k 565252.01k 759266.99k 843298.13k aes-256-cbc 96390.77k 273654.98k 495746.99k 638750.04k 696857.94k MacchiatoBin / ARMADA 8040 @ 1.3GHz: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 360791.31k 684250.01k 885927.34k 943325.18k 977362.94k aes-192-cbc 133711.13k 382607.98k 685033.56k 786573.31k 854780.59k aes-256-cbc 314631.74k 553833.58k 683859.97k 719003.99k 738915.67k Orange Pi One Plus / H6 @ 1800 MHz: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 226657.97k 606014.83k 1013054.98k 1259576.66k 1355773.27k aes-192-cbc 211655.34k 517779.82k 809443.75k 963041.96k 1019251.37k aes-256-cbc 202708.41k 470698.97k 692581.21k 802039.13k 840761.34k NanoPi Fire3 / Nexell S5P6818 @ 1400 MHz (4.14.40 64-bit kernel): type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 96454.85k 303549.92k 637307.56k 909027.59k 1041484.46k aes-192-cbc 91930.59k 274220.78k 527673.43k 705704.40k 785708.37k aes-256-cbc 89652.23k 254797.65k 460436.75k 594723.84k 648388.61k ROCK64 / Rockchip RK3328 @ 1296 MHz: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 163161.40k 436259.80k 729289.90k 906723.33k 975929.34k aes-192-cbc 152362.85k 375675.22k 582690.99k 693259.95k 733563.56k aes-256-cbc 145928.50k 337163.26k 498586.20k 577371.48k 605145.77k PineBook / Allwinner A64 @ 1152 MHz: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 144995.37k 387488.51k 648090.20k 805775.36k 867464.53k aes-192-cbc 135053.95k 332235.56k 516605.95k 609853.78k 650671.45k aes-256-cbc 129690.99k 300415.98k 443108.44k 513158.49k 537903.10k Espressobin / Marvell Armada 3720 @ 1000 MHz: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 68509.24k 216097.11k 453277.35k 649243.99k 741862.06k aes-192-cbc 65462.17k 194529.30k 375030.70k 503817.22k 559303.34k aes-256-cbc 63905.67k 181436.03k 328664.06k 423431.51k 462012.42k OPi PC2 / Allwinner H5 @ 816 MHz: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 102568.41k 274205.76k 458456.23k 569923.58k 613422.42k aes-192-cbc 95781.66k 235775.72k 366295.72k 435745.79k 461294.25k aes-256-cbc 91725.44k 211677.08k 313433.77k 362907.31k 380482.90k Banana Pi R2 / MediaTek MT7623 @ 1040 MHz and MTK Crypto Engine active type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 519.15k 1784.13k 6315.78k 25199.27k 124499.22k aes-192-cbc 512.39k 1794.01k 6375.59k 25382.23k 118693.89k aes-256-cbc 508.30k 1795.05k 6339.93k 25042.60k 112943.10k MiQi / RK3288 @ 2000 MHz: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128 cbc 87295.72k 94739.03k 98363.39k 99325.95k 99562.84k ODROID-HC1 / Samsung Exynos 5244 @ (A15 core @ 2000 MHz): type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 78690.05k 89287.85k 94056.79k 95104.34k 95638.87k aes-192-cbc 69102.10k 77545.47k 81156.61k 81964.71k 82351.45k aes-256-cbc 61715.85k 68172.80k 71120.73k 71710.72k 72040.45k ODROID-C2 / Amlogic S905 @ 1752 MHz: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 51748.63k 59348.22k 62051.33k 62763.35k 62963.71k aes-192-cbc 46511.57k 52507.95k 54599.08k 55151.27k 55312.38k aes-256-cbc 42094.22k 46302.95k 47941.46k 48372.74k 48513.02k NanoPi M3 / Nexell S5P6818 @ 1400 MHz (3.4.39 32-bit kernel): type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 44264.22k 54627.49k 58849.88k 59756.35k 60257.62k aes-192-cbc 39559.11k 47999.32k 51095.30k 51736.15k 52158.46k aes-256-cbc 35803.41k 42665.24k 44926.47k 45733.21k 45883.39k Clearfog Pro / Marvell Armada 38x @ 1600 MHz: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 47352.87k 54746.43k 57855.57k 58686.12k 58938.71k aes-192-cbc 41516.52k 47126.91k 49317.55k 49932.63k 50151.42k aes-256-cbc 36960.26k 41269.63k 43042.65k 43512.15k 43649.71k Raspberry Pi 3 / BCM2837 @ 1200 MHz: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 31186.04k 47189.70k 52744.87k 54331.73k 54799.02k aes-192-cbc 30170.93k 40512.11k 44541.35k 45672.11k 45992.62k aes-256-cbc 27073.50k 35401.37k 38504.70k 39369.39k 39616.51k Banana Pi M3 / Allwinner A83T @ 1800 MHz: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 36122.38k 43447.94k 45895.34k 46459.56k 46713.51k aes-192-cbc 32000.05k 37428.74k 39234.30k 39661.91k 39718.95k aes-256-cbc 28803.39k 33167.72k 34550.53k 34877.10k 35042.65k Banana Pi R2 / MediaTek MT7623 @ 1040 MHz: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 22082.67k 25522.92k 26626.22k 26912.77k 26995.37k aes-192-cbc 19340.79k 21932.39k 22739.54k 22932.82k 23008.60k aes-256-cbc 17379.62k 19425.11k 20058.03k 20223.66k 20267.01k Edit: Added results for Pinebook and ODROID-HC1 ensuring both were running at max cpufreq
Edit 2: Added cpufreq settings for each tested device. Please note throttling dependencies and multi-threaded results below
Edit 3: Added Banana Pi M3 single thread performance above. Performance with 8 threads sucks since A83T throttles down to 1.2GHz within 10 minutes and overall AES253 score is below 190000k.
Edit 4: Added EspressoBin numbers from here. Another nice example for the efficiency of ARMv8 crypto extensions.
Edit 5: Added NanoPi M3 numbers from there.
Edit 6: Added Clearfog Pro numbers (Cortex-A9 -- unfortunately OpenSSL currently doesn't make use of CESA crypto engine otherwise numbers would be 3 to 4 times higher)
Edit 7: Added Banana Pi R2 numbers from here (Cortex-A7, cpufreq scaling broken since ever so SoC only running with 1040 MHz, numbers might slightly improve once MTK manages to fix cpufreq scaling)
Edit 8: Added numbers for ARMADA8040 (A72) from CNX comment thread.
Edit 9: Added RK3288 (Cortex A17) numbers from here.
Edit 10: Added RPI 3 (BCM2837) numbers. Please be aware that these are not Raspbian numbers but made with 64-bit kernel and Debian arm64 userland. When using Raspbian you get lower numbers!
Edit 11: Added Allwinner H6 numers from here.
Edit 12: Added RK3399 numbers from here.
Edit 13: Added new S5P6818 numbers since now with mainline 64-bit kernel ARMv8 crypto extensions are available
Magnets got a reaction from gounthar in What would you choose to record and broadcast video?
I'd use this to get the HDMI output of your DSLR encoded (720p only)
Then a raspberry pi or pi0 to do the hw h264 re-encoding
Magnets got a reaction from tkaiser in Summary of boards for a NAS
On the ultra low end you can get a pogoplug v4, and if you get the pink version it has 2xUSB 3.0, 1xUSB2, SD slot, gigabit ethernet and a sata slot. They also come with a 12v/2A power supply and you don't have to buy a case. They have pretty crappy performance compared to the newer boards and do run hot.
You can pick them up on ebay for next to nothing, especially in the US
Magnets got a reaction from tkaiser in SD card performance
32GB sandisk ultra
root@orangepipcplus:~# iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.429 $ Compiled for 32 bit mode. Build: linux Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 2087 3278 7660 7666 6585 2525 102400 16 2193 2680 15009 15004 14165 4382 102400 512 7311 10130 21708 21690 21675 9219 102400 1024 11290 16439 22156 22163 22137 13792 102400 16384 17462 18827 22777 22779 22776 18479
Magnets got a reaction from tkaiser in SD card performance
PNY SDXC 64GB UHS-I - rated 50MB/s
Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 102400 kB Record Size 4 kB Record Size 16 kB Record Size 512 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread frer ead 102400 4 1182 1182 7421 7419 3163 1029 102400 16 2577 3512 14447 14524 8940 3230 102400 512 11793 16506 21625 21623 20965 17871 102400 1024 15319 16764 22187 22184 21804 18210 102400 16384 15889 17232 22911 22908 22886 18651
Magnets got a reaction from mazarei in HW H.265 And H.264 Codec On H3
To give you some idea, I get ~24FPS encoding 1080p h264 into 1080p h264 using cedrus.
I doubt you will get much improved performance because SW decode h265 will be very slow
I think a raspberry pi is better for video because the openmax platform has more support and allows hw decode too.