slyfox1186 / ffmpeg-build-script

The FFmpeg build script build's the most up to date version of FFmpeg by using API calls to download the latest source code available.
GNU General Public License v3.0
45 stars 9 forks source link

NDI Support #13

Closed sfahadshahzad closed 9 months ago

sfahadshahzad commented 9 months ago

Hi,

Could you please add NDI support.

Regards,

Fahad

slyfox1186 commented 9 months ago

You need to give me a lot more info on what that is.

Such as web link to source code which is how you add additional software to FFmpeg.

Also, why do you want it.... what is it's purpose?

The more info you give me the faster I can make a decision to add it.

sfahadshahzad commented 9 months ago

Hi,

NDI (Network Device Interface) is a technology for transmitting high-quality audio and video over IP networks, commonly used in broadcast and video production. https://www.newtek.com/ndi/applications/

You can take a look at below link for ffmpeg NDI support.

https://github.com/lplassman/FFMPEG-NDI

Regards,

Fahad

slyfox1186 commented 9 months ago

So this was as far as I got so far. It was a failure ultimately but progress was made.

Do me a favor and look at the very last parts of the below code and try and figure out why it threw the error that it did.

./configure --prefix=/usr/local --arch=x86_64 --cpu=16 --cc=gcc --cxx=g++ --disable-debug --disable-doc --disable-large-tests --disable-shared --enable-ladspa --enable-openssl --enable-libxml2 --enable-libaribb24 --enable-libfreetype --enable-libfontconfig --enable-libfribidi --enable-libass --enable-libwebp --enable-lcms2 --enable-libjxl --enable-opencl --enable-libtesseract --enable-librubberband --enable-libzimg --enable-lv2 --enable-libpulse --enable-libfdk-aac --enable-libvorbis --enable-libopus --enable-libmysofa --enable-libvpx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-decklink --enable-libaom --enable-libdav1d --enable-librav1e --enable-libkvazaar --enable-libbluray --enable-libvidstab --enable-frei0r --enable-amf --enable-libsvtav1 --enable-libx264 --enable-libx265 --enable-cuda-nvcc --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc --enable-ffnvcodec --nvccflags='-gencode arch=compute_86,code=sm_86' --enable-libsrt --enable-avisynth --enable-vapoursynth --enable-libxvid --enable-libopenjpeg --enable-libndi_newtek --enable-chromaprint --enable-gpl --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libgme --enable-libmodplug --enable-libshine --enable-libsmbclient --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtwolame --enable-libv4l2 --enable-libvo-amrwbenc --enable-libzvbi --enable-nonfree --enable-opengl --enable-pic --enable-pthreads --enable-small --enable-static --enable-lto --enable-version3 --extra-cflags='-I/home/jman/tmp/ffmpeg-build-script/workspace/include -I/home/jman/tmp/ffmpeg-build-script/workspace/include/jxl -I/home/jman/tmp/ffmpeg-build-script/workspace/include/CL -I/usr/local/include -I/usr/include -I/usr/include/x86_64-linux-gnu -I/usr/include/SDL2 -I/usr/lib/x86_64-linux-gnu/pulseaudio -I/usr/include/openjpeg-2.5 -g -O3 -march=native -DHWY_COMPILE_ONLY_SCALAR -I/home/jman/tmp/ffmpeg-build-script/workspace/include/lilv-0 -I/usr/local/cuda/include -I/home/jman/tmp/ffmpeg-build-script/workspace/include/avisynth' --extra-cxxflags='-g -O3 -march=native -DHWY_COMPILE_ONLY_SCALAR' --extra-ldflags='-L/home/jman/tmp/ffmpeg-build-script/workspace/lib64 -L/home/jman/tmp/ffmpeg-build-script/workspace/lib -L/home/jman/tmp/ffmpeg-build-script/workspace/lib/x86_64-linux-gnu -L/usr/local/lib64 -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib64 -L/usr/lib -L/lib64 -L/lib -L/usr/local/cuda/lib64' --extra-ldexeflags= --extra-libs='-ldl -lpthread -lm -lz -L/usr/lib/x86_64-linux-gnu -lcurl -L/home/jman/tmp/ffmpeg-build-script/workspace/lib -llcms2 -llcms2_threaded -lhwy -lbrotlidec -lbrotlienc -ltesseract -L/usr/local/cuda/targets/x86_64-linux/lib -lOpenCL' --pkg-config-flags=--static --pkg-config=/usr/local/bin/pkg-config --pkgconfigdir=/home/jman/tmp/ffmpeg-build-script/workspace/lib/pkgconfig --strip=/bin/strip
install prefix            /usr/local
source path               .
C compiler                gcc
C library                 glibc
ARCH                      x86 (16)
big-endian                no
runtime cpu detection     yes
standalone assembly       yes
x86 assembler             nasm
MMX enabled               yes
MMXEXT enabled            yes
3DNow! enabled            yes
3DNow! extended enabled   yes
SSE enabled               yes
SSSE3 enabled             yes
AESNI enabled             yes
AVX enabled               yes
AVX2 enabled              yes
AVX-512 enabled           yes
AVX-512ICL enabled        yes
XOP enabled               yes
FMA3 enabled              yes
FMA4 enabled              yes
i686 features enabled     yes
CMOV is fast              yes
EBX available             yes
EBP available             yes
debug symbols             no
strip symbols             yes
optimize for size         yes
optimizations             yes
static                    yes
shared                    no
postprocessing support    yes
network support           yes
threading support         pthreads
safe bitstream reader     yes
texi2html enabled         no
perl enabled              yes
pod2man enabled           yes
makeinfo enabled          yes
makeinfo supports HTML    yes
xmllint enabled           yes

