12/09/26 00:59:49.94 JrvFZfQg
しょぼいですが、今日までにできたコードを落としておきます。
前提環境: Ubuntu, ffmpeg, MP4Box, gccとかビルドツール類
ts_cd: tsから抽出したPCM(.wav)から無音区間を検出してCMかそうでないか判定するしょぼいプログラム
URLリンク(pastebin.com)
cm_cut.sh: 上記の処理結果を利用してCMらしきものとかCMじゃないものまでカットしてmp4作成するスクリプト
URLリンク(pastebin.com)
動作原理:
tsから音声を抽出して、無音区間で区切っていったら15秒ないし30秒くらいで分かれているところがあるので、なんとなくそれがCMじゃないかと思って無慈悲なカットを行う。
放送局や番組ごとに勝手が違うと思うけど、その辺の知識ゼロから始めているのでダメ過ぎると思いますが、親切な人いたらご指導ください。
将来はCMデータベースをローカルに作ってDPマッチングか何か適当なアルゴリズムで認識させる学習型CMカットツールにしようと思ってます。