ffmpegを使いこなしたい
FirstUPDATE2017.3.24
@Scribble #Scribble2017 #Windows #PC #プログラミング 単ページ ffmpeg コマンドライン 引数 コピペ

あなたはPCを何に使ってますか?と問われれば、みなさんはどう答えるでしょうか。

ま、ややこしいので仕事(OfficeやAdobeやCADなんかのソフトを使う)とゲームは除きます。何で除くかと言われると答えに窮するんだけど、とりあえず除く。
アタシでいえば、うーん、ひと言でいえば「自動化」ですかねぇ。自動化が必要なことはPCでやりたいし、逆にたいして自動化が必要でないことは、まァ、スマホでも構わない、というか。

PCで自動化を行うにあたって、差し当り必要なのはスクリプトです。
何度も書いてるけど、アタシが使えるスクリプトは「MortScript」っていう、もう今となっては誰も知らないようなものだけ。あとJavaScriptも多少はわかるけど、こっちはスマホでしか使わないし。
MortScriptは設計が古くて、SHIFT_JIS以外の文字コードがまともに扱えない。だからそれなりに工夫しないと使えないのですが、それでももう10年以上使っているので、回避のさせ方もわかってるし、バッチファイルと組み合わせて右クリックの「送る」からファイルを指定してスクリプトを実行させる、なんてこともできる。

ま、不都合っちゃ不都合だけど、とりあえず不具合もなく使えるわけで、他のスクリプトを覚える理由がない。
それでもMortScript単体でできるのは、たとえばフォルダ内のファイルを全部法則に従ってリネームするとか、限られてるといえば相当限られています。
そこで他のソフトとの連携が必要になってくる。実際連携をカマしてやると、かなりの「自動化」はMortScript経由でできるのです。

ffmpegを使い出したのは相当前です。コマンドラインから動画や音声をイジる、となったら、たぶんこれしかないのですか、そうはいっても簡単なことしかやってなかった。
動画をMP3にする、なんてのはMortScript+ffmpegの組み合わせが一番簡単にできる。順番としては、動画ファイル→バッチファイル→MortScript→ffmpeg、みたいな感じです。
でも動画のMP3化なんてffmpegの基礎の基礎で、ffmpegの機能はそんなもんじゃない。実に実に多機能です。
ただし使いこなそうと思えば、これがかなり苦労する。別にコマンドを全部覚える必要はないんだけど、とにかく厄介なのが「ネットに書いてある通りにやっても上手く動かない」ことが非常に多いのです。

これはもうしょうがないんだけど、アタシは本当の意味でPCのことは詳しくないんです。
そりゃ無駄に歴は長いし、必要なソフトの使い方にかんしては、ほぼ完璧に把握しているつもりです。
でもそれは表層なんですよ。いや表層しかわかってないってことがわかるのは、それこそかつてBASICやアセンブラをかじってたからなんだろうけど、ソフトの「使い方」はわかっても「プログラムの挙動」を本当に理解しているかと言われれば、まったくしてない、としかいえないのです。

コマンドラインで操作するソフトなんか最たるもので、プログラムの挙動がわかってないから似たようなミスを繰り返す。何回か失敗していくうちに成功体験も失敗体験も増えていくから、何となく「思った通りに動く」ようにはできるようになるけど、次に「ほとんど同じだけど、少し違う」みたいなコマンドラインを書こうと思ったら、また同じだけの失敗を繰り返さなきゃできない。
しかもffmpegはビルドによって受け付けるコマンドが微妙に違うのか、ネット情報でサンプルとなってるものをまんまコピペしても上手く動かなかったりする。

んで、しつこく検索をかけて、手直しして、何とか動くようになる、といったことを繰り返さなきゃいけない。
これだってプログラムの挙動がわかっていれば応用が効くというか、もっと理論的に「ネットではこうなってるけど、ここはこうしなきゃダメ」みたいなのがわかるはずなんです。
そーゆー意味で、ffmpegは非常に扱いづらい。
もちろんプログラムの挙動を把握している人にとっては、極めて優秀なソフトだと思うんですよ。でもアタシはそうじゃない。かといって今さらプログラムのイロハを覚えようなんて気もない。スクリプトで手一杯なのに。

アタシが当面やりたいこと、それは音楽アルバムをひとつの動画にすることです。
これもね、アルバムジャケット画像を用意して音楽ファイルと結合、くらいならできるんですよ。
でも字幕として曲のタイトルを入れようとすると、これがまったく上手くいかない。ASSファイルを上手く読み込んでくれない。

もちろんPhotoshopなんかで曲タイトルを入れた画像を作ればいいんだけど、それが面倒だから字幕で入れたいのに(字幕でイケるならスクリプト一発で完成する)、何をどうやっても、ダメなわけで。
それこそプログラムの挙動がわかってる人がアタシの作ったコマンドラインを見たら「なーにやってんだか。こんなんじゃ上手くいかないに決まってんだろ」みたいに思うんだろうな。

かといって、仮にボロカスに言われたとしても教えてくれる知人なんかいないし、結局は自分の力で失敗を繰り返すしかない、と思うだけで、ほんのちょっと嫌になる。







Copyright © 2003 yabunira. All rights reserved.