Opened 3 years ago

Closed 3 years ago

#5255 closed defect (invalid)

In vidstabdetect filter the show option does not work

Reported by: TomSteck Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords: libvidstab
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug: I try to see how stabilization filter works with the show option. Switching show between values: 0,1,2 doesn't make any difference in the final video.

How to reproduce:

1 pass: ffmpeg -i input -vf vidstabdetect=show=1:result=video.xml -f null out.null
2 pass: ffmpeg -i input -vf vidstabtransform=input=video.xml -vcodec libx264 -level 4.2 -preset veryslow -tune film -crf 23 -an output
ffmpeg version N-77953-gcc83177
built with gcc 5.2.0 (GCC)
ffmpeg-20160119-git-cc83177-win64-static.7z

Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Change History (5)

comment:1 Changed 3 years ago by cehoyos

  • Component changed from undetermined to avfilter

Please test current FFmpeg git head and please provide the command line that allows to reproduce the issue together with the complete, uncut console output to make this a valid ticket.

comment:2 Changed 3 years ago by cehoyos

  • Keywords libvidstab added

comment:3 Changed 3 years ago by TomSteck

I opened http://ffmpeg.zeranoe.com/builds/ and downloaded ffmpeg-20160219-git-98a0053-win64-static.7z - git-98a0053 (2016-02-19). I don't know how to compile FFmpeg on my Windows 10.

I am using Python 2.7 to run first psutil.Popen(step1), where step1 is a list:
['ffmpeg', '-i', 'Israel.MountGilboa?.turns.mp4', '-vf', 'vidstabdetect=show=1:shakiness=5:stepsize=4:result=Israel.MountGilboa?.turns.crf23.xml', '-f', 'null', 'out.null']

and then psutil.Popen(step2) where step2 is a list:
['ffmpeg', '-y', '-i', 'Israel.MountGilboa?.turns.mp4', '-vf', 'vidstabtransform=input=Israel.MountGilboa.turns.crf23.xml:interpol=bicubic:smoothing=100:optzoom=2:zoomspeed=0.25:maxshift=10,unsharp=5:5:0:5:5:0', '-vcodec', 'libx264', '-level', '4.2', '-preset', 'veryslow', '-tune', 'film', '-crf', '23', '-an', 'Israel.MountGilboa?.turns.crf23.mp4']

Here is the entire console output:

Microsoft Windows [Version 10.0.10586]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\Users\Tom\PycharmProjects?\Stabilize>Stabilize.py Israel.MountGilboa?.turns.mp4
Step 1:
['ffmpeg', '-i', 'Israel.MountGilboa?.turns.mp4', '-vf', 'vidstabdetect=show=1:shakiness=5:stepsize=4:result=Israel.MountGilboa?.turns.crf23.xml', '-f', 'null', 'out.null']

ffmpeg version N-78598-g98a0053 Copyright (c) 2000-2016 the FFmpeg developers

built with gcc 5.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 18.100 / 55. 18.100
libavcodec 57. 24.103 / 57. 24.103
libavformat 57. 25.101 / 57. 25.101
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 34.100 / 6. 34.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Israel.MountGilboa?.turns.mp4':

Metadata:

major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.25.101

Duration: 00:00:19.07, start: 0.033000, bitrate: 4171 kb/s

Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 4168 kb/s, 30 fps, 30 tbr, 30k tbn, 60 tbc (default)
Metadata:

handler_name : VideoHandler?

