CMカット スレ★4at AVI
CMカット スレ★4 - 暇つぶし2ch181:名無しさん@編集中
19/01/24 01:43:59.08 yP7mP4TL0.net
WOWOWソースはTSsplitter通すのが一番早いかな

182:名無しさん@編集中
19/01/24 02:01:08.68 KSAjEZCf0.net
>>181
TSsplitter 一応試してみました。
番組情報・PMT情報・音声チャンネル切り替え 全部有効で分割試してみましたが、
望みのようにはならないようです。
全自動であることが望みなのではなく、
検知されたシーンチェンジから、自分の好みのところでカットしたいのですが、
どうすれば実現できるのでしょうか。。。
Find も試してみましたがうまくいきません。。。
ちなみに、手動なら動画編集ソフトを使えと言われそうなのですが、
Amatsukazeを使ってエンコードをすると、KFM&VFRで音声をそのままで
エンコード(mp4コンテナ化)できるので、Amatsukazeとそこで使われている
join_logo_scpで上手にカットしたいです。

183:名無しさん@編集中
19/01/24 02:08:37.61 CNavJWce0.net
>>182
Amatsukazeならtrimファイル自分で書いて入力できるよ
URLリンク(github.com)位置入力

184:名無しさん@編集中
19/01/24 14:04:32.52 KSAjEZCf0.net
>>183
ありがとうございます。
Amatsukaze側にこんな機能があったとは気づきませんでした。
さっそく trim ファイルで処理してうまくいくようになりました。
それとは別に、
「検知されたシーンチェンジから、自分の好みのところでカットしたい」
の手法は存在しないってことになるのでしょうか?

185:名無しさん@編集中
19/01/24 14:06:19.59 KSAjEZCf0.net
trim ファイルのテンプレを作る bat ファイルも作ったので貼っておきます。
ts ファイルを D&D すればまとめてテンプレファイルが出来上がります。
@echo off
setlocal disabledelayedexpansion
set BASEDIR=%~dp0
cd /d %BASEDIR%

if exist %1 goto loop
goto end

:loop
if not exist %1.trim.avs echo Trim( , ) > %1.trim.avs
shift
if exist %1 goto loop

:end

186:名無しさん@編集中
19/01/24 21:34:27.24 H4lL5jzhM.net
>>185
横からだかサンクス
こういうの欲しかった

187:名無しさん@編集中
19/01/24 23:17:13.96 Ux7aNL6W0.net
>>184
「検知されたシーンチェンジから、自分の好みのところでカットしたい」
として、JLスクリプトの最後にAutoDelを追加して使っています。
# 先頭10+5秒構成カット(5秒部分最後は無音あればシーンチェンジなしでもカット)
GetPos S 20.0 0.0 40.0 -fromabs 0.0 -RSC -10.2 -9.8 -RSM 4.9 5.1
If $LASTEXE
AutoDel S 5.0 4.8 5.2 -code 2 -fromabs $POSHOLD -force -EndHead
EndIf

188:名無しさん@編集中
19/01/25 01:16:13.12 fs8prrrQ0.net
>>187
非常に参考になりました。
自動推測は制御が難しいので、従来方式のみ使おうと、
GetPos→Forceでやったところうまくいきました。
GetPos S 0 -1.2 1.2 -fromabs
If $LASTEXE
Force S 0 -fromabs $POSHOLD
EndIf
うーん。
だったらSelectやFindでもできそうなのに。。。
一つはできる方法がわかったので、また試行錯誤してみます。
(単発なら、Trimファイルのほうが手っ取り早いですが、シリーズでやるときはこちらのほうが便利。)

189:名無しさん@編集中
19/01/25 01:18:45.28 fs8prrrQ0.net
一部欠けてました。
いかに修正します。
GetPos S 0 -1.2 1.2 -fromabs 24.0
If $LASTEXE
Force S 0 -fromabs $POSHOLD
EndIf

190:名無しさん@編集中
19/01/25 06:28:34.65 Y+5Q/eCn0.net
>>188
従来方式のSelect位置決めはJL_ATXが参考になります。
おそらくSelectに-logoextつけて検索範囲を広げる必要あり、と思います。

191:名無しさん@編集中
19/01/25 12:30:42.56 fs8prrrQ0.net
>>189
いや、再度試したところ動かないですね。
推測ですが、もしかして -fromabs の後ろのフレーム数は時刻値不可で、
整数値しかうけいれてないのが原因かもしれません。。。
GetPos+Forceの >>188 テストのときには log からまんまフレーム番号をコピペしてて、
ここに貼るときに隠ぺいのために時刻値に書き直したので。
ちょっとテストします。

