Ale*_*thy 4 bash loops ffmpeg while-loop
我有这个用于将.mp4视频转换为.mp3音频的bash 脚本。它运行,但只循环一次,尽管/home/myname/mp4dir.
该脚本将.mp4它找到的第一个文件转换为.mp3,除非已经有一个.mp3文件。这应该在循环中完成,但在第一次调用 ffmpeg 后脚本停止。
为什么?
#!/bin/bash
find /home/myname/mp4dir -name "*.mp4" | while read f
do
fOut=`echo $f | sed s/mp4/mp3/`
echo "convert $f => $fOut"
if ! test -f $fOut
then
ffmpeg -i $f -vn -f mp3 $fOut
fi
done
Run Code Online (Sandbox Code Playgroud)
从评论中我们得知,实际上存在您正在循环的输入文件(无论何种类型)并且ffmpeg至少启动一次。然后,你就被困住了。
添加
&> ffmpeg.outerr < /dev/null
Run Code Online (Sandbox Code Playgroud)
执行您的ffmpeg命令并在“循环”(即 ffmpeg)执行时监视文件ffmpeg.outerr。它会告诉你问题是什么。您可以自己解决这个问题,或者您可以使用标签返回 stackoverflow 来解决这个ffmpeg 特定的问题ffmpeg。
| 归档时间: |
|
| 查看次数: |
6268 次 |
| 最近记录: |