修改一些代码以将不同的音频格式ffmpeg / concat转换为1个长WAV文件

问题描述

我有一个我不完全了解的脚本。它使我可以提取几个不同的文件(M4A和WEBM),并将它们与FFMPEG结合在一起,并创建所有音频的长WAV。

我需要更改它以添加第三种格式(OPUS)

基本上,我希望它将所有OPUS,m4A和WEBM音频文件放在一个目录中,并将它们合并为一个长WAV。

有人可以在这里帮助我

#!/bin/bash

for f in *\ *; do mv "$f" "${f// /_}"; done


INP="ffmpeg -hide_banner"
FCT=-1
FIL="-filter_complex "
for f in /media/jnono/sata_500gb_dump/working_dir_for_yt_grinding/*.{webm,m4a}; do
  INP+=" -i ${f}"
  ((FCT+=1))
  FIL+="[${FCT}:a:0]"
done
((FCT+=1))
INP+=" ${FIL}concat=n=${FCT}:v=0:a=1[a] -map [a] waveoutput.wav"
echo $INP
$INP

解决方法

更改

for f in /media/jnono/sata_500gb_dump/working_dir_for_yt_grinding/*.{webm,m4a}; do

for f in /media/jnono/sata_500gb_dump/working_dir_for_yt_grinding/*.{webm,m4a,opus}; do