bash - ffmpeg - bash 脚本淡出音频文件

标签 bash audio ffmpeg

我正在尝试编写一个 bash 脚本来获取音频文件的持续时间,然后应用 5 秒的淡出。

#!/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" 

我收到一个无效的参数错误。

最佳答案

感谢所有帮助 - 这是我的解决方案。很确定有更优雅的方法,但我是初学者。

#!/bin/bash
f="$*" # all args
p="${f##*/}" # file
fn="${p%.*}_fade" # name only
e="${p##*.}" # extension
sec="5"

dur=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$f")
t=$(echo "$dur - $sec" | bc)

ffmpeg -i "$f" -af "afade=t=out:st=$t:d=5" "$fn $sec sec.$e"

关于bash - ffmpeg - bash 脚本淡出音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46448255/

相关文章:

iphone - 在 objective-c 中,从找不到的路径加载sound.wav

matlab - MATLAB读取了3gp音频文件,因此可以进行FFT

node.js - 在nodejs中通过fluent-ffmpeg合并多个视频文件和流

FFMpeg 未将 SDP 信息打印到控制台

python - 解析访问日志数据以适合数据库格式

python - bash 脚本在启动另一个相同的 python 脚本后杀死 python 脚本

linux - 对目录中除某些文件以外的所有文件执行脚本

regex - Gnu sed 删除单引号

linux - 如何在 Linux 中播放 MIDI 输入

ubuntu - ffmpeg 音频 - 视频同步问题(音频先于视频) - 使用 x11grab 进行屏幕录制时