Как перенести звук из одного mp4 файла в другой mp4 файл через FFMPEG на C#

Есть программа скачивает 2 файла, в ПЕРВОМ есть и звук и картинка, во ВТОРОМ только звук. Надо перенести звук из ПЕРВОГО файла во ВТОРОЙ (перезаписать или создать новый, как получится) используя библиотеку ffmpeg(если знаете другую библиотеку для таких задач, то посоветуйте)

Суть в том что я вообще не понимаю как работать с ffmpeg на C#, да документацию читал, но к результатам это не привело...

Простите за плохой вид кода, уже устал переписывать

Код на C#

using System.IO;
using System;
using VideoLibrary;
using System.Linq;
using FFmpeg.AutoGen;
using FFMpegCore;

class Program
{
    static void Main(string[] args)
    {

        string uri = "https://www.youtube.com/watch?v=oGRmEKLnFIs";
        var youTube = YouTube.Default;
        var video = youTube.GetVideo(uri);

        string fullName = video.FullName;

        var videoInfos = youTube.GetAllVideosAsync(uri).GetAwaiter().GetResult();
        var maxResolution = videoInfos.First(i => i.Resolution == videoInfos.Max(j => j.Resolution));
        var audio = videoInfos.First(i => i.AudioBitrate == videoInfos.Max(j => j.AudioBitrate));


        byte[] bytes_video = maxResolution.GetBytes();
        byte[] bytes_audio = audio.GetBytes();

        string video_path = @"C:\" + fullName + "V.mp4";
        string audio_path = @"C:\" + fullName + "A.mp4";
        string out_path = @"C:\Output.mp4";

        File.WriteAllBytes(video_path, bytes_video);
        File.WriteAllBytes(audio_path, bytes_audio);
        File.WriteAllBytes(out_path, null);
        MargeAudioVideo(video_path, audio_path, out_path);

    }

    static public void MargeAudioVideo(string path_video, string path_audio, string output)
    {
        //ffmpeg.avdevice_register_all();
        Console.WriteLine("reg");
        FFMpeg.ReplaceAudio(path_video, path_audio, output);
        Console.WriteLine("end!");
        
    }
}

Спасибо


Необработанное исключение: System.ComponentModel.Win32Exception: Не удается найти указанный файл
   в System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   в System.Diagnostics.Process.Start()
   в Instances.ProcessArguments.Start()
   в Instances.Instance.Start(ProcessStartInfo startInfo, EventHandler`1 outputHandler, EventHandler`1 errorHandler)
   в Instances.Instance.Finish(ProcessStartInfo startInfo, EventHandler`1 outputHandler, EventHandler`1 errorHandler)
   в Instances.Instance.Finish(String path, String arguments, EventHandler`1 outputHandler, EventHandler`1 errorHandler)
   в FFMpegCore.Helpers.FFProbeHelper.VerifyFFProbeExists(FFOptions ffMpegOptions)
   в FFMpegCore.FFProbe.PrepareInstance(String arguments, FFOptions ffOptions)
   в FFMpegCore.FFProbe.PrepareStreamAnalysisInstance(String filePath, FFOptions ffOptions)
   в FFMpegCore.FFMpeg.ReplaceAudio(String input, String inputAudio, String output, Boolean stopAtShortest)
   в Program.MargeAudioVideo(String path_video, String path_audio, String output) в C:\Users\vital\source\repos\SwiftLoaderMain\SwiftLoader\Program.cs:строка 42
   в Program.Main(String[] args) в C:\Users\vital\source\repos\SwiftLoaderMain\SwiftLoader\Program.cs:строка 34

Ответы (0 шт):