[vidstabdetect @ 000000523e7fe3b0] Fieldsize: 112, Maximal translation: 154 pixel
[vidstabdetect @ 000000523e7fe3b0] Number of used measurement fields: 65 out of 65
[vidstabdetect @ 000000523e7fe3b0] Fieldsize: 32, Maximal translation: 32 pixel
[vidstabdetect @ 000000523e7fe3b0] Number of used measurement fields: 392 out of 392
[Parsed_vidstabdetect_0 @ 0000020755bf0ee0] Video stabilization settings (pass 1/2):
[Parsed_vidstabdetect_0 @ 0000020755bf0ee0] shakiness = 5
[Parsed_vidstabdetect_0 @ 0000020755bf0ee0] accuracy = 15
[Parsed_vidstabdetect_0 @ 0000020755bf0ee0] stepsize = 4
[Parsed_vidstabdetect_0 @ 0000020755bf0ee0] mincontrast = 0.250000
[Parsed_vidstabdetect_0 @ 0000020755bf0ee0] tripod = 0
[Parsed_vidstabdetect_0 @ 0000020755bf0ee0] show = 1
[Parsed_vidstabdetect_0 @ 0000020755bf0ee0] result = Israel.MountGilboa?.turns.crf23.xml
Output #0, null, to 'out.null':

Metadata:

major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.25.101
Stream #0:0(und): Video: wrapped_avframe, yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 30 fps, 30 tbn, 30 tbc (default)
Metadata:

handler_name : VideoHandler?
encoder : Lavc57.24.103 wrapped_avframe

Stream mapping:

Stream #0:0 -> #0:0 (h264 (native) -> wrapped_avframe (native))

Press [q] to stop, ? for help
frame= 572 fps=1.5 q=-0.0 Lsize=N/A time=00:00:19.06 bitrate=N/A speed=0.0506x
video:273kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Step 2:
['ffmpeg', '-y', '-i', 'Israel.MountGilboa?.turns.mp4', '-vf', 'vidstabtransform=input=Israel.MountGilboa.turns.crf23.xml:interpol=bicubic:smoothing=100:optzoom=2:zoomspeed=0.25:maxshift=10,unsharp=5:5:0:5:5:0', '-vcodec', 'libx264', '-level', '4.2', '-preset', 'veryslow', '-tune', 'film', '-crf', '23', '-an', 'Israel.MountGilboa?.turns.crf23.mp4']

ffmpeg version N-78598-g98a0053 Copyright (c) 2000-2016 the FFmpeg developers

built with gcc 5.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 18.100 / 55. 18.100
libavcodec 57. 24.103 / 57. 24.103
libavformat 57. 25.101 / 57. 25.101
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 34.100 / 6. 34.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Israel.MountGilboa?.turns.mp4':

Metadata:

major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.25.101

Duration: 00:00:19.07, start: 0.033000, bitrate: 4171 kb/s

Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 4168 kb/s, 30 fps, 30 tbr, 30k tbn, 60 tbc (default)
Metadata:

handler_name : VideoHandler?

[Parsed_vidstabtransform_0 @ 000001df4b44a8a0] Video transformation/stabilization settings (pass 2/2):
[Parsed_vidstabtransform_0 @ 000001df4b44a8a0] input = Israel.MountGilboa?.turns.crf23.xml
[Parsed_vidstabtransform_0 @ 000001df4b44a8a0] smoothing = 100
[Parsed_vidstabtransform_0 @ 000001df4b44a8a0] optalgo = gauss
[Parsed_vidstabtransform_0 @ 000001df4b44a8a0] maxshift = 10
[Parsed_vidstabtransform_0 @ 000001df4b44a8a0] maxangle = -1.000000
[Parsed_vidstabtransform_0 @ 000001df4b44a8a0] crop = Keep
[Parsed_vidstabtransform_0 @ 000001df4b44a8a0] relative = True
[Parsed_vidstabtransform_0 @ 000001df4b44a8a0] invert = False
[Parsed_vidstabtransform_0 @ 000001df4b44a8a0] zoom = 0.000000
[Parsed_vidstabtransform_0 @ 000001df4b44a8a0] optzoom = Dynamic (2)
[Parsed_vidstabtransform_0 @ 000001df4b44a8a0] zoomspeed = 0.25
[Parsed_vidstabtransform_0 @ 000001df4b44a8a0] interpol = Bi-Cubic (3)
[libx264 @ 000001df4b870a80] using SAR=1/1
[libx264 @ 000001df4b870a80] using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64 SlowShuffle?
[libx264 @ 000001df4b870a80] profile High, level 4.2
[libx264 @ 000001df4b870a80] 264 - core 148 r2665 a01e339 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=4 deblock=1:-1:-1 analyse=0x3:0x133 me=umh subme=10 psy=1 psy_rd=1.00:0.15 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-3 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=8 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=60 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'Israel.MountGilboa?.turns.crf23.mp4':

