Bashを使用してLinux用のシェルスクリプトを作成し、ビデオファイルをMP4に変換しています。そのために、私はavconv
with libvorbis
for audio を使用しています。
スクリプト内で、ユーザーに質問があります。
read -p "- Audio Quality [scale from -2 to 10] ? "
if [ -n "$REPLY" ] ; then
ABITRATE="-aq $REPLY"
fi
私の「ABITRATE」文字列は最終的なavconv
コマンドラインに入ります。
しかし、ユーザーにKb(キロビット)の値でその質問に答え、それをlibvorbis
使用するスケールに変換する機会をユーザーに与えたいと思います。「-2から10までのスケール」は次のとおりです。
Quality Kbit/s Normalization
-----------------------------
-2 ~32 y
-1 ~48 y
0 ~64 y
1 ~80 y
2 ~96 y
3 ~112 y
4 ~128 n
5 ~160 n
6 ~192 n
7 ~224 n
8 ~256 n
9 ~320 n
10 ~500 n
$ REPLYが範囲内にあるかどうかを確認する方法を知りたいです。たとえば、スクリプトで次のようなことをしたいです:
if [ $REPLY is a number between 1 and 32 ] ; then
REPLY="-2"
elif [ $REPLY is a number between 33 and 48 ] ; then
REPLY="-1"
fi
これは可能ですか(もちろん「はい、難しいことはない」と言いたいのですが、使用する構文がわかりません)?