执行"ffmpeg"循环命令 [英] Execute "ffmpeg" command in a loop

查看:464
本文介绍了执行"ffmpeg"循环命令的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的文件夹中有三个.wav文件,我想用ffmpeg将它们转换为.mp3.

I have three .wav files in my folder and I want to convert them into .mp3 with ffmpeg.

我写了这个bash脚本,但是当我执行它时,只有第一个会转换为mp3.

I wrote this bash script, but when I execute it, only the first one is converted to mp3.

我应该怎么做才能使脚本不断浏览文件?

what should I do to make script keep going through my files?

这是脚本:

#!/bin/bash
find ./ -name "*.wav" -print | while read f
do
    name=${f:2:${#f}-6}
    cmd='ffmpeg -i "$name.wav" -ab 320k -ac 2 "$name.mp3"'
    eval $cmd
done

推荐答案

没有理由,只需使用通配符遍历

No reason for find, just use bash wildcard globbing

#!/bin/bash
for name in *.wav; do
  ffmpeg -i "$name" -ab 320k -ac 2 "${name%.*}.mp3" 
done 

这篇关于执行"ffmpeg"循环命令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