Opened 5 months ago
Last modified 5 months ago
#10730 new defect
-vf vidstab creates binary transform.trf (ffmpeg 6.1)
Reported by: | JouMxyzptlk | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avfilter |
Version: | unspecified | Keywords: | vidstabdetect transform.trf binary |
Cc: | JouMxyzptlk | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description (last modified by )
ffmpeg 6.1 using -vf vidstabdetect=result=transforms.trf creates binary transform.trf
How to reproduce (with any input video):
c:\prog\ffmpeg\bin\ffmpeg.exe -i "input.mp4" -vf vidstabdetect=stepsize=32:shakiness=10:accuracy=10:result=transformsffmpeg61.trf -f null - ffmpeg version 6.1-full_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-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --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-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint libavutil 58. 29.100 / 58. 29.100 libavcodec 60. 31.102 / 60. 31.102 libavformat 60. 16.100 / 60. 16.100 libavdevice 60. 3.100 / 60. 3.100 libavfilter 9. 12.100 / 9. 12.100 libswscale 7. 5.100 / 7. 5.100 libswresample 4. 12.100 / 4. 12.100 libpostproc 57. 3.100 / 57. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 creation_time : 2023-12-08T20:37:22.000000Z com.android.version: 10 com.android.capture.fps: 60.000000 Duration: 00:00:22.74, start: 0.000000, bitrate: 38902 kb/s Stream #0:0[0x1](eng): Video: hevc (Main) (hvc1 / 0x31637668), yuvj420p(pc, bt470bg/bt470bg/smpte170m), 3840x2160, 38528 kb/s, SAR 1:1 DAR 16:9, 59.50 fps, 60 tbr, 90k tbn (default) Metadata: creation_time : 2023-12-08T20:37:22.000000Z handler_name : VideoHandle vendor_id : [0][0][0][0] Side data: displaymatrix: rotation of -90.00 degrees Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 95 kb/s (default) Metadata: creation_time : 2023-12-08T20:37:22.000000Z handler_name : SoundHandle vendor_id : [0][0][0][0] Stream mapping: Stream #0:0 -> #0:0 (hevc (native) -> wrapped_avframe (native)) Stream #0:1 -> #0:1 (aac (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help [swscaler @ 000002185c53c200] deprecated pixel format used, make sure you did set range correctly [vidstabdetect @ 000000b7fa9ff5d8] Multithreading: use 25 threads [vidstabdetect @ 000000b7fa9ff5d8] For high accuracy use lower stepsize -- set to 6 nowFieldsize: 224, Maximal translation: 308 pixel [vidstabdetect @ 000000b7fa9ff548] Number of used measurement fields: 43 out of 65 [vidstabdetect @ 000000b7fa9ff548] Fieldsize: 48, Maximal translation: 48 pixel [vidstabdetect @ 000000b7fa9ff548] Number of used measurement fields: 506 out of 760 [Parsed_vidstabdetect_0 @ 000002184368ef00] Video stabilization settings (pass 1/2): [Parsed_vidstabdetect_0 @ 000002184368ef00] shakiness = 10 [Parsed_vidstabdetect_0 @ 000002184368ef00] accuracy = 10 [Parsed_vidstabdetect_0 @ 000002184368ef00] stepsize = 6 [Parsed_vidstabdetect_0 @ 000002184368ef00] mincontrast = 0.250000 [Parsed_vidstabdetect_0 @ 000002184368ef00] tripod = 0 [Parsed_vidstabdetect_0 @ 000002184368ef00] show = 0 [Parsed_vidstabdetect_0 @ 000002184368ef00] result = transforms.trf [swscaler @ 000002185c8a3280] deprecated pixel format used, make sure you did set range correctly Last message repeated 2 times Output #0, null, to 'pipe:': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 com.android.capture.fps: 60.000000 com.android.version: 10 encoder : Lavf60.16.100 Stream #0:0(eng): Video: wrapped_avframe, yuv420p(tv, bt470bg/bt470bg/smpte170m, progressive), 2160x3840 [SAR 1:1 DAR 9:16], q=2-31, 200 kb/s, 60 fps, 60 tbn (default) Metadata: creation_time : 2023-12-08T20:37:22.000000Z handler_name : VideoHandle vendor_id : [0][0][0][0] encoder : Lavc60.31.102 wrapped_avframe Side data: displaymatrix: rotation of -0.00 degrees Stream #0:1(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s (default) Metadata: creation_time : 2023-12-08T20:37:22.000000Z handler_name : SoundHandle vendor_id : [0][0][0][0] encoder : Lavc60.31.102 pcm_s16le [out#0/null @ 0000021842210dc0] video:634kB audio:4264kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown frame= 1353 fps= 16 q=-0.0 Lsize=N/A time=00:00:22.72 bitrate=N/A speed=0.275x
Result: See attachment transformsffmpeg61.trf (and with latest gyan.dev see transformsffmpeg2023-12-07-git-f89cff96d0.trf, same problem)
Expected result: See attachment transformsffmpeg60.trf , created with ffmpeg 6.0
Due to attachment size limit, mentioned transform files at https://joumxyzptlk.de/tmp/ffmpeg/ffmpeg-6.1-vistab-bug.7z
Note:
See TracTickets
for help on using tickets.
Sorry, the ACTUAL bug seems to be:
-vf vidstabtransform=fileformat=binary
does not work, and should be the "binary" default if "vidstabdetect" is binary by default.
Suggested quick fix: Make the default vidstabdetect=fileformat=ascii. With vidstabdetect=fileformat=ascii ffmpeg 6.1 works fine, working around the binary issue.
if I should create a new bug entry please say.