External libraries:
alsa                    libass                  libjxl                  librav1e                libtesseract            libxcb                  openssl
avisynth                libbluray               libkvazaar              librubberband           libtheora               libxcb_shape            sdl2
bzlib                   libbs2b                 libmodplug              libshine                libtwolame              libxcb_shm              sndio
chromaprint             libcaca                 libmp3lame              libsmbclient            libv4l2                 libxcb_xfixes           vapoursynth
decklink                libcdio                 libmysofa               libsmbclient            libvidstab              libxml2                 xlib
frei0r                  libdav1d                libndi_newtek           libsnappy               libvo_amrwbenc          libxvid                 zlib
iconv                   libfdk_aac              libopencore_amrnb       libsoxr                 libvorbis               libzimg
ladspa                  libfontconfig           libopencore_amrwb       libspeex                libvpx                  libzvbi
lcms2                   libfreetype             libopenjpeg             libsrt                  libwebp                 lv2
libaom                  libfribidi              libopus                 libssh                  libx264                 lzma
libaribb24              libgme                  libpulse                libsvtav1               libx265                 opengl

External libraries providing hardware acceleration:
amf                     cuda_llvm               cuvid                   nvdec                   opencl                  vaapi                   vulkan
cuda                    cuda_nvcc               ffnvcodec               nvenc                   v4l2_m2m                vdpau

Libraries:
avcodec                 avfilter                avutil                  swresample
avdevice                avformat                postproc                swscale

Programs:
ffmpeg                  ffplay                  ffprobe

