ffmpeg-windows-build-helpers icon indicating copy to clipboard operation
ffmpeg-windows-build-helpers copied to clipboard

Need custom build with NDI & RIST support

Open kevev opened this issue 2 years ago • 15 comments

Hello. I am requesting a custom build. I have sent an email requesting. Thank You.

kevev avatar May 29 '22 01:05 kevev

OK I figured out the NDI issue. Now getting error for librist.

ERROR: librist >= 0.2 not found using pkg-config

Ubuntu 22.04 I have librist installed using instructions here: https://code.videolan.org/rist/librist + the final step ninja install.

Here is the output from librist install:

root@rist-test-1653620144581-c-8-16gib-nyc1-01:~/librist/build# ninja install [1/2] Installing files. Installing librist.so.4.2.0 to /usr/local/lib Installing tools/ristsender to /usr/local/bin Installing tools/ristreceiver to /usr/local/bin Installing tools/rist2rist to /usr/local/bin Installing tools/ristsrppasswd to /usr/local/bin Installing /root/librist/include/librist/common.h to /usr/local/include/librist Installing /root/librist/include/librist/headers.h to /usr/local/include/librist Installing /root/librist/include/librist/librist_srp.h to /usr/local/include/librist Installing /root/librist/include/librist/librist.h to /usr/local/include/librist Installing /root/librist/include/librist/logging.h to /usr/local/include/librist Installing /root/librist/include/librist/oob.h to /usr/local/include/librist Installing /root/librist/include/librist/opt.h to /usr/local/include/librist Installing /root/librist/include/librist/peer.h to /usr/local/include/librist Installing /root/librist/include/librist/receiver.h to /usr/local/include/librist Installing /root/librist/include/librist/sender.h to /usr/local/include/librist Installing /root/librist/include/librist/stats.h to /usr/local/include/librist Installing /root/librist/include/librist/udpsocket.h to /usr/local/include/librist Installing /root/librist/include/librist/urlparam.h to /usr/local/include/librist Installing /root/librist/build/include/librist/version.h to /usr/local/include/librist Installing /root/librist/build/include/librist/librist_config.h to /usr/local/include/librist Installing /root/librist/build/meson-private/librist.pc to /usr/local/lib/pkgconfig Installing symlink pointing to librist.so.4.2.0 to /usr/local/lib/librist.so.4 Installing symlink pointing to librist.so.4 to /usr/local/lib/librist.so

kevev avatar May 30 '22 12:05 kevev

OK I figured out the NDI issue. Now getting error for librist.

Maybe you could share the solution? I would also like to get a NDI build - but I was not succesful.

BeyondVertical avatar May 30 '22 13:05 BeyondVertical

apt-get install build-essential

cd ~; wget https://downloads.ndi.tv/SDK/NDI_SDK_Linux/Install_NDI_SDK_v5_Linux.tar.gz

tar -xvf Install_NDI_SDK_v5_Linux.tar.gz

./Install_NDI_SDK_v5_Linux.sh

cd ~; git clone https://framagit.org/tytan652/ffmpeg-ndi-patch.git

cd ~; git clone -b release/4.4 https://github.com/FFmpeg/FFmpeg.git

git am ../../ffmpeg-ndi-patch/4.4_Revert-lavd-Remove-libndi_newtek.patch

When you run ./configure in ffmpeg dir you also need --enable-nonfree --enable-libndi_newtek

kevev avatar May 30 '22 14:05 kevev

Will try this. Thanks!

BeyondVertical avatar May 30 '22 16:05 BeyondVertical

Anyone have any hints on building with librist ?

kevev avatar Jun 02 '22 20:06 kevev

@kevev I tried your commands and am stuck after configure...

./configure --enable-nonfree --enable-libndi_newtek
ERROR: Processing.NDI.Lib.h not found

Did you copy contents of the NDI folder to the ffmpeg folder? Thanks for your help.

BeyondVertical avatar Jun 03 '22 14:06 BeyondVertical

Try this:

cp /root/NDI\ SDK\ for\ Linux/lib/x86_64-linux-gnu/* /usr/local/lib/x86_64-linux-gnu/ cp /root/NDI\ SDK\ for\ Linux/include/* /usr/local/include/

kevev avatar Jun 03 '22 15:06 kevev

And if that doesn't work try this:

--extra-cflags="-I/root/NDISDKforLinux/include" --extra-ldflags="-L/root/NDISDKforLinux/lib"

ldconfig -p | grep -i ndi

This command output needs to show that it fiinds the NDI libraries.

kevev avatar Jun 03 '22 15:06 kevev

Worked. Thanks. If you find an option to compile ffmpeg with ndi for Windows - let me know.

BeyondVertical avatar Jun 03 '22 15:06 BeyondVertical

It should work using ./cross_compile_ffmpeg.sh as I was able to compile the Windows binary to include ndi. I am still having trouble with librist though.

kevev avatar Jun 03 '22 17:06 kevev

Ok, awesome. Will try this. Maybe you could patch that workflow into the cross compiler? Concerning librist: I know that https://github.com/m-ab-s/media-autobuild_suite is building with librist - tried it myself. It is included with ffmpeg - haven't tested it.

BeyondVertical avatar Jun 03 '22 17:06 BeyondVertical

Actually I don't think this is building with NDI included. :(

kevev avatar Jun 09 '22 06:06 kevev

How to disable the git update for ffmpeg-git that wipes out my changes?

kevev avatar Jun 09 '22 08:06 kevev

The build succeeded. Thank You very much!

kevev avatar Jun 09 '22 08:06 kevev

@kevev thanks for sharing the wa to add NDI. WIth this a was able to compile ffmpeg with NDI directly for linux. But unfortunatelly not for windows. I tried a lot to get it done in cross_compile.sh without any luck.

Unknown option "--enable-libndi_newtek".

configure in FFmpeg with the ndi option works perfectly. Any hints?

Kindest regards

francoisreinert avatar Apr 26 '23 08:04 francoisreinert