II'm attempting to convert a video from HDR colorspace to SDR
colorspace using the zscale filter as suggested in this guide [1]. My
commandline and ffmpeg output are attached.
FFmpeg is exiting with the error: "No such filter: 'zscale'"
According to [2], "To enable compilation of this filter, you need to
configure FFmpeg with --enable-libzimg."
Is ffmpeg compiled with zscale support? If not, could you compile it
with zscale support?
My ffmpeg and libzimg2 versions:
ffmpeg 10:3.4.6-dmo1~bpo9+1
libzimg2 2.8-dmo1~bpo9+1
It's possible I'm doing something stupid here, so any advice is appreciated.
Thanks,
~John
[1]
https://stevens.li/guides/video/converting-hdr-to-sdr-with-ffmpeg/
[2]
https://ffmpeg.org/ffmpeg-filters.html#zscale-1
$ ffmpeg -i input.ts -vf select=gte(n\,360) -vf scale=-1:1080 -sws_flags fast_bilinear -vf zscale=t=linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=hable:desat=0,zscale=t=bt709:m=bt709:r=tv,format=yuv420p -frames:v 1 out.png
ffmpeg version 3.4.6 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-mips32r2 --disable-mips32r6 --disable-mips64r6 --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-msa --disable-libopencv --disable-podpages --disable-stripping --enable-avfilter --enable-avresample --enable-gcrypt --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libzvbi --enable-nonfree --enable-opengl --enable-openssl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --enable-libwebp --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --disable-opencl --enable-libmfx --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
[mpegts @ 0x55b0efabf4c0] PES packet size mismatch
Input #0, mpegts, from 'source.ts':
Duration: 02:45:52.48, start: 5.000000, bitrate: 24362 kb/s
Program 28396
Metadata:
service_name : DVR-UHD
service_provider: HS
Stream #0:0[0x65]: Video: hevc (Main 10) ([36][0][0][0] / 0x0024), yuv420p10le(tv, bt2020nc/bt2020/arib-std-b67), 3840x2160 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x66](ger): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 192 kb/s (clean effects)
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> png (native))
Press [q] to stop, [?] for help
[AVFilterGraph @ 0x55b0efbfae20] No such filter: 'zscale'bitrate=N/A speed=N/A
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:0
Conversion failed!