192:名無しさん@編集中
19/01/25 21:55:18.45 hmyjezi90.net
AmatsukazeでCM解析したらtrim.avsを出力してくれたらなぁって思いました。

193:名無しさん@編集中
19/01/26 01:05:39.88 B3MOGBmE0.net
>>191
-fromabs は時刻値でも動いている模様です。。。ごめんなさい。
私が勝手に混乱をきたしている原因はログに出てくる Trim() の値とは別に、
PMT 更新情報と、音声チャンネル変更情報を裏で使ってくれている模様で、
私が思うフレーム番号と内部処理のフレーム番号が違うためのようです。
力不足で私の手におえない感じになってきましたが、
ちょっとずつ試行錯誤して、何かわかったら報告します。

194:名無しさん@編集中
19/01/26 16:17:23.41 ZRYSRtKj0.net
>>193
CMカット部分だけ確認するbat ファイルを貼ります。
設定ファイル場所に使うものを記載して
(JL_CHAPはCMカット途中に出力される生成結果で"SCPos:"が含まれているファイル)、
jls_test.bat等ファイル名を付けて実行したら結果を確認できます。
REM 設定ファイル場所
set JL_BIN=join_logo_scp.exe
set JL_NAME=JL_従来標準.txt
set JL_CHAP=obs_chapterexe.txt
set JL_LOGO=
set OUT_TRIM=out_trim.avs
set OUT_JLS=out_jls.txt
"%JL_BIN%" -incmd "%JL_NAME%" -inscp "%JL_CHAP%" -inlogo "%JL_LOGO%" -o "%OUT_TRIM%" -oscp "%OUT_JLS%"

195:名無しさん@編集中
19/01/26 20:12:17.74 CJrGLPMg0.net
logoframe単体で動かすのがどうもうまくいかない
readmeに書いてある通り
logoframe.exe in_org.avs -logo hoge.lgd -oa logoframe.txt
としても、logoframe.txtには空ファイルが出力されるだけ
試行環境のバッチファイルでやると問題なく出力されるのに

196:名無しさん@編集中
19/01/26 20:40:13.20 eimlI25B0.net
試行環境のバッチから
そこだけ切り抜いてみては

197:名無しさん@編集中
19/01/26 20:42:19.57 CJrGLPMg0.net
失敬
ロゴかわてったわ…

198:179
19/01/27 01:15:44.58 4tmeR7wD0.net
>>194
わざわざありがとうございます。
join_logo_scp 環境自体は持っていて、
それを使えばエンコードなしCMカットの処理結果をチェックできるのですが、
やっぱりはカット後(エンコード後)の動画があったほうが分かりやすいので、
毎回Amatsukazeにエンコード(リトライ)させてます。
フィルタ最低限・画質最低限でNVenc使うと
30分番組が5分ぐらいで終わるので、その方式でやってます。
(今もまさにやってます)

199:179
19/01/27 01:31:29.62 4tmeR7wD0.net
わかりましたーーー!!!
「実験として先頭部分のみカットテスト」してたのが原因のようです。
Find S のみで、末尾の E が自動で入ると無意識に考えていました。
上から処理するという条件は読んでいたので、Eがどこにもマッチしなければ
Sだけ適用されると考えていましたが、
SとEがセットになって初めて有効になるというのが大条件のようです。

200:179
19/01/27 01:38:03.97 4tmeR7wD0.net
>>191
ということで、こんな感じでSとEの両方を設定すると問題なく動作するようになりました。
GetPos S 0 -2.2 2.2 -fromabs 10.0 -RSMA -4.5 0
If $LASTEXE
Force S 0 -fromabs $POSHOLD
EndIf
Find E 0 0 0
おそらく、Find でも動くようになるんじゃないかと思います。
(Find のときにうまくいかなかったのも同様の原因かと思うので)

201:名無しさん@編集中
19/01/27 18:40:52.43 3hDnN1SI0.net
JLスクリプト部分を何度も修正する場合、join_logo_scp本体のみ起動すると効率が上がります。
(時間のかかるロゴと無音シーンチェンジ検出は最初に一度だけ実行)
Amatsukazeでは「一時ファイルを削除せずに残す」にチェック入れたら
一時ファイルをロゴと無音シーンチェンジ入力に利用できました。
一瞬でCMカット結果位置が出力されるので、何度も気軽にJLスクリプト修正できます。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch