[FFmpeg-user] Static binary with libpulse

2022-05-08 Thread Guru Prasad
Hello,

I'm trying to build an application that uses a very stripped down version
of ffmpeg. My goal is to be able to stream system audio out via RTP using
opus encoding.

To do this, I started with trying to compile FFmpeg with just the required
components, and I ended up with this:

./configure \
  --prefix="${BUILD}" \
  --pkg-config-flags="--static" \
  --extra-cflags="-I${BUILD}/include" \
  --extra-ldflags="-L${BUILD}/lib -L${BUILD}/../libopus/.libs
-L${BUILD}/../../alsa/alsa-lib/build/lib" \
  --extra-ldexeflags="-static" \
  --disable-everything \
  --enable-alsa \
  --enable-libpulse \
  --enable-indev=alsa,pulse \
  --enable-protocol=rtp \
  --enable-libopus

The issue is that libpulse is being very difficult to statically compile,
which is fine. I'm willing to accept that my application will only run on
systems where libpulse is available dynamically.
However, if I remove the static part of the config command-line, I end up
with a huge list of dynamically linked libraries.

guru@vm-001:~/ffmpeg$ ldd ./ffmpeg
linux-vdso.so.1 (0x7fffb4df6000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x7f09cb3f6000)
libasound.so.2 => /lib/x86_64-linux-gnu/libasound.so.2
(0x7f09cb2f3000)
libpulse.so.0 => /lib/x86_64-linux-gnu/libpulse.so.0
(0x7f09cb29e000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x7f09cb282000)
libva-drm.so.2 => /lib/x86_64-linux-gnu/libva-drm.so.2
(0x7f09cb27d000)
libva.so.2 => /lib/x86_64-linux-gnu/libva.so.2 (0x7f09cb24a000)
libva-x11.so.2 => /lib/x86_64-linux-gnu/libva-x11.so.2
(0x7f09cb242000)
libvdpau.so.1 => /lib/x86_64-linux-gnu/libvdpau.so.1
(0x7f09cb23c000)
libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6
(0x7f09cb0fc000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7f09caed4000)
/lib64/ld-linux-x86-64.so.2 (0x7f09cb6d1000)
libpulsecommon-15.99.so => /usr/lib/x86_64-linux-gnu/pulseaudio/
libpulsecommon-15.99.so (0x7f09cae4d000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3
(0x7f09cadff000)
libdrm.so.2 => /lib/x86_64-linux-gnu/libdrm.so.2
(0x7f09cade9000)
libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6
(0x7f09cadd4000)
libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3
(0x7f09cadcc000)
libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1
(0x7f09cada2000)
libsndfile.so.1 => /lib/x86_64-linux-gnu/libsndfile.so.1
(0x7f09cad21000)
libX11-xcb.so.1 => /lib/x86_64-linux-gnu/libX11-xcb.so.1
(0x7f09cad1c000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0
(0x7f09cac55000)
libasyncns.so.0 => /lib/x86_64-linux-gnu/libasyncns.so.0
(0x7f09cac4d000)
libapparmor.so.1 => /lib/x86_64-linux-gnu/libapparmor.so.1
(0x7f09cac38000)
libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6
(0x7f09cac3)
libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6
(0x7f09cac28000)
libFLAC.so.8 => /lib/x86_64-linux-gnu/libFLAC.so.8
(0x7f09cabec000)
libvorbis.so.0 => /lib/x86_64-linux-gnu/libvorbis.so.0
(0x7f09cabbf000)
libvorbisenc.so.2 => /lib/x86_64-linux-gnu/libvorbisenc.so.2
(0x7f09cab14000)
libopus.so.0 => /lib/x86_64-linux-gnu/libopus.so.0
(0x7f09caab6000)
libogg.so.0 => /lib/x86_64-linux-gnu/libogg.so.0
(0x7f09caaa9000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5
(0x7f09caa7e000)
libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1
(0x7f09ca9af000)
liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1
(0x7f09ca98f000)
libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2
(0x7f09ca984000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20
(0x7f09ca846000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0
(0x7f09ca82c000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0
(0x7f09ca806000)
libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x7f09ca7f9000)

Is there some kind of middle-ground where I can include most of the
libraries statically as it did in a static build but only link against
libpulse dynamically?
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-user] vf_lut3d supports type 3 ?

2022-05-08 Thread Paul B Mahol
On Sun, May 8, 2022 at 9:28 PM Mahesh Pittala 
wrote:

> Hello,
>
> I am trying to convert HLG to SDR using 3D LUT cubes freely distributed by
> NBCUniversal. (3-NBCU_HLG2SDR_DL_v1.1.cube
> <
> https://github.com/digitaltvguy/NBCU-HDR-SDR-Single-Stream_Workflow_Recommendation/blob/main/LUTS_for_Hardware_Devices/3-NBCU_HLG2SDR_DL_v1.1.cube
> >
> )
>
> https://github.com/digitaltvguy/NBCU-HDR-SDR-Single-Stream_Workflow_Recommendation/tree/main/LUTS_for_Hardware_Devices
>
> It seems the LUT conversion appears to be a modified “Type 1” which is
> mapping absolute signal peak to narrow range (10bit code value 940).  This
> value should allow code values all the way up to 1019
>
> Does ffmpeg's lut3d implementation support type 3 ?
>

cube lut3d specification says nothing about type 3, whatever type and 3
means in this context.


>
> My CLI:
> ./ffmpeg  -i Input_hlg_422_10bit.mov -vcodec v210  -vf
> "lut3d=interp=tetrahedral:file= 3-NBCU_HLG2SDR_DL_v1.1.cube
> <
> https://github.com/digitaltvguy/NBCU-HDR-SDR-Single-Stream_Workflow_Recommendation/blob/main/LUTS_for_Hardware_Devices/3-NBCU_HLG2SDR_DL_v1.1.cube
> >
> " -an  output_SDR_422.mov
>
> Thanks,
> Mahesh
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
>
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-user] vf_lut3d supports type 3 ?

2022-05-08 Thread Mahesh Pittala
Hello,

I am trying to convert HLG to SDR using 3D LUT cubes freely distributed by
NBCUniversal. (3-NBCU_HLG2SDR_DL_v1.1.cube

)
https://github.com/digitaltvguy/NBCU-HDR-SDR-Single-Stream_Workflow_Recommendation/tree/main/LUTS_for_Hardware_Devices

It seems the LUT conversion appears to be a modified “Type 1” which is
mapping absolute signal peak to narrow range (10bit code value 940).  This
value should allow code values all the way up to 1019

Does ffmpeg's lut3d implementation support type 3 ?

My CLI:
./ffmpeg  -i Input_hlg_422_10bit.mov -vcodec v210  -vf
"lut3d=interp=tetrahedral:file= 3-NBCU_HLG2SDR_DL_v1.1.cube

" -an  output_SDR_422.mov

Thanks,
Mahesh
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-user] Disparity in VMAF scores

2022-05-08 Thread Kamaldeep Tumkur
Hello,

I'm new to the computation of VMAF scores using libvmaf in ffmpeg. While
trying out generating scores through libvmaf, I have an issue that I cannot
seem to find an explanation for.

I encoded the 'crowd_run' HQ MP4 with two different encoders. The resulting
files were compared with the same source (original).

VMAF score of ffmpeg encoded clip:

[libvmaf @ 0x7fc5d8f2cb00] VMAF score: 90.644028


Command used:

ffmpeg -i crowd_run_1080p50.mp4 -c:v libx264 -g 100 -keyint_min 100
-sc_threshold 0 -b:v 12000k -maxrate 15000k -bufsize 15000k -c:a copy -f
mpegts pass2.ts


VMAF score for externally encoded clip:

[libvmaf @ 0x7fc53d729500] VMAF score: 25.168431



I just don't know how to explain this disparity in generated scores when
framerates and resolution of the source were retained. The second clip
doesn't seem to show such a degradation expected through the score.
Attaching both the encoded clips here for analysis.


Could anyone point me to why the external encoder generates an output with
low VMAF score. Anything in the frame structure?


ffmpeg encode:

https://drive.google.com/file/d/15-9YyNhYWJoTMxdmESkc7b0mPKKUMqG7/view?usp=sharing


external encode:

https://drive.google.com/file/d/1Mt2jP51KZ4vTG7SYPnJkCG1uMWqOadid/view?usp=sharing



Thank you.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".