Что вызывает исключения ata в моем syslog и как их решить

Если проблема связана с пустыми аргументами, вызывающими проблемы, рассмотрите возможность создания командной строки с использованием массивов, чтобы можно было отфильтровать пустые переменные:

opts=()
add_opt() {
    for i; do [[ -n "$i" ]] && ops+=("$i"); done
}
add_opt "${monitorsom}" "${openal}" "${micro}" "${microal}" "${complexo}"

Затем:

env PULSE_LATENCY_MSEC=5 ffmpeg -vsync passthrough \
-vaapi_device /dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi \
"${opts[@]}"   \
-thread_queue_size 4096 -framerate 30  \
-f x11grab -s "$(xdpyinfo  | grep -oP 'dimensions:\s+\K\S+')" -i :0.0  \
-acodec libfdk_aac -b:a 192k \
-vf 'format=nv12,hwupload' -vcodec h264_vaapi \
-f flv "${nome}"

Если opts пусто, "${opts[@]}"превращается в ничто, и мы уже отфильтровали пустые переменные.

(Я бы пошел дальше и поместил все параметры в массив. Когда у меня очень длинные командные строки, я обычно делаю:

opts=(
"opt1"
"opt2"
...
)
cmd "${opts[@]}"

Это облегчает мне отслеживание параметров.)

1
27.04.2016, 19:38
0 ответов

Теги

Похожие вопросы