feat: add ability to merge audio tracks
This commit is contained in:
parent
299ad0c9dc
commit
f7d97f1f2f
1 changed files with 8 additions and 0 deletions
|
@ -105,11 +105,19 @@ pub async fn convert_video(
|
||||||
Codec::VP9 => &["-c:v", "libvpx-vp9", "-row-mt", "1"],
|
Codec::VP9 => &["-c:v", "libvpx-vp9", "-row-mt", "1"],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// TODO: maybe check if the video has 2 audio tracks? or at least use a "fail-safe" method
|
||||||
|
let merge_args: &[&str] = if merge_tracks {
|
||||||
|
&["-ac", "2", "-filter_complex", "amerge=inputs=2"]
|
||||||
|
} else {
|
||||||
|
&[]
|
||||||
|
};
|
||||||
|
|
||||||
let mut child = Command::new("ffmpeg")
|
let mut child = Command::new("ffmpeg")
|
||||||
.arg("-i")
|
.arg("-i")
|
||||||
.arg(path)
|
.arg(path)
|
||||||
.args(["-c:a", "libopus", "-b:a", "96k"])
|
.args(["-c:a", "libopus", "-b:a", "96k"])
|
||||||
.args(codec_args)
|
.args(codec_args)
|
||||||
|
.args(merge_args)
|
||||||
.args(["-loglevel", "error", "-progress", "-", "-nostats"])
|
.args(["-loglevel", "error", "-progress", "-", "-nostats"])
|
||||||
.arg(&out_path)
|
.arg(&out_path)
|
||||||
.stdout(Stdio::piped())
|
.stdout(Stdio::piped())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue