0
我想写一个bash脚本来获取audiofile的持续时间,然后应用5秒淡出。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),然后避免使用两个'grep'进程。 – LordNeckbeard