Quantcast
Channel: Active questions tagged windows - Super User
Viewing all articles
Browse latest Browse all 9082

FFMpeg: How to get the real return value in bash

$
0
0

I've always used ffmpeg via a cmd-script and I always could check the %ERRORLEVEL% which was always '0' on success or '!0' if an error occured.

I'm trying to recode my cmd-scripts in bash (using msys2 for windows), like bash gives me much more control over the scripting (I experienced, bash is a 1000 times better than cmd). But when I do someting like this

status=$($ffMpegPath -hide_banner -y "${aInput[@]}" "${aMapping[@]}" -c copy "${aParam[@]}" "$destination")

then $status always is '0' (success), even if an error in ffmpeg occures.
What am I missing?
Am I doing something wrong?

I'm coding bash in msys2 for windows, in windows11. $ffMpegPath is a global variable that points to the unix-path where my ffmpeg is located, it's been declared as a global like following :

declare -r ffMpegPath="/c/Tools/ffmpeg/bin/ffmpeg.exe"

[Appendum]To clarrify some things, following is the command (without '-hide_banner') :

/c/Tools/ffmpeg/bin/ffmpeg.exe -y -i /f/Kigo/Film/raw/input.mp4 -i /f/Kigo/Film/Audio/input.French.mp4 -map 0:V -map 0:a -map 1:a -map_metadata -1 -map_chapters -1 -sn -dn -c copy -metadata:s:v:0 language=und -disposition:v:0 default -metadata:s:v:0 title= -metadata:s:a:0 title= -metadata:s:a:1 title= -metadata:s:v:0 SOURCE_ID-eng= -metadata:s:a:0 SOURCE_ID-eng= -metadata:s:a:1 SOURCE_ID-eng= -metadata:s:v:0 BPS= -metadata:s:a:0 BPS= -metadata:s:a:1 BPS= -metadata:s:v:0 BPS-eng= -metadata:s:a:0 BPS-eng= -metadata:s:a:1 BPS-eng= -metadata:s:v:0 DURATION= -metadata:s:a:0 DURATION= -metadata:s:a:1 DURATION= -metadata:s:v:0 DURATION-eng= -metadata:s:a:0 DURATION-eng= -metadata:s:a:1 DURATION-eng= -metadata:s:v:0 NUMBER_OF_FRAMES= -metadata:s:a:0 NUMBER_OF_FRAMES= -metadata:s:a:1 NUMBER_OF_FRAMES= -metadata:s:v:0 NUMBER_OF_FRAMES-eng= -metadata:s:a:0 NUMBER_OF_FRAMES-eng= -metadata:s:a:1 NUMBER_OF_FRAMES-eng= -metadata:s:v:0 NUMBER_OF_BYTES= -metadata:s:a:0 NUMBER_OF_BYTES= -metadata:s:a:1 NUMBER_OF_BYTES= -metadata:s:v:0 NUMBER_OF_BYTES-eng= -metadata:s:a:0 NUMBER_OF_BYTES-eng= -metadata:s:a:1 NUMBER_OF_BYTES-eng= -metadata:s:v:0 _STATISTICS_WRITING_APP= -metadata:s:a:0 _STATISTICS_WRITING_APP= -metadata:s:a:1 _STATISTICS_WRITING_APP= -metadata:s:v:0 _STATISTICS_WRITING_APP-eng= -metadata:s:a:0 _STATISTICS_WRITING_APP-eng= -metadata:s:a:1 _STATISTICS_WRITING_APP-eng= -metadata:s:v:0 _STATISTICS_WRITING_DATE_UTC= -metadata:s:a:0 _STATISTICS_WRITING_DATE_UTC= -metadata:s:a:1 _STATISTICS_WRITING_DATE_UTC= -metadata:s:v:0 _STATISTICS_WRITING_DATE_UTC-eng= -metadata:s:a:0 _STATISTICS_WRITING_DATE_UTC-eng= -metadata:s:a:1 _STATISTICS_WRITING_DATE_UTC-eng= -metadata:s:v:0 _STATISTICS_TAGS= -metadata:s:a:0 _STATISTICS_TAGS= -metadata:s:a:1 _STATISTICS_TAGS= -metadata:s:v:0 _STATISTICS_TAGS-eng= -metadata:s:a:0 _STATISTICS_TAGS-eng= -metadata:s:a:1 _STATISTICS_TAGS-eng= -metadata:s:v:0 HANDLER_NAME= -metadata:s:a:0 HANDLER_NAME= -metadata:s:a:1 HANDLER_NAME= -metadata:s:v:0 VENDOR_ID= -metadata:s:a:0 VENDOR_ID= -metadata:s:a:1 VENDOR_ID= -metadata:s:a:0 language=eng -metadata:s:a:1 language=fra /e/Video/MP4/output.mp4

