@fuzigiwa2 (義将 藤極)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

OSX向けアプリよりffmpegが呼び出せない

Unityで開発を行っております。
OSX向けアプリにffmpegを組み込みたく思い、macPCにffmpegをインストールして、
以下のようなコードを作成いたしました。

private IEnumerator ffmpeg( string a_path )
{
 input = "\'"+a_path+"\'";
 output = "\'"+UnityEngine.Application.persistentDataPath + "/work/"+"hoge.mp4"+"\'";

 string ffmpegExePath = "ffmpeg ";
 Process process = new Process();


 string option = "-i";
 option += " "+input;
 option += " -vf";
 option += " scale=480:270";
 option += " -an";
 option += " -preset veryfast";
 option += " -tune film";
 option += " -crf 23";
 option += " -threads 2";
 option += " "+output;

 string l_cmd = ffmpegExePath + option;

 process.StartInfo.FileName = "/bin/bash";
 process.StartInfo.Arguments = "-c \" " + l_cmd + " \"";
 process.StartInfo.CreateNoWindow = true;
 process.StartInfo.UseShellExecute = false;
 process.StartInfo.RedirectStandardError = true;
 process.StartInfo.RedirectStandardOutput = true;

 process.EnableRaisingEvents = true;
 process.ErrorDataReceived += new DataReceivedEventHandler(ProcessErrorDataReceived);
 process.OutputDataReceived += new DataReceivedEventHandler(ProcessOutputDataReceived);
 process.Exited += new EventHandler(ProcessExited);

 process.Start();
 process.BeginOutputReadLine();
 process.BeginErrorReadLine();
}

しかし、

/bin/bash: ffmpeg -i '/Users/hoge/dev/unity/動画テスト 5%u20106 圧縮.mp4' -vf scale=480:270 -an -preset veryfast -tune film -crf 23 -threads 2 '/Users/hoge/Library/Application Support/HOGE/HOGE App/work/hoge.mp4' : No such file or directory

とエラーが返ってまいります。
「ffmpeg -i」からのコマンドをコピペしてターミナルで確認した際はffmpegが起動することを確認しております。

l_cmdを「ffmpeg -version」に変更してバージョンを確認できるか試したところ「/bin/bash: ffmpeg: command not found」と返ってきており、
ffmpegをコマンドとして認識していないのではないかと考えられます。

こちら「ffmpeg」を呼び出すにはどうしたらよろしいのでしょうか。
現在確認はUnityエミュレーター上で行っております。

Unityバージョンは「2020.3.1f1」を使用しております。

よろしくお願い致します。

0 likes

1Answer

推測ですが、Unityエミュレーター上では、PATH環境変数が異なっているのではないでしょうか?

試しに、ffmpeg をフルパスで指定したら動かないでしょうか?

0Like

Your answer might help someone💌