[FFmpeg-user] I am unable to get ffmpeg to calculate PSNR for any video files.
Gyan Doshi
ffmpeg at gyani.pro
Tue Jan 19 06:17:58 EET 2021
On 19-01-2021 05:49 am, Reed Crowe wrote:
> I have tried this test with three different versions of ffmpeg (4.3.1,
> 3.4.8 and N-100671-gc48110a4a4 on 2 different OSes (Ubuntu 18.04, Fedora
> 33).
>
> Here is the command I am using:
> ffmpeg -i 17647_20210118_195325.mp4 -i test.mp4 -filter_complex psnr -f
> null -
> These are the same file (one just renamed). But I have tried it with
> different files as well with the same error. I'm not totally sure what the
> error means.
>
> Error: Application provided invalid, non monotonically increasing dts to
> muxer in stream 0: 748 >= 748
The output (encoding) time base is, by default, set to the reciprocal of
the frame rate. When converting from a finer input time base, 90000 in
this case, may produce collisions. So let's keep the input tie base. Add
-enc_time_base -1
However, this does not interfere with PSNR calculation. See below.
> Output with errors:
>
> ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
> built with gcc 10 (GCC)
> configuration: --prefix=/usr --bindir=/usr/bin
> --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg
> --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man
> --arch=x86_64 --optflags='-O2 -flto=auto -ffat-lto-objects -fexceptions -g
> -grecord-gcc-switches -pipe -Wall -Werror=format-security
> -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
> -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
> -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
> --extra-ldflags='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now
> -specs=/usr/lib/rpm/redhat/redhat-hardened-ld ' --extra-cflags='
> -I/usr/include/rav1e' --enable-libopencore-amrnb --enable-libopencore-amrwb
> --enable-libvo-amrwbenc --enable-version3 --enable-bzlib
> --disable-crystalhd --enable-fontconfig --enable-frei0r --enable-gcrypt
> --enable-gnutls --enable-ladspa --enable-libaom --enable-libdav1d
> --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm
> --enable-libjack --enable-libfreetype --enable-libfribidi --enable-libgsm
> --enable-liblensfun --enable-libmp3lame --enable-libmysofa --enable-nvenc
> --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg
> --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg
> --enable-librav1e --enable-libsoxr --enable-libspeex --enable-libssh
> --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab
> --enable-libvmaf --enable-version3 --enable-vapoursynth --enable-libvpx
> --enable-vulkan --enable-libglslang --enable-libx264 --enable-libx265
> --enable-libxvid --enable-libxml2 --enable-libzimg --enable-libzvbi
> --enable-lv2 --enable-avfilter --enable-avresample --enable-libmodplug
> --enable-postproc --enable-pthreads --disable-static --enable-shared
> --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64
> --enable-lto --enable-libmfx --enable-runtime-cpudetect
> libavutil 56. 51.100 / 56. 51.100
> libavcodec 58. 91.100 / 58. 91.100
> libavformat 58. 45.100 / 58. 45.100
> libavdevice 58. 10.100 / 58. 10.100
> libavfilter 7. 85.100 / 7. 85.100
> libavresample 4. 0. 0 / 4. 0. 0
> libswscale 5. 7.100 / 5. 7.100
> libswresample 3. 7.100 / 3. 7.100
> libpostproc 55. 7.100 / 55. 7.100
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '17647_20210118_195325.mp4':
> Metadata:
> major_brand : isom
> minor_version : 512
> compatible_brands: isomiso2avc1mp41
> title : 'LVT17647'
> encoder : Lavf58.20.100
> Duration: 00:00:59.87, start: 0.000000, bitrate: 67 kb/s
> Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuvj420p(pc,
> bt470bg/bt470bg/bt709), 704x480, 66 kb/s, 15.03 fps, 15 tbr, 90k tbn, 180k
> tbc (default)
> Metadata:
> handler_name : VideoHandler
> Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
> Metadata:
> major_brand : isom
> minor_version : 512
> compatible_brands: isomiso2avc1mp41
> title : 'LVT17647'
> encoder : Lavf58.20.100
> Duration: 00:00:59.87, start: 0.000000, bitrate: 67 kb/s
> Stream #1:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuvj420p(pc,
> bt470bg/bt470bg/bt709), 704x480, 66 kb/s, 15.03 fps, 15 tbr, 90k tbn, 180k
> tbc (default)
> Metadata:
> handler_name : VideoHandler
> Stream mapping:
> Stream #0:0 (h264) -> settb
> Stream #1:0 (h264) -> settb
> psnr -> Stream #0:0 (wrapped_avframe)
> Press [q] to stop, [?] for help
> Output #0, null, to 'pipe:':
> Metadata:
> major_brand : isom
> minor_version : 512
> compatible_brands: isomiso2avc1mp41
> title : 'LVT17647'
> encoder : Lavf58.45.100
> Stream #0:0: Video: wrapped_avframe, yuvj420p, 704x480, q=2-31, 200
> kb/s, 15 fps, 15 tbn, 15 tbc (default)
> Metadata:
> encoder : Lavc58.91.100 wrapped_avframe
> *[null @ 0x55e31e9a0240] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 748 >= 748*
> frame= 899 fps=0.0 q=-0.0 Lsize=N/A time=00:00:59.86 bitrate=N/A speed=
> 150x
> video:471kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: unknown
> [Parsed_psnr_4 @ 0x55e31edfa580] PSNR y:inf u:inf v:inf average:inf min:inf
> max:inf
PSNR is calculated and printed on the last line above.
Regards,
Gyan
More information about the ffmpeg-user
mailing list