Enabled decoders:
aac                     argo                    eamad                   jv                      mvc1                    qtrle                   ulti
aac_fixed               ass                     eatgq                   kgv1                    mvc2                    r10k                    utvideo
aac_latm                asv1                    eatgv                   kmvc                    mvdv                    r210                    v210
aasc                    asv2                    eatqi                   lagarith                mvha                    ra_144                  v210x
ac3                     atrac1                  eightbps                libaom_av1              mwsc                    ra_288                  v308
ac3_fixed               atrac3                  eightsvx_exp            libaribb24              mxpeg                   ralf                    v408
acelp_kelvin            atrac3al                eightsvx_fib            libdav1d                nellymoser              rasc                    v410
adpcm_4xm               atrac3p                 escape124               libfdk_aac              notchlc                 rawvideo                vb
adpcm_adx               atrac3pal               escape130               libjxl                  nuv                     realtext                vble
adpcm_afc               atrac9                  evrc                    libopencore_amrnb       on2avc                  rl2                     vbn
adpcm_agm               aura                    exr                     libopencore_amrwb       opus                    roq                     vc1
adpcm_aica              aura2                   fastaudio               libopenjpeg             paf_audio               roq_dpcm                vc1_cuvid
adpcm_argo              av1                     ffv1                    libopus                 paf_video               rpza                    vc1_v4l2m2m
adpcm_ct                av1_cuvid               ffvhuff                 libspeex                pam                     rscc                    vc1image
adpcm_dtk               avrn                    ffwavesynth             libvorbis               pbm                     rv10                    vcr1
adpcm_ea                avrp                    fic                     libvpx_vp8              pcm_alaw                rv20                    vmdaudio
adpcm_ea_maxis_xa       avs                     fits                    libvpx_vp9              pcm_bluray              rv30                    vmdvideo
adpcm_ea_r1             avui                    flac                    libzvbi_teletext        pcm_dvd                 rv40                    vmnc
adpcm_ea_r2             ayuv                    flashsv                 loco                    pcm_f16le               s302m                   vorbis
adpcm_ea_r3             bethsoftvid             flashsv2                lscr                    pcm_f24le               sami                    vp3
adpcm_ea_xas            bfi                     flic                    m101                    pcm_f32be               sanm                    vp4
adpcm_g722              bink                    flv                     mace3                   pcm_f32le               sbc                     vp5
adpcm_g726              binkaudio_dct           fmvc                    mace6                   pcm_f64be               scpr                    vp6
adpcm_g726le            binkaudio_rdft          fourxm                  magicyuv                pcm_f64le               screenpresso            vp6a
adpcm_ima_acorn         bintext                 fraps                   mdec                    pcm_lxf                 sdx2_dpcm               vp6f
adpcm_ima_alp           bitpacked               frwu                    metasound               pcm_mulaw               sga                     vp7
adpcm_ima_amv           bmp                     g2m                     microdvd                pcm_s16be               sgi                     vp8
adpcm_ima_apc           bmv_audio               g723_1                  mimic                   pcm_s16be_planar        sgirle                  vp8_cuvid
adpcm_ima_apm           bmv_video               g729                    mjpeg                   pcm_s16le               sheervideo              vp8_v4l2m2m
adpcm_ima_cunning       brender_pix             gdv                     mjpeg_cuvid             pcm_s16le_planar        shorten                 vp9
adpcm_ima_dat4          c93                     gem                     mjpegb                  pcm_s24be               simbiosis_imx           vp9_cuvid
adpcm_ima_dk3           cavs                    gif                     mlp                     pcm_s24daud             sipr                    vp9_v4l2m2m
adpcm_ima_dk4           ccaption                gremlin_dpcm            mmvideo                 pcm_s24le               siren                   vplayer
adpcm_ima_ea_eacs       cdgraphics              gsm                     mobiclip                pcm_s24le_planar        smackaud                vqa
adpcm_ima_ea_sead       cdtoons                 gsm_ms                  motionpixels            pcm_s32be               smacker                 wavpack
adpcm_ima_iss           cdxl                    h261                    movtext                 pcm_s32le               smc                     wcmv
adpcm_ima_moflex        cfhd                    h263                    mp1                     pcm_s32le_planar        smvjpeg                 webp
adpcm_ima_mtf           cinepak                 h263_v4l2m2m            mp1float                pcm_s64be               snow                    webvtt
adpcm_ima_oki           clearvideo              h263i                   mp2                     pcm_s64le               sol_dpcm                wmalossless
adpcm_ima_qt            cljr                    h263p                   mp2float                pcm_s8                  sonic                   wmapro
adpcm_ima_rad           cllc                    h264                    mp3                     pcm_s8_planar           sp5x                    wmav1
adpcm_ima_smjpeg        comfortnoise            h264_cuvid              mp3adu                  pcm_sga                 speedhq                 wmav2
adpcm_ima_ssi           cook                    h264_v4l2m2m            mp3adufloat             pcm_u16be               speex                   wmavoice
adpcm_ima_wav           cpia                    hap                     mp3float                pcm_u16le               srgc                    wmv1
adpcm_ima_ws            cri                     hca                     mp3on4                  pcm_u24be               srt                     wmv2
adpcm_ms                cscd                    hcom                    mp3on4float             pcm_u24le               ssa                     wmv3
adpcm_mtaf              cyuv                    hevc                    mpc7                    pcm_u32be               stl                     wmv3image
adpcm_psx               dca                     hevc_cuvid              mpc8                    pcm_u32le               subrip                  wnv1
adpcm_sbpro_2           dds                     hevc_v4l2m2m            mpeg1_cuvid             pcm_u8                  subviewer               wrapped_avframe
adpcm_sbpro_3           derf_dpcm               hnm4_video              mpeg1_v4l2m2m           pcm_vidc                subviewer1              ws_snd1
adpcm_sbpro_4           dfa                     hq_hqa                  mpeg1video              pcx                     sunrast                 xan_dpcm
adpcm_swf               dfpwm                   hqx                     mpeg2_cuvid             pfm                     svq1                    xan_wc3
adpcm_thp               dirac                   huffyuv                 mpeg2_v4l2m2m           pgm                     svq3                    xan_wc4
adpcm_thp_le            dnxhd                   hymt                    mpeg2video              pgmyuv                  tak                     xbin
adpcm_vima              dolby_e                 iac                     mpeg4                   pgssub                  targa                   xbm
adpcm_xa                dpx                     idcin                   mpeg4_cuvid             pgx                     targa_y216              xface
adpcm_yamaha            dsd_lsbf                idf                     mpeg4_v4l2m2m           phm                     tdsc                    xl
adpcm_zork              dsd_lsbf_planar         iff_ilbm                mpegvideo               photocd                 text                    xma1
agm                     dsd_msbf                ilbc                    mpl2                    pictor                  theora                  xma2
aic                     dsd_msbf_planar         imc                     msa1                    pixlet                  thp                     xpm
alac                    dsicinaudio             imm4                    mscc                    pjs                     tiertexseqvideo         xsub
alias_pix               dsicinvideo             imm5                    msmpeg4v1               png                     tiff                    xwd
als                     dss_sp                  indeo2                  msmpeg4v2               ppm                     tmv                     y41p
amrnb                   dst                     indeo3                  msmpeg4v3               prores                  truehd                  ylc
amrwb                   dvaudio                 indeo4                  msnsiren                prosumer                truemotion1             yop
amv                     dvbsub                  indeo5                  msp2                    psd                     truemotion2             yuv4
anm                     dvdsub                  interplay_acm           msrle                   ptx                     truemotion2rt           zero12v
ansi                    dvvideo                 interplay_dpcm          mss1                    qcelp                   truespeech              zerocodec
ape                     dxa                     interplay_video         mss2                    qdm2                    tscc                    zlib
apng                    dxtory                  ipu                     msvideo1                qdmc                    tscc2                   zmbv
aptx                    dxv                     jacosub                 mszh                    qdraw                   tta
aptx_hd                 eac3                    jpeg2000                mts2                    qoi                     twinvq
arbc                    eacmv                   jpegls                  mv30                    qpeg                    txd

