Dante4

  • Posts

    40
  • Joined

  • Last visited

Everything posted by Dante4

  1. I did not had this message (but LongChair's mpv seems to not working with 10bits? on rk3399) so what i did: cd /home/dante4 && mkdir video && cd video && git clone -b master https://github.com/rockchip-linux/libmali && git clone https://github.com/rockchip-linux/mpp && git clone -b master https://github.com/rockchip-linux/gstreamer-rockchip && git clone https://github.com/rockchip-linux/gstreamer-rockchip-extra && git clone https://github.com/mpv-player/mpv-build cd libmali && cmake CMakeLists.txt && make -j4 && make install && ldconfig LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/include cd ../mpp && cmake -DRKPLATFORM=ON -DHAVE_DRM=ON && make -j6 && make install apt-get update && apt-get upgrade -y && apt-get install -y libqt5opengl5 libqt5qml5 libqt5quick5 libqt5widgets5 libqt5gui5 libqt5core5a qml-module-qtquick2 libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediaquick-p5 qtmultimedia5-examples qtmultimedia5-doc-html pkg-config gcc make git unzip wget xz-utils cmake devscripts equivs build-essential docutils-common mercurial cmake-curses-gui build-essential yasm mercurial cmake cmake-curses-gui build-essential gcc-arm-linux-gnueabi g++-arm-linux-gnueabi texinfo nasm automake pkg-config apt-get install libass-dev apt-get install libfdk-aac-dev fdkaac aac-enc libfdk-aac1 apt-get install autoconf automake build-essential cmake git-core libass-dev libfreetype6-dev libsdl2-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev yasm libx264-dev libx265-dev libnuma-dev libvpx-dev libfdk-aac-dev libmp3lame-dev libopus-dev mc locate libghc-bzlib-dev and then i configured FFmpeg with this options PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" +http://forum.loverpi.com/discussion/comment/1426/#Comment_1426 with doing this first where $home/ffmpeg_build is place where folder FFmpeg laying
  2. Seems like i build libmali in wrong way (are there any other way to build it?) and i need to add some options, just cmake && make && make install doesn't allow me to get gbm installed. And looking at output of mpv and google [autoconvert] can't find video conversion for drm_prime/unknown Maybe I'm missing some files or links (just coping libmali-utgard-450-r7p0-gbm.so and creating links with name: libMali.so libgbm.so libgbm.so.1 and libgbm.so.1.0.0 to specific patch and then LD_LIBRARY_PATH to this folder doesn't seems to work). Maybe i need mpv from LongChair repo and not official one Solution. Yes i need to use LongChair repo. Now i'm interested can this be solved with just patch
  3. P.S. If someone wanna fast way to have mpv+ffmpeg this works on Renegade too (You need to add ayufan ppa) and do steps from "For older releases (< 0.6.25)". P.S.S. Can someone explain, does this repo have some heavy modified mpv? ffmpeg for now with proper flags should be able to use HW even from official repo, libmali-rk-utgard-450-r7p0-gbm can be build from official repo too. But with just that i still get software decoding
  4. Don't be lazy to learn something new. You just need to edit 1 file to do it, here (step 6 for you)
  5. Yes, i will be happy to. A very small guide how to use any gstreamer player with rk3328 (Thanks to @JMCC): After installation switch to nightly builds (may be unnecessary). From now on or add sudo to each command or do sudo su Then apt-get update && apt-get upgrade -y && apt-get install -y libqt5opengl5 libqt5qml5 libqt5quick5 libqt5widgets5 libqt5gui5 libqt5core5a qml-module-qtquick2 libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediaquick-p5 qtmultimedia5-examples qtmultimedia5-doc-html pkg-config gcc make git unzip wget xz-utils cmake devscripts equivs build-essential docutils-common mercurial cmake-curses-gui build-essential yasm mercurial cmake cmake-curses-gui build-essential gcc-arm-linux-gnueabi g++-arm-linux-gnueabi texinfo nasm automake pkg-config Then install necessary components for gstreamer apt-get install gstreamer1.0-tools qtgstreamer-plugins-qt5 gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-plugins-base-apps glib-2.0 libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk2.0-dev libperl-dev Now download libmali, mpp, gstreamer-rockchip and gstreamer-rockchip-extra from rockchip github mkdir build && cd build && git clone -b master https://github.com/rockchip-linux/libmali && git clone https://github.com/rockchip-linux/mpp && git clone -b master https://github.com/rockchip-linux/gstreamer-rockchip && git clone https://github.com/rockchip-linux/gstreamer-rockchip-extra Now apply patch from libreelec github to drm_fourcc nano /usr/include/drm/drm_fourcc.h and insert this #define DRM_FORMAT_NV12_10 fourcc_code('N', 'A', '1', '2') /* 2x2 subsampled Cr:Cb plane */ #define DRM_FORMAT_NV21_10 fourcc_code('N', 'A', '2', '1') /* 2x2 subsampled Cb:Cr plane */ #define DRM_FORMAT_NV16_10 fourcc_code('N', 'A', '1', '6') /* 2x1 subsampled Cr:Cb plane */ #define DRM_FORMAT_NV61_10 fourcc_code('N', 'A', '6', '1') /* 2x1 subsampled Cb:Cr plane */ #define DRM_FORMAT_NV24_10 fourcc_code('N', 'A', '2', '4') /* non-subsampled Cr:Cb plane */ #define DRM_FORMAT_NV42_10 fourcc_code('N', 'A', '4', '2') /* non-subsampled Cb:Cr plane */ after line 138 which is #define DRM_FORMAT_NV42 fourcc_code('N', 'V', '4', '2') /* non-subsampled Cb:Cr plane */ close and safe file (may be unnecessary) Since we already added all this type of DRM_FORMAT we could add them to gstreamer also. To do this, add to this files gstreamer-rockchip/gst/rkximage/rkx_kmsutils.c gstreamer-rockchip-extra/gst/rkximage/rkx_kmsutils.c gstreamer-rockchip-extra/gst/kms/gstkmsutils.c after lines 65-66 (for gstreamer-rockchip) and 62-63 (for gstreamer-rockchip-extra) which are /* FIXME should be renamed to P010_* */ DEF_FMT (NV12_10, P010_10LE), this lines DEF_FMT (NV21_10, P010_10LE), DEF_FMT (NV21_10, P010_10LE), DEF_FMT (NV16_10, P010_10LE), DEF_FMT (NV61_10, P010_10LE), DEF_FMT (NV24_10, P010_10LE), DEF_FMT (NV42_10, P010_10LE), Now do (from directory "build") cd libmali && cmake CMakeLists.txt && make && make install && ldconfig && / LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib && LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/include && / cd ../mpp && cmake -DRKPLATFORM=ON -DHAVE_DRM=ON && make -j4 && make install && / cd ../gstreamer-rockchip && ./autogen.sh && make -j4 && make install && ldconfig && / cd ../gstreamer-rockchip-extra && ./autogen.sh && make clean && make -j4 && make install && ldconfig To check if everything is correct do gst-inspect-1.0 --gst-plugin-path=/usr/local/lib/gstreamer-1.0 | grep mpp expected output rockchipmpp: mppjpegdec: Rockchip's MPP JPEG image decoder rockchipmpp: mppjpegenc: Rockchip Mpp JPEG Encoder rockchipmpp: mpph264enc: Rockchip Mpp H264 Encoder rockchipmpp: mppvideodec: Rockchip's MPP video decoder and gst-inspect-1.0 --gst-plugin-path=/usr/local/lib/gstreamer-1.0 rkximage expected output Plugin Details: Name rkximage Description Rockchip X/DRM Video Sink Filename /usr/local/lib/gstreamer-1.0/libgstrkximage.so Version 1.1.0 License GPL Source module gstreamer-rockchip-extra Binary package GStreamer Plug-ins source release Origin URL Unknown package origin rkximagesink: Video sink 1 features: +-- 1 elements To start use gst-play-1.0 do this gst-play-1.0 --gst-plugin-path=/usr/local/lib/gstreamer-1.0 --videosink=rkximagesink <path/to/videofile> To use QT5 example player you need to do this env GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0 QT_GSTREAMER_WIDGET_VIDEOSINK=rkximagesink /usr/lib/aarch64-linux-gnu/qt5/examples/multimediawidgets/player/player I hope it helped! P.S. Merry Christmas and Happy New Year
  6. Well, to be precise to whole EU (UK is not part of EU for them now). For EU there are special distributors, but that such pain to deal with them (one require special account to be able to order and other cost just huge), so maybe it will be simplier (and cheapier) to use some trustworthy man-in-the-middle outside of EU.
  7. Heatsink and M.2 Expander Board are out. You can buy them here https://shop.allnetchina.cn/collections/rock-pi-4-accessories?page=2
  8. Well, i've seen this (oh, yeah, in your guide), but i guess my ./player did not worked because i forgot this "env QT_GSTREAMER_WIDGET_VIDEOSINK=rkximagesink" before executing it. Thank you once again Update: There is a problem with this shortcut, player execute, window opened, but it still shows error "unknown" (in window name). So i guess i need to found env QT_GSTREAMER_WIDGET_VIDEOSINK=rkximagesink for rk3328 and Armbian Update 2: Yep, it solved the way as using gstreamer. Add path to rkximagesink (since it's installed to /usr/local/lib/gstreamer-1.0) solves my problem with qt5 player
  9. Just in case, maybe you know how to make gstreamer full-screen? As far as i understood i need actually gstreamer-player to do this, but ./ayamero-player not really helpful with error text and if i hardcode path to file and videosink it just says "Segmentation fault" when i try to start it ./player from /usr/lib/aarch64-linux-gnu/qt5/examples/multimediawidgets/player/ refuse to decode any video saying that he don't see any decoder for video any advice there? P.S. https://github.com/rockchip-linux/rk-rootfs-build/tree/f788d8eb06b1aab5d8c3207d901afb500f2e01ba/packages/arm64/libdrm it was there just 5 month ago, and now they deleted it and their gstreamer don't work properly...just why?
  10. @JMCC THANK YOU SO MUCH. Now i can finally watch 1080p30fps10bits! Perfectly fine!... So.. This is so "obviously" that you need to type this lines in libdrm and i'm just didn't knew it because i'm actually newbie and it's common knowledge? But why it's nowhere to be found by error link or actually somewhere in any clones of gstreamer-rockchip?
  11. Should have asked here before (or actually look at libreelec building process, since i have problem with alpha images of this too), thank you, i will look how i can apply this to mpv or gstreamer..and can i
  12. I'm trying to build working player for this board via mpv or gstreamer. (spoiler - i failed). Here is total list of command (ubuntu commads.txt) i have tried to make this work. First i load all the library that ever may be needed (is that error?), then i has downloaded github master version of libmali+mpp+rockchip-gstreamer+rockchip-gstreamer-extra+ffmpeg+mpv+mpv-build. Then i did for libmali cd libmali && cmake CMakeLists.txt && make && make install && ldconfig for mpp cd mpp && cmake -DRKPLATFORM=ON -DHAVE_DRM=ON && make -j4 && make install && ldconfig for gstreamer there was a bit of change, since rkximage seems to be main idea behind all players commands i found around, so instead of ./autogen.sh --disable-rkximage && make i did nano gst/rkximage/rkx_kmsutils.c and changed DEF_FMT(NV12_10, P010_10LE) to DEF_FMT(NV12, P010_10LE) Yes, i have only roughly idea that this line was for 10 bits (maybe?), but my knowledge limited to googling and i failed to google how to actually fix it, so i did that. At least it complied. Then i did ./autogen.sh && make -j4 && make install && ldconfig and same thing for gstreamer-rockchip-extra nano gst/rkximage/rkx_kmsutils.c and changed DEF_FMT(NV12_10, P010_10LE) to //DEF_FMT(NV12_10, P010_10LE) nano gst/kms/gstkmsutils.c DEF_FMT(NV12_10, P010_10LE) to //DEF_FMT(NV12_10, P010_10LE) This video goes fine This video slideshow. This video results in ** (gst-play-1.0:24108): CRITICAL **: 15:20:22.782: gst_dmabuf_memory_get_fd: assertion 'gst_is_dmabuf_memory (mem)' failed Using gstreamer-rockchip from here doesn't solve anything. mpv...Just building it with correct flags and libmali doesn't do any good and results and errors like This https://github.com/ayufan-rock64/linux-build/blob/master/recipes/video-playback.md allow me to start 4k60fps as..30 fps video, but it's still fails on 10 bits refusing to show anything with this But maybe someone already walked this path and know how to make 10 bits video work on any kind of image of Linux with gstreamer or mpv? 8 bits can be player up to 4k60fps..but 10 bits? just black screen on any image except Libreelec from firefly site
  13. Dante4

    NanoPI M4

    I mean by tech specification it's not, but yeah... I guess they just didn't mentioned it "just-in-case". When i was looking for a board i found this one, but seems like i looked through most of it. Gonna buy it then, thank you again (where i can find heat sink? Or should i buy the one that M4 uses?)
  14. Dante4

    NanoPI M4

    Thanks for your answer, now I am calmer. About Odroid-C2 - i tried it at some point, but i wasn't able to get hardware acceleration to work, but it was 3 month ago, before i learned a few things about how does it works and for some reason there was no Mono-develop for it in monodevelop repository. RockPi seems interesting, i will look at it. Thank you again. Ok, where is problem? As far as i read about RockPi it's good to go. Software being in develop, creators of this board is willing to support Armbian and creating software, it's PD ok and cost less than M4... Where is trick? (except that it can't be powered from normal 5V and actually require PD)
  15. Dante4

    NanoPI M4

    I got question regarding PSU. I have this power bank (https://www.tronsmart.com/products/tronsmart-edge-20000mah-quick-charge-3-0-power-bank) and i need something portable enough to be able to get it instead of laptop with ability to decode 10bit x264 (anime) and some mono-develop, while being less, than 100$ and be ok with being powered from power bank. RasPi can't do 10bit video at all, so I'm thinking about buying this, but as far as i read about this board if power bank is "smart" it will only give 0.9A to output by-default. My question is Does anyone have experience with this board being powered from power bank? As far as i understood my power bank is "smart"(?), so, is there method (in-middle devices maybe?) how to make it output 5V/3A that's in stated in tech. details?