Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#7444 closed defect (invalid)

Problem escaping 'result' parameter when using vidstab on Windows

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

Description

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. :)

Change History (4)

comment:1 by Gyan, 6 years ago

You need to escape the colon, and use single quotes.

'E\:/Temp/18_11_50_9710_01.trf'

comment:2 by Selur, 6 years ago

Thanks! That fixes my problem! :)

comment:3 by Gyan, 6 years ago

Keywords: escaping windows added; vidstat result input escape removed
Resolution: invalid
Status: newclosed

comment:4 by Carl Eugen Hoyos, 6 years ago

Component: ffmpegundetermined
Keywords: escaping windows removed
Note: See TracTickets for help on using tickets.