Comskipを使って録画データのCMを全自動でカットするスクリプト

先日PT3+Chinachuな録画サーバーを構築したお話をしたわけですが、現在はもっぱらアニメを録画させています。ほとんど見てないけど。

30分の番組を録画してファイルサイズは大体3GB弱。非常にかさばります。もちろんエンコすることでコンパクトに出来るんですが、その前に邪魔なCMを消すことでよりスマートにしようというのが今回の目的であります。

CMをカットするスクリプトといえば、ComskipBatch.rbというrubyで書かれたスクリプト。これを使ってコマンドを打てば手動でCMカットの処理をさせることができるのですが、今回はシェルスクリプトとcronの力を使って全自動でカットさせてしまいたいと思います。

また、CMカットが正常に出来たかも簡易的に判定するようにしました。

Comskipとffmpegのインストールは上記の解説ページ通りにやれば大丈夫でした。

ffmpegのインストールに関してもリンクが張られています。ubuntu14.04 にffmpegをインストールする – UbuntuによるEco Linuxサーバ構築記がそのリンク先なのですが、ここに書かれているコードを全部コピーしてシェルスクリプトとして実行すればワンタッチでいけました。すごい。

最後のエンコードテストだけファイルがないといってエラーになったので、ここは手動でやり直しましたけどね。

というわけで、Comskipとffmpegのインストールが終わったら早速シェルスクリプトを書きましょう。

※この記事に掲載しているスクリプトですが、どうやら動画の長さを正しく判定できなかったりしてなんやかんやうまく動かない場合があるようです。
もし利用する場合はご自分で色々調整されることをオススメ致します。

Continue reading