私たちのチームでは、外部のサード パーティ コードを呼び出して、C# コードからの出力を処理する必要があるという選択に直面しました。
サードパーティのコードは 2 つの形式で利用可能です:dll
のセットと単一のexe
ファイル (おそらくこれらの を単独で呼び出していますdll
)。考えられるアプローチは次のとおりです。Process.Start
ステートメントを使用して実行可能ファイルを実行し、その出力をキャッチします。もう一つは、dll
直接電話することです。
どのアプローチを使用すべきかを理解しようとしています。
実行可能ファイルの呼び出しは単純ですが、堅牢ではありません。
呼び出しは、ジョブを実行するためのより適切な方法のように見えますが、ネイティブコードに含まれるすべての関数にバインドdll
を提供するのは、非常に複雑なタスクになる可能性があります。C#
C
しかし、最終決定を下すには、このトピックに関するより実質的な分析が必要です。以前に同じ質問に直面した人はいますか?あなたの発見を共有できるかもしれません.
それは非常に便利です!
編集:この特定のケースでのビデオ変換について話しています。ユーザーからビデオ ストリームを取得し、それを 1 つのビデオ形式に変換する必要があります。仕事をするために電話をかけることは可能でffmpeg
あり、何かがうまくいかず、エンコーディングを再開するか、何らかの措置を講じる必要があるまで、すべて問題ありません. どれくらいの時間がかかるかを見積もることができませんでした.複数のビデオを並行して変換する必要がある場合、ffmpeg
私が計画しているように、それほど柔軟ではありません...
少なくとも私が今見ているように。掘り下げていくと、さらに多くの問題が発生する可能性があります。