and following is its (truncated) output :

ffmpeg version N-114362-gbc9e6bd678-gac21582e53+3 Copyright (c) 2000-2024 the FFmpeg developers  built with gcc 13.2.0 (Rev5, Built by MSYS2 project)  configuration:  --pkg-config=pkgconf --cc='ccache gcc' --cxx='ccache g++' --ld='ccache g++' --extra-cxxflags=-fpermissive --extra-cflags=-Wno-int-conversion --disable-autodetect --enable-amf --enable-bzlib --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-iconv --enable-lzma --enable-nvenc --enable-zlib --enable-sdl2 --enable-ffnvcodec --enable-nvdec --enable-cuda-llvm --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libdav1d --enable-libaom --disable-debug --enable-libfdk-aac --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-libwebp --enable-libxml2 --enable-libzimg --enable-libshine --enable-gpl --enable-avisynth --enable-libxvid --enable-libopenmpt --enable-version3 --enable-librav1e --enable-libsrt --enable-libgsm --enable-libvmaf --enable-libsvtav1 --enable-chromaprint --enable-decklink --enable-frei0r --enable-libaribb24 --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfribidi --enable-libgme --enable-libilbc --enable-libsvthevc --enable-libsvtvp9 --enable-libkvazaar --enable-libmodplug --enable-librist --enable-librtmp --enable-librubberband --enable-libtesseract --enable-libxavs --enable-libzmq --enable-libzvbi --enable-openal --enable-libcodec2 --enable-ladspa --enable-libglslang --enable-vulkan --enable-libdavs2 --enable-libxavs2 --enable-libuavs3d --enable-libplacebo --enable-libjxl --enable-opencl --enable-opengl --enable-libopenh264 --enable-openssl --extra-cflags=-DLIBTWOLAME_STATIC --extra-libs=-lstdc++ --extra-cflags=-DCACA_STATIC --extra-cflags=-DMODPLUG_STATIC --extra-cflags=-DCHROMAPRINT_NODLL --extra-libs=-lstdc++ --extra-cflags=-DZMQ_STATIC --extra-libs=-lpsapi --extra-cflags=-DLIBXML_STATIC --extra-libs=-liconv --disable-w32threads --extra-cflags=-DKVZ_STATIC_LIB --enable-nonfree --extra-cflags=-DAL_LIBTYPE_STATIC --extra-cflags='-IC:/mab/local64/include' --extra-cflags='-IC:/mab/local64/include/AL'  libavutil      59.  6.100 / 59.  6.100  libavcodec     61.  2.100 / 61.  2.100  libavformat    61.  0.100 / 61.  0.100  libavdevice    61.  0.100 / 61.  0.100  libavfilter    10.  0.100 / 10.  0.100  libswscale      8.  0.100 /  8.  0.100  libswresample   5.  0.100 /  5.  0.100  libpostproc    58.  0.100 / 58.  0.100

Viewing all articles
Browse latest Browse all 9082

Trending Articles