[FFmpeg-trac] #7444(ffmpeg:new): Problem escaping 'result' parameter when using vidstab on Windows

FFmpeg trac at avcodec.org
Mon Sep 17 18:44:13 EEST 2018


#7444: Problem escaping 'result' parameter when using vidstab on Windows
-------------------------------------+-------------------------------------
             Reporter:  Selur        |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:  ffmpeg       |                  Version:  git-
             Keywords:  vidstat      |  master
  result input escape                |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Trying to use vidstab in ffmpeg I'm running into the problem that ffmpeg
 doesn't parse my command line properly and I don't know how it should look
 like:
 When using:
 {{{
 "I:\Hybrid\64bit\ffmpeg.exe" -y -threads 8 -i
 "F:\TestClips&Co\files\test.avi" -map 0:0 -c:v rawvideo -vf
 vidstabdetect=result="E:/Temp/18_11_50_9710_01.trf":shakiness=5:accuracy=15:stepsize=6:mincontrast=0.3
 -f null NUL
 }}}

 ffmpeg complains about:
 {{{
 [vidstabdetect @ 0000020653ce6800] [Eval @ 000000fec75fdcd0] Undefined
 constant or missing '(' in '/Temp/18_11_50_9710_01.trf'
 [vidstabdetect @ 0000020653ce6800] Unable to parse option value
 "/Temp/18_11_50_9710_01.trf"
 [vidstabdetect @ 000000fec75fe468] Multithreading: use 12 threads
 [vidstabdetect @ 000000fec75fe3d8] Fieldsize: 48, Maximal translation: 50
 pixel
 [vidstabdetect @ 000000fec75fe3d8] Number of used measurement fields: 40
 out of 40
 [vidstabdetect @ 000000fec75fe3d8] Fieldsize: 16, Maximal translation: 16
 pixel
 [vidstabdetect @ 000000fec75fe3d8] Number of used measurement fields: 162
 out of 162
 [Parsed_vidstabdetect_0 @ 0000020653cb2d00] Video stabilization settings
 (pass 1/2):
 [Parsed_vidstabdetect_0 @ 0000020653cb2d00]      shakiness = 5
 [Parsed_vidstabdetect_0 @ 0000020653cb2d00]       accuracy = 15
 [Parsed_vidstabdetect_0 @ 0000020653cb2d00]       stepsize = 6
 [Parsed_vidstabdetect_0 @ 0000020653cb2d00]    mincontrast = 0.300000
 [Parsed_vidstabdetect_0 @ 0000020653cb2d00]         tripod = 0
 [Parsed_vidstabdetect_0 @ 0000020653cb2d00]           show = 0
 [Parsed_vidstabdetect_0 @ 0000020653cb2d00]         result = E
 }}}
 this. Problem is that instead of:
 {{{
 E:/Temp/18_11_50_9710_01.trf
 }}}
 being passed to the filter as value for 'result' only 'E' is passed. :/

 Adding backslashes and additional double quotes doesn't seem to help.

 -> Does anyone know how the command line should look such that it is
 properly escaped and handled by ffmpeg?

 Cu Selur

 'm using:
 {{{
 ffmpeg version N-91949-g6304268e39 Copyright (c) 2000-2018 the FFmpeg
 developers
   built with gcc 8.2.0 (Rev1, Built by MSYS2 project)
   configuration:  --disable-autodetect --enable-amf --enable-bzlib
 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-
 iconv --enable-lzma --enable-nvenc --enable-zlib --enable-sdl2 --disable-
 debug --enable-ffnvcodec --enable-nvdec --enable-libmp3lame --enable-
 libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-
 libx265 --enable-fontconfig --enable-libass --enable-libbluray --enable-
 libfreetype --enable-libmfx --enable-libmysofa --enable-libopencore-amrnb
 --enable-libopencore-amrwb --enable-libopenjpeg --enable-libsnappy
 --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame
 --enable-libvidstab --enable-libvo-amrwbenc --enable-libwavpack --enable-
 libwebp --enable-libxml2 --enable-libzimg --enable-libshine --enable-gpl
 --enable-avisynth --enable-libxvid --enable-libaom --enable-version3
 --enable-mbedtls --extra-cflags=-DLIBTWOLAME_STATIC --extra-libs=-lstdc++
 --extra-cflags=-DLIBXML_STATIC --extra-libs=-liconv
 }}}

 So either I'm simply don't know how to escape this properly (would be nice
 if someone could tell me) or this is a bug. (Sample problem also happen
 when using 'input' instead of 'result'.)

 Thanks for looking into this. :)

--
Ticket URL: <https://trac.ffmpeg.org/ticket/7444>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list