複数個のflvファイルをC#で効率よくマージする方法を教えてください。
C#では、ffmpegライブラリを使って、複数のFLVファイルの高速結合が実現できます。
まず、ffmpegライブラリをインストールして、あなたのプロジェクトに追加してください。
次に、以下のコードを使用して複数の FLV ファイルをマージできます。
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
// 输入的FLV文件路径列表
string[] inputFiles = { "file1.flv", "file2.flv", "file3.flv" };
// 输出的合并后的FLV文件路径
string outputFile = "merged.flv";
// 构建ffmpeg的命令行参数字符串
string inputArgs = string.Join(" ", Array.ConvertAll(inputFiles, f => $"-i \"{f}\""));
string outputArgs = $"-c copy \"{outputFile}\"";
// 合并FLV文件
Process ffmpeg = new Process();
ffmpeg.StartInfo.FileName = "ffmpeg";
ffmpeg.StartInfo.Arguments = $"{inputArgs} {outputArgs}";
ffmpeg.StartInfo.UseShellExecute = false;
ffmpeg.StartInfo.RedirectStandardOutput = true;
ffmpeg.Start();
ffmpeg.WaitForExit();
Console.WriteLine("合并完成!");
Console.ReadLine();
}
}
上記のコードでは、最初に、入力FLVファイルパスのリストinputFilesと、出力の結合後FLVファイルパスoutputFileを定義します。その後、string.Joinメソッドを用いて、入力ファイルリストをffmpegのコマンドライン引数文字列に変換します。
続いて、Processオブジェクトを作成し、FileNameをffmpeg実行ファイルへのパス、Argumentsを先ほど構築したコマンドライン引数の文字列にそれぞれ設定します。その後、ffmpegプロセスを起動して終了するまで待ちます。
最後に、完了メッセージをコンソールに出力する。
ffmpegが正しくインストールされており、実行可能ファイルのパスがシステム環境変数に追加されていることを確認してください。