Posts by Jonsky

    Oh ok,

    thanks for the answer. My impression was that it used to be better in previous releases of LibreELEC.

    For those watching 1080i content (mostly Live-TV) this is a really crucial feature for the Pi4, especially because it worked superb with Pi3.

    Looking forward to the solution! :)

    Hi there,

    +1 for this problem. Interlaced Live-TV seems to run not very smooth, especially compared to the RPi3. I’m watching it with tvheadend and all other clients seem to be fine, so it feels like there could be an issue with the RPi4 deinterlacing. Does anyone have any information concerning that problem?

    Thanks a lot!


    Update with this version. Will be fixed in v8.0.1.

    For second problem you could try this version.

    Hey vpeter,

    I'll use this thread bc my problems are simular. I'm using your updated version with the sound-fix. That works, but since updating to the final I experience my Cubox to just hang during the night (sometimes). That was also mentioned in the comments at one point and did not happen during beta. I cannot control LE anymore and even SSH does not work. Solution is a plugging off and on the Cubox.
    Are you aware of this problem? Difficult to provide logs at the moment, I'm sorry but I could try if necessary.
    If you're aware of it, is there a version that fixes both: the sound problem and the sporadic crashes?

    Thanks a lot for your effort.


    Hello vpeter,

    I think the Kodi 17 stable will be out in a few months, will you plan also release Rpi2/3 release for Kodi 17? Still rock stable on my 7.0.3 ;)

    P.S.: This really should be part of network/system tools @official LibreElec addons, for Kodi DB !!

    LAMP works perfectly fine for me since the beginning of the LibreElec Alphas with Kodi 17. No need for an update here, I think...

    Hey,
    I quit the iMX6-stuff and got another RPi3 to test it as a streaming server. Fresh install with 7.90.010. Setup went fine, but transcoding does not really work well.
    The performance does not allow me to stream a video at all, I'm trying to transcode a 1080p video to a 1 MBit stream (but 2Mbit or anything else doesn't work either). awiouy mentioned that this should work here: LibreELEC

    My emby-transcode log is here: http://pastebin.com/ju1SmQn2 or here for another smaller file without the strange "not a single buf" errors: http://pastebin.com/g1NT7xiE
    OpenMAX is enabled and I restarted the RPi3 afterwards, I did not touch the other settings. Is there anything else you changed in the setup? It performance with 50 % of the power needed for a smooth playback...

    Streaming client is Kodi on a Windows PC or via Firefox (but this doesn't change anything).

    Do you have any ideas? Thanks a lot. :)

    Have you restarted Emby after you copied the lib?
    If yes, to fix we would have to check where in the LE source libmmal is copied to /usr/lib for RPi2, and reproduce for imx6, if possible.
    [hr]


    Hi,
    I think you missunderstood me. Your solution worked for the mmal-libraries. But NOT for the libopenmaxil.so, because the path seems to be hardcoded to /opt/vc/lib (as you can see in the omx.c in the ffmpeg source).
    I tried to change that in the ffmpeg source to /storage/.kodi/http://service.emby/lib and rebuilt it. This helped but transcoding still does not work. I'm doubting it is easily possible to port it to imx6 because it's really close to the hardware. I think we should stop this one here and accept that HW-Acceleration is only possible on the RPi3 for now. I might just get one and use it as a Emby-only server to transcode my media on the fly... Thanks a lot anyway, was fun to learn more about building addons!


    On RPi2 libmmal is found in /usr/lib.
    A solution to your problem is to build the lib and copy it to /storage/.kodi/addons/http://service.emby/lib (this allows to use vanilla LE)

    Great I added the needed libs and at least I can stream movies when transcoding is disabled. If I enable OpenMAX I get: http://pastebin.com/wns8XdgW
    The lib /opt/vc/lib/libopenmaxil.so looks like a hardcoded path that does not exist for me on imx6. Adding the lib manually to the path you suggested does not work.
    Are we in a dead-end here or is there a solution to get the lib to the correct path?

    edit: I suppose the hardcoded path is found in the omx.c line 144, I'll try to fix that.


    Hi Jonsky,

    I tried to build ffmpegx by commenting out the if/fi package lines, and it failed miserably.
    Then I got caught up by other matters.

    If you explain me what you built and how you managed to build it, I might give it a try myself.

    Hi awiouy,
    I managed to build emby with all the options you used. Solution for my problem: the Raspberry Pi Userland is only built and not installed when using ./buildme and cross-compile. After installation it worked like a charm. So I have a ffmpeg including OpenMAX and MMAL, basically built like yours.
    Now the BUT:
    If I copy it into emby and try to play a movie I get this error: http://pastebin.com/VAHj0qse
    The Lib libmmal_core.so is not found, which is right because it does not exist. How do I copy it from my UNIX system into LibreElec? /lib and /usr/lib are read-only. Or do I have to start a complete LibreElec IMX6-build and then it is automatically included in the dir?

    Thanks for your help, I think we're getting closer.


    No! You need a PC, otherwise you will still be at it at xmas! I will launch a build this w-e ;)

    Hi awiouy,

    were you able to build it for imx6? I think OpenMAX-Support is enough, mmal is not needed.
    I tried to build it mit openmax support and it worked alright, but the transcoding does not work. Emby-Log is here: http://pastebin.com/L415bK2Q.
    The lib is not found at /opt (because /opt does not exist). I could not enable the DRPI=1 switch because my build fails with numerous errors concerning the Userland install. (Some) of my questions:

    - I built the Rasperry Pi Userland. Do I have to use any more switches when cross-compiling? I just used ./buildme and all my errors are somehow related to my build.
    - The compiler does not find the installed Userland files, even though they are in /usr/include/interface as wanted. But the include compiler switch starts with an $SYSROOT_PREFIX. Is that relevant?

    Thanks again. :)


    No! You need a PC, otherwise you will still be at it at xmas! I will launch a build this w-e ;)

    Hi,

    I gave it a shot in a fresh Ubuntu in a VM. It worked better, even though it took like 10 hours (oldest Intel Quadcore q6600). Build now reaches the point where ffmpeg is build and exits with an error (see picture). I tried to build it with this package.mk: ################################################################################ - Pastebin.com.

    The error does not tell me anything. Do you have any more ideas? :) I can't tell which of the options is wrong, sorry...

    Thanks a lot.

    edit: tried to narrow it down: the include directories don't exist: I$SYSROOT_PREFIX/usr/include/IL -I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads -I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux $CFLAGS" .
    For the first one I solved it with installing package libdevil-dev
    The last two one seem to be in this git: userland/interface at master · raspberrypi/userland · GitHub
    I compiled it with ./buildme and put the "interface" folder to /usr/include so the direcetories exist. However every option except -ldl from the FFMPEG_LIBS variable makes the compiling process fail. I thinks I'm missing something here and I'm really at the end of my knowledge... Maybe you have an idea? :)

    edit2: the rpi-omx support seems to be related to packages libomxil-bellagio-bin and libomxil-bellagio-dev, but i couldn't find similar things for the other extra libs...


    No! You need a PC, otherwise you will still be at it at xmas! I will launch a build this w-e ;)

    Oops, sorry. Thought it's just the addon that is build. Didn't know it's more or less the whole LE. I don't have a PC running Ubuntu here. Obviously I'm not a big help for you. ;) Thanks for running the build, when it works I can at least help with a small donation for LE. :D


    clone LE master (or tag 7.90.009) on a unix box, fix ffmpegx, then run: PROJECT=imx6 ARCH=arm scripts/create_addon emby

    OK, tried it on Ubuntu for RPi3 (no other UNIX system available here). Tried it with the setup here: Compile - LibreELEC
    Some packages were missing and I had to install them (perl-related stuff and some other). It does compile for quite a while, but now I have an error that I can't solve even with google-help:

    ccache is missing a --D option. Sorry but this is really deep into building LE-stuff and I can't fix is. Here's the output. Do you have an idea?

    source='/home/ubuntu/LibreELEC.tv/build.LibreELEC-imx6.arm-8.0-devel/binutils-2. - Pastebin.com


    Emby can not transcode using stock LE ffmpeg. I have therefore added the ffmpegx package to build the same source as LE ffmpeg with the features required by Emby, in particular omx transcoding for the Pi. Then I asked the Emby dev to add support for omx. We could repeat the process for imx.

    Source of ffmpegx is here: LibreELEC.tv/package.mk at master · LibreELEC/LibreELEC.tv · GitHub

    Sound like a plan. I cannot tell how much effort this means for you and what kind of support / information you need from me. Testing is no problem. Must be something in this part:

    Code
    if [ "$KODIPLAYER_DRIVER" == "bcm2835-driver" ]; then
           CFLAGS="-DRPI=1 -I$SYSROOT_PREFIX/usr/include/IL -I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads -I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux $CFLAGS"
           FFMPEG_LIBS="-lbcm_host -ldl -lmmal -lmmal_core -lmmal_util -lvchiq_arm -lvcos -lvcsm"
           FFMPEG_RPI_HADE="--enable-mmal --enable-omx-rpi"
    fi

    Looks like the imx6 does not go into the if-loop, but maybe this would be already sufficient?

    emby ships with ffmpegx, which enables mmal and omx hardware acceleration for RPi. I did not implement any specific transcoding features for other arm devices, because i am not aware of any. If you know what could be implemented, send me a link to document it, and i will gladly improve ffmpegx accordinly. Bear in mind that i will not be able to test.

    Hi,
    thanks for the answer, I am willing to contribute / test, because it's a cool feature, but my knowledge in that area is limited.

    The imx-processors are Cortex-A9, so a ARMv7-A architecture (same as RPi2) with Vivante GC GPUs (i.MX - Wikipedia).
    I couldn't find any more information concerning hardware acceleration like OpenMAX or mmal, most likely because I don't really know what to look for but the iMX-processor seems to have things like that as well.

    But before we think about HW-acceleration, I'm wondering why we got the errors in the log (that ffmpeg does not know the "preset"-option). I tried it with the same command via SSH and "-crf" and "-tune" are also unknown by the ffmpeg file I use. This is most likely not Hardware-related or where do you the the ffmpegx from? Would it be helpful to send you my version?

    Thanks a lot again. :) Great work so far.

    edit: concerning the error ffmpeg throws I found this: ruby on rails - ffmpeg on Heroku: unrecognized option 'preset' - Stack Overflow Seems to be a compiling problem.

    Hi,

    great Addon! Thanks. I installed Emby on my Cubox i4. It works great until it comes to transcoding. The hardware should be enough to transcode streams, but it seems that nothing happens at all... The CPU load when streaming a movie that should be transcoded does not rise at all.
    I enabled debug logging and a ffmpeg error occurs. Here is the log: http://pastebin.com/RicUpWXg

    It throws an error in the end and it does not start the stream. Playing without transcoding works.
    The hardware acceleration setting does not make a difference (it is set to OpenMAX). I know there are issues with transcoding, but it seems that some of you guys got it working (with the setback that the transcoded movie plays, which would be acceptable for me).

    Is there any workaround? Seems to be a ffmpeg problem since the "prefix" mode is not known. Would be a great feature if we could get that working. :)

    Thanks a lot!

    edit: Use dedicated ffmpeg/ffprobe (experimental) is also enabled