Metadata:

major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.25.101
Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 30 fps, 15360 tbn, 30 tbc (default)
Metadata:

handler_name : VideoHandler?
encoder : Lavc57.24.103 libx264

Side data:

cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1

Stream mapping:

Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))

Press [q] to stop, ? for help
frame= 572 fps=0.7 q=-1.0 Lsize= 26143kB time=00:00:19.00 bitrate=11271.8kbits/s speed=0.0248x
video:26136kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.027224%
[libx264 @ 000001df4b870a80] frame I:3 Avg QP:22.24 size:144008
[libx264 @ 000001df4b870a80] frame P:129 Avg QP:24.53 size: 94026
[libx264 @ 000001df4b870a80] frame B:440 Avg QP:27.92 size: 32276
[libx264 @ 000001df4b870a80] consecutive B-frames: 1.9% 2.1% 4.7% 28.7% 28.8% 32.5% 1.2% 0.0% 0.0%
[libx264 @ 000001df4b870a80] mb I I16..4: 25.4% 64.6% 10.0%
[libx264 @ 000001df4b870a80] mb P I16..4: 14.7% 33.3% 3.8% P16..4: 20.7% 9.2% 5.4% 0.9% 0.2% skip:11.9%
[libx264 @ 000001df4b870a80] mb B I16..4: 1.9% 3.7% 0.6% B16..8: 31.1% 12.4% 3.7% direct: 4.7% skip:41.7% L0:37.6% L1:49.5% BI:12.9%
[libx264 @ 000001df4b870a80] 8x8 transform intra:63.0% inter:53.8%
[libx264 @ 000001df4b870a80] direct mvs spatial:99.3% temporal:0.7%
[libx264 @ 000001df4b870a80] coded y,uvDC,uvAC intra: 37.6% 43.3% 13.3% inter: 16.2% 13.6% 1.5%
[libx264 @ 000001df4b870a80] i16 v,h,dc,p: 19% 54% 10% 18%
[libx264 @ 000001df4b870a80] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 24% 20% 5% 6% 6% 8% 6% 10%
[libx264 @ 000001df4b870a80] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 15% 8% 7% 12% 11% 13% 9% 15%
[libx264 @ 000001df4b870a80] i8c dc,h,v,p: 37% 41% 11% 11%
[libx264 @ 000001df4b870a80] Weighted P-Frames: Y:4.7% UV:3.9%
[libx264 @ 000001df4b870a80] ref P L0: 68.4% 11.3% 15.1% 4.8% 0.4% 0.1%
[libx264 @ 000001df4b870a80] ref B L0: 93.0% 5.9% 1.1%
[libx264 @ 000001df4b870a80] ref B L1: 95.1% 4.9%
[libx264 @ 000001df4b870a80] kb/s:11229.09

Program finished!

comment:4 Changed 3 years ago by TomSteck

  • Resolution set to invalid
  • Status changed from new to closed

It wasn't clear for me while reading documentation that the results will be rendered to additional video that has to be defined at the end of command (instead of "null -").
Now I can confirm that the command "ffmpeg -i input.mp4 -vf vidstabdetect=show=1 dummy_output.mp4" works.

comment:5 Changed 3 years ago by TomSteck

  • Resolution set to invalid
  • Status changed from new to closed

It wasn't clear for me while reading documentation that the results will be rendered to additional video that has to be defined at the end of command (instead of "null -").
Now I can confirm that the command "ffmpeg -i input.mp4 -vf vidstabdetect=show=1 dummy_output.mp4" works.

Note: See TracTickets for help on using tickets.