CMDでメタデータ出力(test.mp3のメタデータをout.txtに出力)
============
ffmpeg -i "test.mp3" -f ffmetadata "out.txt"
============
C#で投げてtxtに出力(test.mp3のメタデータをout.txtに出力)
============
var proc = new Process();
proc.StartInfo.FileName = "ffmpeg.exe";
proc.StartInfo.Arguments = string.Format("-i {0} -f ffmetadata {1}", "\"" +test.mp3 + "\"","out.txt");
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.UseShellExecute = false;
proc.Start();
proc.WaitForExit();
proc.Close();
============
↓暫定
C#でtextboxに表示(test.mp3の情報をtextboxに出力)
============
var proc = new Process();
proc.StartInfo.FileName = "ffprobe.exe";
proc.StartInfo.Arguments = string.Format("-i {0} -hide_banner", "\"" +test.mp3 + "\"");
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardError = true;
proc.Start();
textBox.Text = proc.StandardError.ReadToEnd();
proc.WaitForExit();
proc.Close();
============
ffprobeから情報を拾ってくる
エラーは出てないのになぜかRedirectStandardOutputではなくRedirectStandardErrorに出力されるが、メタデータを含む情報を取得できる。
日本語が文字化けしてたら文字コード問題
CMDでメタデータを書き込み(out.txtのメタデータをtest.mp3に書き込みtest2.mp3で出力)
============
ffmpeg -i "test.mp3" -i "out.txt" -map_metadata 1 -codec copy "test2.mp3"
============
音声を再エンコードする必要がないので-codec copyで飛ばしている
同名のファイルへ出力しようとするとエラーになる(上書き的なことはできない?)
out.txtの文字コードがShift_JIS(ANSI)だと文字化けするのでUTF8(BOM無し)等にすること