[FFmpeg-user] Question about random() expression
Michael Koch
astroelectronic at t-online.de
Wed Dec 27 23:51:19 EET 2023
Hi,
I'm using this command line to print four consecutive random numbers:
ffmpeg -loglevel repeat -f lavfi -i color=gray:size=1x1,format=gray -vf
geq=lum='st(0,0.123);print(random(0));print(random(0));print(random(0));print(random(0));0'
-frames 1 -y out.png
The output is always the same four numbers:
0.000000
0.000091
0.285346
0.929202
Why is the first number always zero, even if I write different seed
values (here: 0.123) into variable 0?
The console output is below.
Michael
C:\Users\astro\Desktop\LUT1D>ffmpeg -loglevel repeat -f lavfi -i
color=gray:size=1x1,format=gray -vf
geq=lum='st(0,0.123);print(random(0));print(random(0));print(random(0));print(random(0));0'
-frames 1 -y out.png
ffmpeg version 2023-12-23-git-f5f414d9c4-essentials_build-www.gyan.dev
Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static
--pkg-config=pkgconf --disable-w32threads --disable-autodetect
--enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2
--enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt
--enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2
--enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid
--enable-libaom --enable-libopenjpeg --enable-libvpx
--enable-mediafoundation --enable-libass --enable-libfreetype
--enable-libfribidi --enable-libharfbuzz --enable-libvidstab
--enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm
--enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc
--enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libgme
--enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame
--enable-libtheora --enable-libvo-amrwbenc --enable-libgsm
--enable-libopencore-amrnb --enable-libopus --enable-libspeex
--enable-libvorbis --enable-librubberband
libavutil 58. 36.100 / 58. 36.100
libavcodec 60. 36.100 / 60. 36.100
libavformat 60. 20.100 / 60. 20.100
libavdevice 60. 4.100 / 60. 4.100
libavfilter 9. 14.101 / 9. 14.101
libswscale 7. 6.100 / 7. 6.100
libswresample 4. 13.100 / 4. 13.100
libpostproc 57. 4.100 / 57. 4.100
Input #0, lavfi, from 'color=gray:size=1x1,format=gray':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: wrapped_avframe, gray, 1x1 [SAR 1:1 DAR 1:1], 25
fps, 25 tbr, 25 tbn
Stream mapping:
Stream #0:0 -> #0:0 (wrapped_avframe (native) -> png (native))
Press [q] to stop, [?] for help
0.000000
0.000091
0.285346
0.929202
Output #0, image2, to 'out.png':
Metadata:
encoder : Lavf60.20.100
Stream #0:0: Video: png, gray(progressive), 1x1 [SAR 1:1 DAR 1:1],
q=2-31, 200 kb/s, 25 fps, 25 tbn
Metadata:
encoder : Lavc60.36.100 png
[image2 @ 000001eec3e15700] The specified filename 'out.png' does not
contain an image sequence pattern or a pattern is invalid.
[image2 @ 000001eec3e15700] Use a pattern such as %03d for an image
sequence or use the -update option (with -frames:v 1 if needed) to write
a single image.
[out#0/image2 @ 000001eec3e15600] video:0kB audio:0kB subtitle:0kB other
streams:0kB global headers:0kB muxing overhead: unknown
frame= 1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=
1.8x
More information about the ffmpeg-user
mailing list