0
私は、オーディオファイルの長さを取得して5秒のフェードアウトを適用するためのbashスクリプトを作成しようとしています。ffmpeg-bashスクリプトフェードアウトオーディオファイル
#!/bin/bash
f="$*" # all args
p="${f##*/}" # file
fn="${p%.*}" # name only
e="${p##*.}" # extension
echo
echo $f
echo $p
echo $fn
echo $e
echo
_t=$(ffmpeg -i "$f" 2>&1 | grep "Duration" | grep -o " [0-9:.]*, ")
ffmpeg -i "$f" -af "afade=t=out:st=$_t:d=500" "$fn $sec sec fade-out.$e"
無効な引数エラーが発生しました。
スクリプトの上に 'set -x'を置き、追加情報を取得してデバッグしようとしています – Inian
$ secが定義されていません。 – Cyrus
'ffmpeg'からのコンソール出力は、人間の目だけを対象としています。マシンの構文解析に十分な一貫性を保証するものではありません。 ['ffprobe'(http://trac.ffmpeg.org/wiki/FFprobeTips#Duration)から直接継続時間を取得すると、2つの' grep'プロセスの使用を避けることができます。 – LordNeckbeard