Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

trying ffmpeg on S912 H96 pro+ DEV image 20191025

Featured Replies

Hello all,

 

i download the new DEV image 20191025  ( kernel 5.4.0 rc4 )

For the dtb is use : meson-gxm-s912-kiii-pro.dtb ( h96 pro+ hardware like the k3 pro )

in the file : uEnv.ini

change this line :

dtb_name=/dtb/amlogic/meson-gxm-s912-kiii-pro.dtb

 

install packages :

sudo apt-get install nasm

sudo apt-get install yasm

apt install autoconf automake cmake libtool git checkinstall nasm yasm libass-dev libfreetype6-dev libsdl2-dev p11-kit libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev libchromaprint-dev frei0r-plugins-dev gnutls-dev ladspa-sdk libcaca-dev libcdio-paranoia-dev libcodec2-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libgme-dev libgsm1-dev libjack-dev libmodplug-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libopenjp2-7-dev libopenmpt-dev libopus-dev libpulse-dev librsvg2-dev librubberband-dev librtmp-dev libshine-dev libsmbclient-dev libsnappy-dev libsoxr-dev libspeex-dev libssh-dev libtesseract-dev libtheora-dev libtwolame-dev libv4l-dev libvo-amrwbenc-dev libvorbis-dev libvpx-dev libwavpack-dev libwebp-dev libx264-dev libx265-dev libxvidcore-dev libxml2-dev libzmq3-dev libzvbi-dev liblilv-dev libopenal-dev opencl-dev libjack-dev v4l-utils

 

compile aom :

cd ~/ffmpeg_sources

mkdir aom

cd aom

git clone https://aomedia.googlesource.com/aom cmake aom/ -DBUILD_SHARED_LIBS=1

make -j8

sudo checkinstall -y --deldoc=yes --pkgversion=1.0.0 cd ..

 

Compile ffmpeg :

mkdir -p ~/ffmpeg_sources ~/bin

cd ~/ffmpeg_sources && \
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
tar xjvf ffmpeg-snapshot.tar.bz2 && \
cd ffmpeg && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
  --prefix="$HOME/ffmpeg_build" \
  --pkg-config-flags="--static" \
  --extra-cflags="-I$HOME/ffmpeg_build/include" \
  --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
  --extra-libs="-lpthread -lm" \
  --bindir="$HOME/bin" \
  --enable-gpl \
  --enable-libaom \
  --enable-libass \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libx264 \
  --enable-libx265 \
--enable-version3 \
--enable-shared --enable-small --enable-avisynth --enable-chromaprint \
--enable-frei0r --enable-gmp --enable-ladspa \
--enable-libaom --enable-libass --enable-libcaca --enable-libcdio \
--enable-libcodec2 --enable-libfontconfig --enable-libfreetype \
--enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack \
--enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb \
--enable-libopencore-amrwb --enable-libopencore-amrwb \
--enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse \
--enable-librubberband --enable-libshine \
--enable-libsnappy --enable-libsoxr --enable-libspeex \
--enable-libssh --enable-libtheora \
--enable-libtwolame --enable-libvo-amrwbenc \
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp \
--enable-libx264 --enable-libx265 --enable-libxvid \
--enable-libzvbi --enable-lv2 \
--enable-openal --enable-opencl --enable-opengl --enable-libdrm \
--enable-nonfree --enable-libfdk-aac \
  --enable-nonfree && \
PATH="$HOME/bin:$PATH" make -j8 && \
make install && \
hash -r

 

some changes :

open

/etc/ld.so.conf

add this line in this file

/root/ffmpeg_build/lib/

launch :

ldconfig

the ffmpeg bin is on : /root/bin/

 

test sofware decode and encode ( h264 1920*1080 to 320*240 )

/root/bin/ffmpeg -vcodec h264 -i http://192.168.1.50:8001/1:0:19:606:6:20FA:EEEE0000:0:0:0: -s 320x240 /tmp/test.avi

(works but not enough cpu , don't forget the s912 have 8 arm A53 core BUT 4 at 1600 Ghz and 4 at 1 Ghz AND IT'S NOT 8 core at 2Ghz ... so we need speed 1 , we have max 1.1 and 0.7 with S912 without hw decoder  )

 

my best conf for software decoder/encoder :

/root/bin/ffmpeg -threads 16 -i http://192.168.1.50:8001/1:0:19:415:4:20FA:EEEE0000:0:0:0: -b:a 32k -b:v 300k -s 320x240 /tmp/test.avi

or /root/bin/ffmpeg -benchmark  -filter_threads 16 -threads 16 -thread_queue_size 3276800 -i http://192.168.1.50:8001/1:0:19:415:4:20FA:EEEE0000:0:0:0: -ac 1 -ar 22050 -b:a 8k -max_muxing_queue_size 9999999 -b:v 275k -s 320x240 /home/martos/test.avi

 

test hardware decode and software decode ( h264 1920*1080 to 320*240 )

 /root/bin/ffmpeg -vcodec h264_v4l2m2m -i http://192.168.1.50:8001/1:0:19:606:6:20FA:EEEE0000:0:0:0: -s 160x120 /tmp/test.avi

BUT :

[h264_v4l2m2m_decoder @ 0xaaaac47b5b00] Could not find a valid device
[h264_v4l2m2m @ 0xaaaac477fe70] can't configure decoder

 

do you know if this kernel have the change for Hardware aml decoder ?

 

 

 

  • Author

just for information, in dmesg repeat when i made my test  :

[29560.295075] meson-dw-hdmi c883a000.hdmi-tx: channels=2 sample_width=16 sample_rate=44100
[29560.295134] meson_aiu_i2s_dma_hw_params: physical_width=16 buffer_bytes=17664 period_bytes=4352
[29582.217953] meson-aiu-i2s meson-aiu-i2s.4.auto: Failed to set sysclk to 0Hz

and i think i have trouble with the sound ( horrible )

  • Werner locked this topic
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.