Unity C# Mp3 Mp4 音频 视频 合成

需求

将声音文件合并到视频中

限制

暂时只支持Windows使用

准备

下载ffmpeg.exe

解压后得到exe

https://ffmpeg.org/download.html#releases

注意事项:

目录要在一起

代码

cs 复制代码
 public void StartExe()
    {
        if (File.Exists(ffmpegExe))
        {    
            string mp4;
            string mp3;
   
            //volume=3 这个参数代表 把输入的MP3合成音量
            string commad = $"-i {mp4} -i {mp3} -filter_complex \"[1:a]volume=10[a1];[0:a][a1]amix=inputs=2:duration=first[a]\" -map 0:v -map \"[a]\" -c:v copy -c:a aac -y {outPut}";

            Process process = new Process();   // params 为 string 类型的参数,多个参数以空格分隔,如果某个参数为空,可以传入""
            ProcessStartInfo startInfo = new ProcessStartInfo(ffmpegExe);
            process.StartInfo = startInfo;
            process.StartInfo.Arguments = commad;
            process.Start();
            process.WaitForExit();
        }
    }

小笨蛋快去试试吧

相关推荐
sunshine22 girl10 分钟前
Java学习六 Java常见API-2--String-3-字符串的截取替换和其他方法
java·开发语言·学习
LOVE️YOU19 分钟前
Python 函数名、函数对象与“把函数作为参数传递”
开发语言·python
sunshine22 girl1 小时前
Java学习六 Java常见API-1-Radom随机数
java·开发语言·学习
可乐鸡翅yeah_1 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
潼心1412o1 小时前
C++初阶(长期更新)第6讲:类和对象(下)
开发语言·c++·算法
夜晚回家2 小时前
Python 零基础入门 | 输入的数字为什么不能直接算
开发语言·python
时间的拾荒人2 小时前
Qt 事件机制全解析:从事件处理到事件过滤器
开发语言·qt·面试
于指尖飞舞2 小时前
java面试题总结
java·开发语言
samble2 小时前
从零搭建灌装监控系统(十二):配置系统,原子写入与容错
c#·wpf·mvvm·modbus·工业控制
zhangzeyuaaa3 小时前
深入理解 Ruby 运算符:本质、分类、坑点与重载实战
开发语言·前端·ruby