Enabled encoders:
a64multi                ayuv                    h264_v4l2m2m            libx264rgb              pcm_s16be               prores_aw               ttml
a64multi5               bitpacked               h264_vaapi              libx265                 pcm_s16be_planar        prores_ks               utvideo
aac                     bmp                     hap                     libxvid                 pcm_s16le               qoi                     v210
ac3                     cfhd                    hevc_amf                ljpeg                   pcm_s16le_planar        qtrle                   v308
ac3_fixed               cinepak                 hevc_nvenc              magicyuv                pcm_s24be               r10k                    v408
adpcm_adx               cljr                    hevc_v4l2m2m            mjpeg                   pcm_s24daud             r210                    v410
adpcm_argo              comfortnoise            hevc_vaapi              mjpeg_vaapi             pcm_s24le               ra_144                  vbn
adpcm_g722              dca                     huffyuv                 mlp                     pcm_s24le_planar        rawvideo                vc2
adpcm_g726              dfpwm                   jpeg2000                movtext                 pcm_s32be               roq                     vorbis
adpcm_g726le            dnxhd                   jpegls                  mp2                     pcm_s32le               roq_dpcm                vp8_v4l2m2m
adpcm_ima_alp           dpx                     libaom_av1              mp2fixed                pcm_s32le_planar        rpza                    vp8_vaapi
adpcm_ima_amv           dvbsub                  libfdk_aac              mpeg1video              pcm_s64be               rv10                    vp9_vaapi
adpcm_ima_apm           dvdsub                  libjxl                  mpeg2_vaapi             pcm_s64le               rv20                    wavpack
adpcm_ima_qt            dvvideo                 libkvazaar              mpeg2video              pcm_s8                  s302m                   webvtt
adpcm_ima_ssi           eac3                    libmp3lame              mpeg4                   pcm_s8_planar           sbc                     wmav1
adpcm_ima_wav           exr                     libopencore_amrnb       mpeg4_v4l2m2m           pcm_u16be               sgi                     wmav2
adpcm_ima_ws            ffv1                    libopenjpeg             msmpeg4v2               pcm_u16le               smc                     wmv1
adpcm_ms                ffvhuff                 libopus                 msmpeg4v3               pcm_u24be               snow                    wmv2
adpcm_swf               fits                    librav1e                msvideo1                pcm_u24le               sonic                   wrapped_avframe
adpcm_yamaha            flac                    libshine                nellymoser              pcm_u32be               sonic_ls                xbm
alac                    flashsv                 libspeex                opus                    pcm_u32le               speedhq                 xface
alias_pix               flashsv2                libsvtav1               pam                     pcm_u8                  srt                     xsub
amv                     flv                     libtheora               pbm                     pcm_vidc                ssa                     xwd
apng                    g723_1                  libtwolame              pcm_alaw                pcx                     subrip                  y41p
aptx                    gif                     libvo_amrwbenc          pcm_bluray              pfm                     sunrast                 yuv4
aptx_hd                 h261                    libvorbis               pcm_dvd                 pgm                     svq1                    zlib
ass                     h263                    libvpx_vp8              pcm_f32be               pgmyuv                  targa                   zmbv
asv1                    h263_v4l2m2m            libvpx_vp9              pcm_f32le               phm                     text
asv2                    h263p                   libwebp                 pcm_f64be               png                     tiff
avrp                    h264_amf                libwebp_anim            pcm_f64le               ppm                     truehd
avui                    h264_nvenc              libx264                 pcm_mulaw               prores                  tta

Enabled hwaccels:
av1_nvdec               h264_vaapi              mjpeg_nvdec             mpeg2_vaapi             vc1_nvdec               vp9_nvdec               wmv3_vdpau
av1_vaapi               h264_vdpau              mjpeg_vaapi             mpeg2_vdpau             vc1_vaapi               vp9_vaapi
av1_vdpau               hevc_nvdec              mpeg1_nvdec             mpeg4_nvdec             vc1_vdpau               vp9_vdpau
h263_vaapi              hevc_vaapi              mpeg1_vdpau             mpeg4_vaapi             vp8_nvdec               wmv3_nvdec
h264_nvdec              hevc_vdpau              mpeg2_nvdec             mpeg4_vdpau             vp8_vaapi               wmv3_vaapi

Enabled parsers:
aac                     bmp                     dpx                     gif                     mjpeg                   qoi                     vp3
aac_latm                cavsvideo               dvaudio                 gsm                     mlp                     rv30                    vp8
ac3                     cook                    dvbsub                  h261                    mpeg4video              rv40                    vp9
adx                     cri                     dvd_nav                 h263                    mpegaudio               sbc                     webp
amr                     dca                     dvdsub                  h264                    mpegvideo               sipr                    xbm
av1                     dirac                   flac                    hevc                    opus                    tak                     xma
avs2                    dnxhd                   g723_1                  ipu                     png                     vc1
avs3                    dolby_e                 g729                    jpeg2000                pnm                     vorbis

