compose: ndi Recorder isnt working

  • Hi, since using the following file didnt work (some resposity error), parameters on this example not set, but later they will be

    in downloaded

    Quote


    and loaded it with

    Code
    docker load --input /srv/dev-disk-by-uuid-93432eac-e6c2-455e-a3b5-01fd120d98b5/Record/sharedfolders/image/ndi-recorder.tar

    it got found by docker and following file was able to start:


    so I get follwing logs:

    so, what is my error?

  • Well, the container keeps crashing and being restarted (segmentation fault). There's not much detail as to what exactly is going wrong.


    As for your Compose file:

    1. You can remove the version: '3.8' line at the top, it's unnecessary and obsolete.
    2. Did you really mean to bind path /srv/dev-disk-by-uuid-93432eac-e6c2-455e-a3b5-01fd120d98b5/Record/sharedfolders/Media/NDI-Captures to the container's /storage folder? I feel like you just pasted your own path in front of the existing /sharedfolders/Media/NDI-Captures when you actually just meant to use /srv/dev-disk-by-uuid-93432eac-e6c2-455e-a3b5-01fd120d98b5/Record.
    3. Personally, I would also try commenting out the network_mode: "host" line, as well as the PUID and PGID as the container may not work correctly unless run with root permissions.
  • well the template for the yaml was from google.


    the records shall be saved on


    Code
    /srv/dev-disk-by-uuid-93432eac-e6c2-455e-a3b5-01fd120d98b5/Record/sharedfolders/Media/NDI-Captures


    from the template I did understand that ndi recorder knows where to safe the videos by this:

    Code
      - OUTPUT_FOLDER=/storage

    while, storage ist defined by the /svr/...::/storage. I might be wrong, because I have no oidea what I am doing :)

    Later this day I will correct 1) and 3).

    Yeserday, as alternative solution, I tried OBS in compose with following code and it got installed, but it doesnt use the intel gpu for encoding and the files are not found in the defined directory. So here I also made the (same) mistake while defining the storage.



    edit: oh...I see i swappend the drive definitions...have to check that at home.

    I used the following source:

    jsoctocat/omv-obs - Docker Image


  • You're correct; the container's internal /storage path is bound to the external path you define through the volume directive.

    But the /sharedfolders/Media/obs path is just meant to be a placeholder, an example - you want to replace that path with your own, not add to it.


    Do you speak German by any chance? Asking because the comments in the compose file explain how to change the default settings in the Compose file. (I'm a native German.) I'm just wondering if you're able to understand them or not...

  • Hi, ja das verstehe ich schon, aber meine komplizierte Ordnerstruktur machts ja nur länger, nicht unmöglich, scheitern wirds daran wohl nicht.


    Als Alternative habe ich hiermit OBS laufen, bekommen hier aber die GPU hardwarebeschleunigung nicht zum laufen, egal wie ichs mache. Das system läuft, aber vaapi wird nicht genutzt. in der Konsole auf dem xfce kann ich den Intel treiber installieren, aber nicht die libva utils



    Was ich auch nich gerne probiert hättte wäre auf dem folgenden OBS zu instalieren, aber hier komme ich nicht mal auf die Weboberfläche:



  • korrigiere, ich komm bei dem webtop auf ubuntu mate wie auch debian kde, aber auch diese haben das problem (wie jsoctocat/omv-obs:latest), dass dort vaapi nicht läuft. Auf dem OMV Server selbst läuft es, siehe code. Aber dann haben doch alle virtuelle maschinen das gleiche problem: sie bekommen von docker die Grafikkarte nicht zugewiesen....was kann ich da tun?


  • ah...kann es sein, dass die alle kein vaapi bekommen, weil die ganze Zeit schon homeassistant als priviliged läuft und das vaapi für sich beansprucht?


    nope, das ist es nicht, selbst wenn ich homeassistant deaktiviere, bekommen die anderen keine GPU Unterstützung. In Home Assistant läufts aber eigentlich, da kann ich 4k Videos der Überwachungskameras drin anschauen

  • Off the top of my head I don't remember exactly what is required for VAAPI support inside a container...


    ...but in the case of Emby which I use, I remember that the user the container is running as needs to be a member of the render group and some other video-related group, and that some rendering device under /dev needs to be passed through via a volume definition.


    You could check what HomeAssistant does to be able to use VAAPI (i.e., examine its Compose file).


    Übrigens glaube ich, wir machen lieber auf Englisch weiter, damit andere diesen Thread auch mitverfolgen und u.U. behilflich sein können. 🙂

  • Well HomeAssistant has nothing special, but I can watch my Reolink cams streams on full resolution inside the browser


  • Well, I can run frigate with Hardware Acceleration too, but it cand handle NDI Streams, what I need.

    I get to run following container:


    but I get this error code:



    with this settings:


    I attached the log file, perhaps soneone can find the problem. With the console I cant install anything, because it doesnt finde the packages.

  • I'm not sure what the group_add directive does in the Compose file, exactly - but I keep seeing PUID 1000 and PGID 100. That should be the first user created by you in the OMV GUI, if I'm not mistaken. It's not root, so my question is who is user 1000? Is this user in the "render" and "video" groups?


    I would also uncomment the two /dev/dri lines (especially renderD128) and see if that helps.

  • Well, I can see, that with "pannal/docker-obs-distroav:latest" I can open my NDI streams and the GPU Power increases, the NDI Video Stream shown in the noVNC Browser Video is fluent. CPU Load is high, but anyways, GPU gets used. As soon as I try to use an h.264 or h.265 encoder I get this fucking error message from post 10 and I dont know why.


    Also the following image is working, up to the moment it has to encode:


    How can I enable encoding, the N100 is cabable to...



    edit: Well, I have to correct myselfe. pannal/docker-obs-distroav:latest is encoding h265, as long as I use ffmpeg, not Quicksync in the OBS/output/Recoding setup....but unluckily in this image the NDI stream doesnt get received in stable 30 fps. If I fix that, we are happy

  • aaaaaah, the headless needed network mode host, now it works!


    So, final solution is following Yaml:


Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!