首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Xamarin Android与FFMpeg合并音频文件

Xamarin Android与FFMpeg合并音频文件
EN

Stack Overflow用户
提问于 2018-06-15 18:18:38
回答 1查看 687关注 0票数 4

我将这个绑定库用于FFMpeg:https://github.com/gperozzo/XamarinAndroidFFmpeg

我的目标是混合两个音频文件。

代码语言:javascript
复制
String s = "-i " + "test.wav" + " -i " + test2.mp3 + " -filter_complex amix=inputs=2:duration=first " + "result.mp3";

Device.BeginInvokeOnMainThread(async () =>
{
   await FFMpeg.Xamarin.FFmpegLibrary.Run(Forms.Context, s);
});

所以我有两个输入文件:一个是.mp3,另一个是.wav。

我还尝试了next命令:

代码语言:javascript
复制
String s= "-i "+ "test.wav" +" -i "+ "test2.mp3" + " -filter_complex [0:0][1:0]concat=n=2:v=0:a=1[out] -map [out] " + "result.mp3";
String s = "-i " + "test.wav" + " -i " + "test2.mp3" + " -filter_complex [0:a][1:a]amerge=inputs=2[aout] -map [aout] -ac 2 " + "result.mp3";

1)我可以混合两种不同的音频格式(在我的例子中是.mp3和.wav),或者它们应该是等价的吗? 2)正确的混合命令行是什么?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-16 04:26:03

1)我可以混合两种不同的音频格式(在我的例子中是.mp3和.wav)吗?

是。输入格式并不重要,因为它将在馈送到滤波器之前完全解码为PCM音频,但您必须了解如何混合各种输入通道以创建输出的通道布局。有关更多信息,请阅读有关amergeamix过滤器的文档。

2)混合的正确命令行是什么?

您使用amerge的命令应该有效:

代码语言:javascript
复制
ffmpeg -i test.wav -i test2.mp3 -filter_complex "[0:a][1:a]amerge=inputs=2[aout]" -map "[aout]" -ac 2 result.mp3

或者使用amix:

代码语言:javascript
复制
ffmpeg -i test.wav -i test2.mp3 -filter_complex "[0:a][1:a]amix=inputs=2:duration=shortest[aout]" -map "[aout]" result.mp3
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50873573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档