Enabled demuxers:
aa                      bitpacked               g726le                  image_qdraw_pipe        mpc                     pcm_vidc                svag
aac                     bmv                     g729                    image_qoi_pipe          mpc8                    pjs                     svs
aax                     boa                     gdv                     image_sgi_pipe          mpegps                  pmp                     swf
ac3                     brstm                   genh                    image_sunrast_pipe      mpegts                  pp_bnk                  tak
ace                     c93                     gif                     image_svg_pipe          mpegtsraw               pva                     tedcaptions
acm                     caf                     gsm                     image_tiff_pipe         mpegvideo               pvf                     thp
act                     cavsvideo               gxf                     image_vbn_pipe          mpjpeg                  qcp                     threedostr
adf                     cdg                     h261                    image_webp_pipe         mpl2                    r3d                     tiertexseq
adp                     cdxl                    h263                    image_xbm_pipe          mpsub                   rawvideo                tmv
ads                     cine                    h264                    image_xpm_pipe          msf                     realtext                truehd
adx                     codec2                  hca                     image_xwd_pipe          msnwc_tcp               redspark                tta
aea                     codec2raw               hcom                    imf                     msp                     rl2                     tty
afc                     concat                  hevc                    ingenient               mtaf                    rm                      txd
aiff                    dash                    hls                     ipmovie                 mtv                     roq                     ty
aix                     data                    hnm                     ipu                     musx                    rpl                     v210
alp                     daud                    ico                     ircam                   mv                      rsd                     v210x
amr                     dcstr                   idcin                   iss                     mvi                     rso                     vag
amrnb                   derf                    idf                     iv8                     mxf                     rtp                     vapoursynth
amrwb                   dfa                     iff                     ivf                     mxg                     rtsp                    vc1
anm                     dfpwm                   ifv                     ivr                     nc                      s337m                   vc1t
apc                     dhav                    ilbc                    jacosub                 nistsphere              sami                    vividas
ape                     dirac                   image2                  jv                      nsp                     sap                     vivo
apm                     dnxhd                   image2_alias_pix        kux                     nsv                     sbc                     vmd
apng                    dsf                     image2_brender_pix      kvag                    nut                     sbg                     vobsub
aptx                    dsicin                  image2pipe              libgme                  nuv                     scc                     voc
aptx_hd                 dss                     image_bmp_pipe          libmodplug              obu                     scd                     vpk
aqtitle                 dts                     image_cri_pipe          live_flv                ogg                     sdp                     vplayer
argo_asf                dtshd                   image_dds_pipe          lmlm4                   oma                     sdr2                    vqf
argo_brp                dv                      image_dpx_pipe          loas                    paf                     sds                     w64
argo_cvg                dvbsub                  image_exr_pipe          lrc                     pcm_alaw                sdx                     wav
asf                     dvbtxt                  image_gem_pipe          luodat                  pcm_f32be               segafilm                wc3
asf_o                   dxa                     image_gif_pipe          lvf                     pcm_f32le               ser                     webm_dash_manifest
ass                     ea                      image_j2k_pipe          lxf                     pcm_f64be               sga                     webvtt
ast                     ea_cdata                image_jpeg_pipe         m4v                     pcm_f64le               shorten                 wsaud
au                      eac3                    image_jpegls_pipe       matroska                pcm_mulaw               siff                    wsd
av1                     epaf                    image_jpegxl_pipe       mca                     pcm_s16be               simbiosis_imx           wsvqa
avi                     ffmetadata              image_pam_pipe          mcc                     pcm_s16le               sln                     wtv
avisynth                filmstrip               image_pbm_pipe          mgsts                   pcm_s24be               smacker                 wv
avr                     fits                    image_pcx_pipe          microdvd                pcm_s24le               smjpeg                  wve
avs                     flac                    image_pfm_pipe          mjpeg                   pcm_s32be               smush                   xa
avs2                    flic                    image_pgm_pipe          mjpeg_2000              pcm_s32le               sol                     xbin
avs3                    flv                     image_pgmyuv_pipe       mlp                     pcm_s8                  sox                     xmv
bethsoftvid             fourxm                  image_pgx_pipe          mlv                     pcm_u16be               spdif                   xvag
bfi                     frm                     image_phm_pipe          mm                      pcm_u16le               srt                     xwma
bfstm                   fsb                     image_photocd_pipe      mmf                     pcm_u24be               stl                     yop
bink                    fwse                    image_pictor_pipe       mods                    pcm_u24le               str                     yuv4mpegpipe
binka                   g722                    image_png_pipe          moflex                  pcm_u32be               subviewer
bintext                 g723_1                  image_ppm_pipe          mov                     pcm_u32le               subviewer1
bit                     g726                    image_psd_pipe          mp3                     pcm_u8                  sup

Enabled muxers:
a64                     caf                     g722                    lrc                     mxf_opatom              pcm_u24le               streamhash
ac3                     cavsvideo               g723_1                  m4v                     null                    pcm_u32be               sup
adts                    chromaprint             g726                    matroska                nut                     pcm_u32le               swf
adx                     codec2                  g726le                  matroska_audio          obu                     pcm_u8                  tee
aiff                    codec2raw               gif                     md5                     oga                     pcm_vidc                tg2
alp                     crc                     gsm                     microdvd                ogg                     psp                     tgp
amr                     dash                    gxf                     mjpeg                   ogv                     rawvideo                truehd
amv                     data                    h261                    mkvtimestamp_v2         oma                     rm                      tta
apm                     daud                    h263                    mlp                     opus                    roq                     ttml
apng                    dfpwm                   h264                    mmf                     pcm_alaw                rso                     uncodedframecrc
aptx                    dirac                   hash                    mov                     pcm_f32be               rtp                     vc1
aptx_hd                 dnxhd                   hds                     mp2                     pcm_f32le               rtp_mpegts              vc1t
argo_asf                dts                     hevc                    mp3                     pcm_f64be               rtsp                    voc
argo_cvg                dv                      hls                     mp4                     pcm_f64le               sap                     w64
asf                     eac3                    ico                     mpeg1system             pcm_mulaw               sbc                     wav
asf_stream              f4v                     ilbc                    mpeg1vcd                pcm_s16be               scc                     webm
ass                     ffmetadata              image2                  mpeg1video              pcm_s16le               segafilm                webm_chunk
ast                     fifo_test               image2pipe              mpeg2dvd                pcm_s24be               segment                 webm_dash_manifest
au                      filmstrip               ipod                    mpeg2svcd               pcm_s24le               smjpeg                  webp
avi                     fits                    ircam                   mpeg2video              pcm_s32be               smoothstreaming         webvtt
avif                    flac                    ismv                    mpeg2vob                pcm_s32le               sox                     wsaud
avm2                    flv                     ivf                     mpegts                  pcm_s8                  spdif                   wtv
avs2                    framecrc                jacosub                 mpjpeg                  pcm_u16be               spx                     wv
avs3                    framehash               kvag                    mxf                     pcm_u16le               srt                     yuv4mpegpipe
bit                     framemd5                latm                    mxf_d10                 pcm_u24be               stream_segment

Enabled protocols:
bluray                  ffrtmphttp              httpproxy               libssh                  rtmpe                   srtp                    unix
cache                   file                    https                   md5                     rtmps                   subfile
concat                  ftp                     icecast                 mmsh                    rtmpt                   tcp
concatf                 gopher                  ipfs                    mmst                    rtmpte                  tee
crypto                  gophers                 ipns                    pipe                    rtmpts                  tls
data                    hls                     libsmbclient            prompeg                 rtp                     udp
ffrtmpcrypt             http                    libsrt                  rtmp                    sctp                    udplite

