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();
        }
    }

小笨蛋快去试试吧

相关推荐
常驻客栈6 小时前
B-深入理解计算机系统第3版之第11章:网络编程
开发语言·笔记·学习笔记·常驻客栈·深入理解计算机系统
旧梦95276 小时前
Java 单例模式:从基础到实战的完整指南
java·开发语言·单例模式
小小晓.7 小时前
C++ 值类别与完美转发深度剖析:从左值右值到 std::forward 源码解密
开发语言·c++·算法
格林威8 小时前
C# 相机Burst模式图像采集:使用相机内存配合OpenCvSharp和Halcon实现短时间的高速采集的方法
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
chen<>8 小时前
C++ 六种 memory_order:从原子性到线程间可见性.md
java·linux·开发语言·c++
一直C8 小时前
Linux系统编程|进程间通信IPC全套详解(1)(管道、信号)
linux·c语言·开发语言·网络·青少年编程·visual studio code
m0_734571768 小时前
深入理解C++ 类型转换<三>const_cast
开发语言·c++
luj_17688 小时前
合法避税与投资评估实战指南
c语言·开发语言·网络·经验分享·算法
J总裁的小芒果9 小时前
参数过多-分批传参
c#
二十雨辰9 小时前
[Java]-JVM面试题
java·开发语言·jvm