†ぽんこつビデオ工房†
作成開始日 2018.03.10
最終更新日 2018.03.10
ffmpeg -i inpfile …… outfile 2>&1 | nkf -s -uポイントは、ffmpegのログは標準出力(stdout:1)ではなく、標準エラー出力(stderr:2)に出力される点。そこで、「2>&1」で標準エラー出力を標準出力にリダイレクトして、nkfに食わせている。また、nkfのオプションの「-s」はShift-JIS(SJIS)出力指定、「-u」は出力のバッファリングを無効化。「-u」を指定しないと、途中経過が数分に一度程度しか表示さない。
【注意】この方法では上書き警告が出ないことがあるようだ(詳細は未検証)。
【参考】これ応用すれば、ログ出力のうち、必要な行だけ出力するバッチも作成できるかも…と思ったが、ちょっと難しそう。バッチは、通常の方法ではstdinからの入力を受け取れないようなのだ(コマンドライン引数はstdinではないらしい)。ネットで「find /v ""」を使うと言う裏技は見つけたが、これだと、ffmpegの出力の終了を検出できないような…今後の課題。
【参考】出力ではなく、コンソール(コマンドライン窓)の方をUnicode化する方法もあるが、あまり上手くいかない。通常の日本語モード(CP=932)でフォントを「MSゴシック」に設定したあと、