Enabled filters:
abench                  asegment                colorspectrum           fifo                    lut3d                   remap                   stereowiden
abitscope               aselect                 colortemperature        fillborders             lutrgb                  remap_opencl            streamselect
acompressor             asendcmd                compand                 find_rect               lutyuv                  removegrain             subtitles
acontrast               asetnsamples            compensationdelay       firequalizer            lv2                     removelogo              super2xsai
acopy                   asetpts                 concat                  flanger                 mandelbrot              repeatfields            superequalizer
acrossfade              asetrate                convolution             floodfill               maskedclamp             replaygain              surround
acrossover              asettb                  convolution_opencl      format                  maskedmax               reverse                 swaprect
acrusher                ashowinfo               convolve                fps                     maskedmerge             rgbashift               swapuv
acue                    asidedata               copy                    framepack               maskedmin               rgbtestsrc              tblend
addroi                  asoftclip               cover_rect              framerate               maskedthreshold         roberts                 telecine
adeclick                aspectralstats          crop                    framestep               maskfun                 roberts_opencl          testsrc
adeclip                 asplit                  cropdetect              freezedetect            mcompand                rotate                  testsrc2
adecorrelate            ass                     crossfeed               freezeframes            median                  rubberband              thistogram
adelay                  astats                  crystalizer             frei0r                  mergeplanes             sab                     threshold
adenorm                 astreamselect           cue                     frei0r_src              mestimate               scale                   thumbnail
aderivative             asubboost               curves                  fspp                    metadata                scale2ref               thumbnail_cuda
adrawgraph              asubcut                 datascope               gblur                   midequalizer            scale_cuda              tile
adynamicequalizer       asupercut               dblur                   geq                     minterpolate            scale_vaapi             tiltshelf
adynamicsmooth          asuperpass              dcshift                 gradfun                 mix                     scdet                   tinterlace
aecho                   asuperstop              dctdnoiz                gradients               monochrome              scharr                  tlut2
aemphasis               atadenoise              deband                  graphmonitor            morpho                  scroll                  tmedian
aeval                   atempo                  deblock                 grayworld               movie                   segment                 tmidequalizer
aevalsrc                atilt                   decimate                greyedge                mpdecimate              select                  tmix
aexciter                atrim                   deconvolve              guided                  mptestsrc               selectivecolor          tonemap
afade                   avectorscope            dedot                   haas                    msad                    sendcmd                 tonemap_opencl
afftdn                  avgblur                 deesser                 haldclut                multiply                separatefields          tonemap_vaapi
afftfilt                avgblur_opencl          deflate                 haldclutsrc             negate                  setdar                  tpad
afifo                   avsynctest              deflicker               hdcd                    nlmeans                 setfield                transpose
afir                    axcorrelate             deinterlace_vaapi       headphone               nlmeans_opencl          setparams               transpose_opencl
afirsrc                 bandpass                dejudder                hflip                   nnedi                   setpts                  transpose_vaapi
aformat                 bandreject              delogo                  highpass                noformat                setrange                treble
afreqshift              bass                    denoise_vaapi           highshelf               noise                   setsar                  tremolo
afwtdn                  bbox                    derain                  hilbert                 normalize               settb                   trim
agate                   bench                   deshake                 histeq                  null                    sharpness_vaapi         unpremultiply
agraphmonitor           bilateral               deshake_opencl          histogram               nullsink                shear                   unsharp
ahistogram              biquad                  despill                 hqdn3d                  nullsrc                 showcqt                 unsharp_opencl
aiir                    bitplanenoise           detelecine              hqx                     ocr                     showfreqs               untile
aintegral               blackdetect             dialoguenhance          hstack                  openclsrc               showinfo                v360
ainterleave             blackframe              dilation                hsvhold                 oscilloscope            showpalette             vaguedenoiser
alatency                blend                   dilation_opencl         hsvkey                  overlay                 showspatial             varblur
alimiter                blockdetect             displace                hue                     overlay_cuda            showspectrum            vectorscope
allpass                 blurdetect              dnn_classify            huesaturation           overlay_opencl          showspectrumpic         vflip
allrgb                  bm3d                    dnn_detect              hwdownload              overlay_vaapi           showvolume              vfrdet
allyuv                  boxblur                 dnn_processing          hwmap                   owdenoise               showwaves               vibrance
aloop                   boxblur_opencl          doubleweave             hwupload                pad                     showwavespic            vibrato
alphaextract            bs2b                    drawbox                 hwupload_cuda           pad_opencl              shuffleframes           vidstabdetect
alphamerge              bwdif                   drawgraph               hysteresis              pal100bars              shufflepixels           vidstabtransform
amerge                  cas                     drawgrid                iccdetect               pal75bars               shuffleplanes           vif
ametadata               cellauto                drawtext                iccgen                  palettegen              sidechaincompress       vignette
amix                    channelmap              drmeter                 identity                paletteuse              sidechaingate           virtualbass
amovie                  channelsplit            dynaudnorm              idet                    pan                     sidedata                vmafmotion
amplify                 chorus                  earwax                  il                      perms                   sierpinski              volume
amultiply               chromahold              ebur128                 inflate                 perspective             signalstats             volumedetect
anequalizer             chromakey               edgedetect              interlace               phase                   signature               vstack
anlmdn                  chromakey_cuda          elbg                    interleave              photosensitivity        silencedetect           w3fdif
anlmf                   chromanr                entropy                 join                    pixdesctest             silenceremove           waveform
anlms                   chromashift             epx                     kerndeint               pixelize                sinc                    weave
anoisesrc               ciescope                eq                      kirsch                  pixscope                sine                    xbr
anull                   codecview               equalizer               ladspa                  pp                      siti                    xcorrelate
anullsink               color                   erosion                 lagfun                  pp7                     smartblur               xfade
anullsrc                colorbalance            erosion_opencl          latency                 premultiply             smptebars               xfade_opencl
apad                    colorchannelmixer       estdif                  lenscorrection          prewitt                 smptehdbars             xmedian
aperms                  colorchart              exposure                life                    prewitt_opencl          sobel                   xstack
aphasemeter             colorcontrast           extractplanes           limitdiff               procamp_vaapi           sobel_opencl            yadif
aphaser                 colorcorrect            extrastereo             limiter                 program_opencl          sofalizer               yadif_cuda
aphaseshift             colorhold               fade                    loop                    pseudocolor             spectrumsynth           yaepblur
apsyclip                colorize                feedback                loudnorm                psnr                    speechnorm              yuvtestsrc
apulsator               colorkey                fftdnoiz                lowpass                 pullup                  split                   zoompan
arealtime               colorkey_opencl         fftfilt                 lowshelf                qp                      spp                     zscale
aresample               colorlevels             field                   lumakey                 random                  sr
areverse                colormap                fieldhint               lut                     readeia608              ssim
arnndn                  colormatrix             fieldmatch              lut1d                   readvitc                stereo3d
asdr                    colorspace              fieldorder              lut2                    realtime                stereotools

Enabled bsfs:
aac_adtstoasc           dump_extradata          h264_mp4toannexb        mjpeg2jpeg              noise                   remove_extradata        vp9_raw_reorder
av1_frame_merge         dv_error_marker         h264_redundant_pps      mjpega_dump_header      null                    setts                   vp9_superframe
av1_frame_split         eac3_core               hapqa_extract           mov2textsub             opus_metadata           text2movsub             vp9_superframe_split
av1_metadata            extract_extradata       hevc_metadata           mp3_header_decompress   pcm_rechunk             trace_headers
chomp                   filter_units            hevc_mp4toannexb        mpeg2_metadata          pgs_frame_merge         truehd_core
dca_core                h264_metadata           imx_dump_header         mpeg4_unpack_bframes    prores_metadata         vp9_metadata

Enabled indevs:
alsa                    lavfi                   libndi_newtek           pulse                   v4l2
fbdev                   libcdio                 oss                     sndio                   xcbgrab

Enabled outdevs:
alsa                    fbdev                   opengl                  pulse                   sndio                   xv
caca                    libndi_newtek           oss                     sdl2                    v4l2

License: nonfree and unredistributable
config.h is unchanged
config.asm is unchanged
config_components.h is unchanged
libavutil/avconfig.h is unchanged
libavfilter/filter_list.c is unchanged
libavcodec/codec_list.c is unchanged
libavcodec/parser_list.c is unchanged
libavcodec/bsf_list.c is unchanged
libavformat/demuxer_list.c is unchanged
libavformat/muxer_list.c is unchanged
libavdevice/indev_list.c is unchanged
libavdevice/outdev_list.c is unchanged
libavformat/protocol_list.c is unchanged
ffbuild/config.sh is unchanged

