将 ffmpeg 选项传递给 bash 函数

将 ffmpeg 选项传递给 bash 函数

我正在编写一个 bash 脚本,我可以在其中提供ffmpeg.将参数传递给函数的好方法是什么?也许使用字符串。

script.sh "-aq 1" *.mp4

一种解决方案可能涉及检测文件和目录,考虑以前的位置参数 - 作为ffmpeg.

目前我正在使用循环调用ffmpeg每个文件。也许有某种方法可以将所有文件一起传递,而不需要单个 ffmpeg 调用?

因此

  while (( $# > 0 )); do
   case $1 in
     ("--") shift 1 ; break ;;
     (*) if [[ ! -f "$1" ]]; then
           avopt+=("$1")
           shift 1 
         else
           break
         fi
         ;;
   esac
  done

  for fl in "$@"; do
    ffmpeg -i "$fl" -vn -acodec libvorbis ${avopt[@]} "$fl.ogg"
  done

相关内容