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

小笨蛋快去试试吧

相关推荐
2601_962885722 小时前
如何用 Python 自动识别股票的支撑位与压力位?
开发语言·python
爱吃奥利奥_wen2 小时前
面向对象三板斧:封装、继承、多态,到底在“装“什么、“承“什么、“变“什么?
开发语言·经验分享·c#
我可能是个假开发2 小时前
FTP Unicode 文件名导致 `550` 的问题分析与解决方案
java·开发语言·spring
WL学习笔记3 小时前
日期类(C++)
开发语言·c++·日期类实现
Android系统攻城狮4 小时前
Linux Gstreamer深度解析之gst_audio_encoder_set_frame_max调用流程与实战(六十一)
android·linux·运维·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
谢亮_vipxieliang4 小时前
Go map与结构体的正确使用
开发语言·golang·哈希算法
H.莓飛4 小时前
【C++】命名空间、缺省参数、函数重载与引用
linux·开发语言·c++·visual studio
xxwl5854 小时前
数据结构知识点和代码实现总结(C语言实现)
c语言·开发语言·数据结构
code2cat8 小时前
Java进阶篇之AtomicMarkableReference:引用还在,标记已经改变
java·开发语言·cas·并发编程·逻辑删除
CappuccinoRose8 小时前
FormData数据处理
开发语言·前端·javascript·表单数据