~/tmp/ffmpeg-build-script/packages/ffmpeg-git
jman@bookworm$make -j32
CC      libavutil/hwcontext_vulkan.o
libavutil/hwcontext_vulkan.c:363:7: error: ‘VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME’ undeclared here (not in a function); did you mean ‘VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME’?
  363 |     { VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME,                FF_VK_EXT_NO_FLAG                },
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |       VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME
libavutil/hwcontext_vulkan.c:364:7: error: ‘VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME’ undeclared here (not in a function); did you mean ‘VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME’?
  364 |     { VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME,                FF_VK_EXT_NO_FLAG                },
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |       VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME
make: *** [ffbuild/common.mak:81: libavutil/hwcontext_vulkan.o] Error 1
sfahadshahzad commented 9 months ago

seems that building vulkan the temporary fix is to Turning off --enable-vulkan.

Fahad

slyfox1186 commented 9 months ago

OK I was able to compile it. I had to do some serious coding to get it to work.

Below are the results of the build. You will notice --enable-vulkan and --enable-libndi_newtek are enabled

ffmpeg version n5.1-1-g9560964bc0 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr/local --arch=x86_64 --cpu=16 --cc=gcc --cxx=g++ --disable-debug --disable-doc --disable-large-tests --disable-shared --enable-ladspa --enable-openssl --enable-libxml2 --enable-libaribb24 --enable-libfreetype --enable-libfontconfig --enable-libfribidi --enable-libass --enable-libwebp --enable-lcms2 --enable-libjxl --enable-opencl --enable-libtesseract --enable-librubberband --enable-libzimg --enable-lv2 --enable-libpulse --enable-libfdk-aac --enable-libvorbis --enable-libopus --enable-libmysofa --enable-libvpx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-decklink --enable-libaom --enable-libdav1d --enable-librav1e --enable-libkvazaar --enable-libbluray --enable-libvidstab --enable-frei0r --enable-amf --enable-libsvtav1 --enable-libx264 --enable-libx265 --nvccflags='-gencode arch=' --enable-libsrt --enable-avisynth --enable-vapoursynth --enable-libxvid --enable-libopenjpeg --enable-libndi_newtek --enable-chromaprint --enable-gpl --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libgme --enable-libmodplug --enable-libshine --enable-libsmbclient --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtwolame --enable-libv4l2 --enable-libvo-amrwbenc --enable-libzvbi --enable-lto --enable-nonfree --enable-opengl --enable-pic --enable-pthreads --enable-small --enable-static --enable-vulkan --enable-version3 --extra-cflags='-I/home/jman/tmp/ffmpeg-build-script/workspace/include -I/home/jman/tmp/ffmpeg-build-script/workspace/include/jxl -I/home/jman/tmp/ffmpeg-build-script/workspace/include/CL -I/usr/local/include -I/usr/include-I/usr/include/x86_64-linux-gnu -I/usr/include/SDL2 -I/usr/lib/x86_64-linux-gnu/pulseaudio -I/usr/include/openjpeg-2.5 -I/usr/include/vk_video -I/usr/include/vulkan -g -O3 -march=native -DHWY_COMPILE_ONLY_SCALAR' --extra-cxxflags='-g -O3 -march=native -DHWY_COMPILE_ONLY_SCALAR' --extra-ldflags='-L/home/jman/tmp/ffmpeg-build-script/workspace/lib64 -L/home/jman/tmp/ffmpeg-build-script/workspace/lib -L/home/jman/tmp/ffmpeg-build-script/workspace/lib/x86_64-linux-gnu -L/usr/local/lib64 -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib64 -L/usr/lib -L/lib64 -L/lib' --extra-ldexeflags= --extra-libs='-ldl -lpthread -lm -lz -L/usr/lib/x86_64-linux-gnu -lcurl -lvulkan -L/home/jman/tmp/ffmpeg-build-script/workspace/lib -llcms2 -llcms2_threaded -lhwy -lbrotlidec -lbrotlienc -ltesseract -L/usr/local/cuda/targets/x86_64-linux/lib -lOpenCL' --pkg-config-flags=--static --pkg-config=/usr/local/bin/pkg-config --pkgconfigdir=/home/jman/tmp/ffmpeg-build-script/workspace/lib/pkgconfig --strip=/bin/strip
libavutil      57. 28.100 / 57. 28.100
libavcodec     59. 37.100 / 59. 37.100
libavformat    59. 27.100 / 59. 27.100
libavdevice    59.  7.100 / 59.  7.100
libavfilter     8. 44.100 /  8. 44.100
libswscale      6.  7.100 /  6.  7.100
libswresample   4.  7.100 /  4.  7.100
libpostproc    56.  6.100 / 56.  6.100
slyfox1186 commented 9 months ago

I just uploaded the latest version of the script that includes the NDI SDK for Linux and Vulkan Support

Hope this helps. Thanks for clueing me into the fact that this even existed. I wrote on the GitHub issue page for the NDI source code and asked if there was a way to use the latest FFmpeg version 6.0 instead of the 5.1,