foltiaで全自動CMカットを実現しよう

Posted on 2013/10/15 (火) 3:46
Filed Under foltia | 1 Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

民生機ではわりと一般的になってるCMカットを実装したくて色々調べていたら、2ちゃんねるのCMカットスレで良さそうな情報を見つけた。

536 :名無しさん@編集中:2013/10/05(土) 22:23:02.74 ID:iNl1yeOz
comskip81_056を一日弄っていたけど、CMスキップ楽勝だね、アニメじゃなくても。
先人に感謝。
detect_method=255、min_show_segment_length=125、punish=28
.vdr(output_vdr=1)で出力すると加工は楽です。
自分はバッチでchapters.txtにしてから、空橋さんの「gen_.chapters.txt_to_.chapter(チャプタースキップ用)b.bat」を通してTVTplayで見ている。
Avisynth要りません。まあcomskipはtrimコマンド出力できるので入用な人は大丈夫ですね。

http://toro.2ch.net/test/read.cgi/avi/1140501201/536n

ほほうと思って試してみたところとりあえず動いたのでメモ代わりにここに書いておく。

試した環境:CentOS6.4/64bit,ffmpeg1.2.5,comsip81_0.56(comskip.org)、comskip.iniに536さんの設定を書いた。

手順1:TSからCM検出する。

wine /home/foltia/comskip81_056/comskip.exe -t -d 255 -v 2 --zpcut --zpchapter --videoredo --csvout --quality --plist --ini=comskip.ini ./3027-12-20130924-0135.m2t

#必要ない形式のカットファイルも吐いてるんで、そのうち見直す。

手順2:検出された本編部分を切り出す。

ffmpeg -y -i ./3027-12-20130924-0135.m2t -c copy -ss 00:01:02.56 -t 00:00:36.72 -sn ./3027-12-20130924-0135_0001.ts
ffmpeg -y -i ./3027-12-20130924-0135.m2t -c copy -ss 00:02:39.46 -t 00:11:02.63 -sn ./3027-12-20130924-0135_0002.ts
ffmpeg -y -i ./3027-12-20130924-0135.m2t -c copy -ss 00:15:12.88 -t 00:12:46.87 -sn ./3027-12-20130924-0135_0003.ts

ffmpegが理解できるタイムスタンプの形式がcomskipで吐いてくるのとは若干異なるのでいまんところちょっとした計算が必要になる。

手順3:切り出した本編をくっつける。

ffmpeg -i "concat:3027-12-20130924-0135_0001.ts|3027-12-20130924-0135_0002.ts|3027-12-20130924-0135_0003.ts" -c copy 3027-12-20130924-0135-CUT.ts

concatオプションが使えるようになったのがffmpeg1.1以降らしいのでそれ以降のもので。

上のサンプルで作ったのをDLNA経由でPS3で再生したのがこの画面。30分アニメの尺が24:26に短くなってるのがわかる。
foltia CMカット

ffmpegはGOP関係なく指定したタイムスタンプでぶった切っているようなんで、そのへんは今後の課題の予定。mencoderはスマートなんとかで切れる説も。

TSをCMカットせずに、MP4にチャプタを入れたい場合は、ググればMP4Boxでチャプタを追加するようなやり方が見つかりそうなんでその辺を参考に。

おまけ
当初、mencoderにedl読ませてカットしようとしたらなぜか途中までしか処理されなかった。avidemuxでカット編集しようとしたらクラッシュして正常動作しなかった。mplexもSegmentation Faltを起こして期待通り動作しなかった、mkvmergeは複数のmkvを連結するような機能はなかった、などいろいろ試して上の結果となった。

CentOS5からCentOS6へLVMを持って行ったら認識しなくなった時の解決方法

Posted on 2013/10/11 (金) 17:27
Filed Under 技術 | Leave a Comment | TrackBack | ̃Gg͂ĂȃubN}[Nɒlj Share on Tumblr

CentOS5で使っていたマシンのOSをCentOS6に入れ替えようとして、CentOS6で起動したらいままで動作していたLVMが認識されなくなった。
構成は次の6台
2TB(起動ディスク)
3TB
2TB
2TB
2TB
3TB

CentOS6で起動するとこんな状態になっていて、PVが2本見つからないと言い出し3TBドライブがunknown deviceになっていた。

#内容のコピペがなくスクショしかなかったのでこれで。

結論から言うと、CentOS5上では動いていた、3TBディスクの上にGPTパーティションテーブルで1パーテーションをつくり作成したPV(作成例:pvcreate /dev/sdf1)がCentOS6では認識されていなかった。
ので、CentOS5上でpvmoveを駆使して、3TBドライブをドライブ全体をPV作成例:pvcreate /dev/sdf)にする構成に作り直したところ、無事にCentOS6上でも全PVが認識され、VG,LVもそのまま認識された。めでたしめでたし。

参考:「4.2. 物理ボリュームの管理 - Red Hat Customer Portal

ところで、CentOS6.3/RHEL6.3からLVMが冗長構成を取れるようになっていたのを初めて知った。そのうち検証する予定。
4.4.15. RAID 論理ボリューム - Red Hat Customer Portal

Recently


Categories


Archives


Wish list

宗子さんのほしい物リスト2015/5-
Pages (151): [1] 2 3 4 5 6 7 8 9 10 11 ... Last »