X



CMカット スレ★4
■ このスレッドは過去ログ倉庫に格納されています
0151名無しさん@編集中 (ニククエ e3b3-C0zt)垢版2018/11/29(木) 19:56:28.40ID:qS4bGbcs0NIKU
>>150
join_logo_scp試行環境フォルダ内のbinフォルダにある
bat_intools.batを編集して64行目の

>> "%file_avs_in%" echo LWLibavVideoSource(TSFilePath, repeat=true, dominance=%dominance%)

>> "%file_avs_in%" echo LWLibavVideoSource(TSFilePath, repeat=true, dominance=%dominance%, fpsnum=30000, fpsden=1001)
にする
LWLibavVideoSourceのオプションにfpsnum=30000, fpsden=1001を追記してるだけ
0152名無しさん@編集中 (ニククエ 1a11-C0zt)垢版2018/11/29(木) 21:23:05.14ID:XDriPRzI0NIKU
join_logo_scp試行環境言えば、
DGIndexで分離した音声をそのまま使うように出来ませんか?
FAWを通すとドロップによる無音部に後続のデータが詰め込まれ
音ズレするのでDGIndexで分離した音声をそのままaacfawで読み込みたいんですが
0155名無しさん@編集中 (ニククエ 1a11-C0zt)垢版2018/11/29(木) 22:15:37.09ID:XDriPRzI0NIKU
>>153
ts_parserの動作は覚えてないんですが、ドロップ欠けがあるaacを
fawclでwav(fake-aacに)変換するとドロップ箇所が詰められ音ズレするのは同じだと思います
0158157 (ワッチョイ 8723-4omT)垢版2018/11/30(金) 00:59:45.46ID:2dBGfPur0
ウチでは、
DGindexでだして
DGIndex.exe -SD=? -AIF=?%~1? -OFD=?%named2v%? -IA=3 -hide -exit
> "%file_avs_in%" echo TSFilePath="%nameinm2v%"
>> "%file_avs_in%" echo LWLibavVideoSource(TSFilePath, seek_mode = 2, seek_threshold = 0, repeat=true, dominance=%dominance%)

FAW使わずにbat_jlse_main.batで以下のようにトリミングしてました。
rem ##☆aacをトリミング
FOR /F "delims=* usebackq" %%t IN (`dir /b "work_tsp *ms.aac" "work_d2v *ms.aac"`) DO set nameinaac=%%t
if "%ADJUST_DELAY%" == "1" "%BINDIR%aacedit2.exe" "%nameinaac%" -x -t "%file_avs_cut%"
if not "%ADJUST_DELAY%" == "1" "%BINDIR%aacedit2.exe" -o "work_manual 0ms.aac" "%nameinaac%" -t "%file_avs_cut%"
0160名無しさん@編集中 (ラクッペ MMcb-0PpD)垢版2018/11/30(金) 10:38:53.03ID:ZOTCCnTXM
TSファイルをCUIで切り出し出来るソフトって無いでしょうか。
目的は沢山のTSファイルから(AT-Xの)ロゴがはっきり出てる部分だけをバッチ処理で切り出して保存する為です。

切り出し部分はフレーム数で指定したいですが、そこまで細かな切り出し出来なくてもGOP単位でも、時間指定でも問題ないです。
また欲しいのは映像部分だけですので、音ズレや無音であっても問題ないです。

何か良いアイデアかソフトありませんか?
0162名無しさん@編集中 (ワッチョイ 1a11-C0zt)垢版2018/11/30(金) 18:04:25.69ID:jTxOkiTf0
>>158
い、いったいどこの間に追記したらいいんだ・・って絶望してたけど、
intool.batのDGIndex箇所を改変して動くようになりました
数年前にセットアップしたときはチンプンカンプンだったんですが・・

こんな感じになりました

rem ##(別ツール使用例)DGIndex動作
rem ##------------------------------------------------
:label_dgindex
echo DGIndexを使用します
set named2v=work_d2v

DGIndex.exe -SD=? -AIF=?%~1? -OF=?%named2v%? -IA=3 -hide -exit

dir /o-n /B | findstr "PID *.aac" >audio.txt

set /P afile=<audio.txt

> "%file_avs_in%" echo MPEG2Source("%named2v%.d2v", idct=3)
>> "%file_avs_in%" echo AudioDub(last,AACFaw("%afile%"))
>> "%file_avs_in%" echo ConvertToYUY2(interlaced=true)
goto label_in_end
0168名無しさん@編集中 (ワッチョイ 2b50-UKyl)垢版2018/12/16(日) 15:41:43.12ID:5qaws3910
L-SMASH WorksをFFmpeg3.4.5でビルドし直した>>114

4.0.x使ったやつはRFFを認識しない不具合があって、
fps指定しないと音ズレするようになってた(>>143)のが直ってるはず

RFF無視でfps指定ってやり方だと、RFFが使用されてる区間が
縞なし24pになるから、あまり良くないかも
0179名無しさん@編集中 (ワッチョイ c27f-gU4v)垢版2019/01/24(木) 01:39:40.98ID:KSAjEZCf0
join_logo_scpでロゴ情報を使わずに任意のシーンチェンジを手動で選んで処理とかできないでしょうか。
WOWOWで放映された映画などは最初に長々とライブラリ(?)の動画が表示されるのを
カットするのが目的です。
以下のような JL ファイルで試すもうまくいかないのですが、何か間違ってますでしょうか。

# 本編 Start) 720 近辺 => 後述の場合は 739 スタート
Select S 0 -1.2 1.2 -fromabs 00:24.0 -reset
# 本編 End) 42750 近辺 => 後述の場合は 42718 エンド
Select E 0 -5.2 5.2 -fromabs 23:45.0 -reset
0180名無しさん@編集中 (ワッチョイ c27f-gU4v)垢版2019/01/24(木) 01:41:13.87ID:KSAjEZCf0
こんな感じになってしまいます。。。

2019-01-24 01:20:06 [CM解析結果 - TrimAVS]
Trim(0,45052)
2019-01-24 01:20:06 [CM解析結果 - 詳細]
0 101 3 12 3
102 251 5 0 5
252 401 5 0 5
402 551 5 0 5
552 737 6 7 6
739 3425 90 -10 90
3426 18760 512 -10 512
18761 20556 60 -2 60
20557 42718 739 14 739
42719 43167 15 -1 12
43168 44067 30 1 0
44068 44217 5 0 0
44218 45052 28 -5 28
0182名無しさん@編集中 (ワッチョイ c27f-+GGW)垢版2019/01/24(木) 02:01:08.68ID:KSAjEZCf0
>>181
TSsplitter 一応試してみました。
番組情報・PMT情報・音声チャンネル切り替え 全部有効で分割試してみましたが、
望みのようにはならないようです。

全自動であることが望みなのではなく、
検知されたシーンチェンジから、自分の好みのところでカットしたいのですが、
どうすれば実現できるのでしょうか。。。
Find も試してみましたがうまくいきません。。。

ちなみに、手動なら動画編集ソフトを使えと言われそうなのですが、
Amatsukazeを使ってエンコードをすると、KFM&VFRで音声をそのままで
エンコード(mp4コンテナ化)できるので、Amatsukazeとそこで使われている
join_logo_scpで上手にカットしたいです。
0184名無しさん@編集中 (ワッチョイ c27f-+GGW)垢版2019/01/24(木) 14:04:32.52ID:KSAjEZCf0
>>183
ありがとうございます。
Amatsukaze側にこんな機能があったとは気づきませんでした。
さっそく trim ファイルで処理してうまくいくようになりました。

それとは別に、
「検知されたシーンチェンジから、自分の好みのところでカットしたい」
の手法は存在しないってことになるのでしょうか?
0185名無しさん@編集中 (ワッチョイ c27f-+GGW)垢版2019/01/24(木) 14:06:19.59ID:KSAjEZCf0
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
0187名無しさん@編集中 (ワッチョイ e543-wD8z)垢版2019/01/24(木) 23:17:13.96ID:Ux7aNL6W0
>>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
0188名無しさん@編集中 (ワッチョイ c27f-+GGW)垢版2019/01/25(金) 01:16:13.12ID:fs8prrrQ0
>>187
非常に参考になりました。
自動推測は制御が難しいので、従来方式のみ使おうと、
GetPos→Forceでやったところうまくいきました。

GetPos S 0 -1.2 1.2 -fromabs
If $LASTEXE
Force S 0 -fromabs $POSHOLD
EndIf

うーん。
だったらSelectやFindでもできそうなのに。。。
一つはできる方法がわかったので、また試行錯誤してみます。
(単発なら、Trimファイルのほうが手っ取り早いですが、シリーズでやるときはこちらのほうが便利。)
0191名無しさん@編集中 (ワッチョイ c27f-+GGW)垢版2019/01/25(金) 12:30:42.56ID:fs8prrrQ0
>>189
いや、再度試したところ動かないですね。
推測ですが、もしかして -fromabs の後ろのフレーム数は時刻値不可で、
整数値しかうけいれてないのが原因かもしれません。。。

GetPos+Forceの >>188 テストのときには log からまんまフレーム番号をコピペしてて、
ここに貼るときに隠ぺいのために時刻値に書き直したので。
ちょっとテストします。
0193名無しさん@編集中 (ワッチョイ c27f-+GGW)垢版2019/01/26(土) 01:05:39.88ID:B3MOGBmE0
>>191
-fromabs は時刻値でも動いている模様です。。。ごめんなさい。
私が勝手に混乱をきたしている原因はログに出てくる Trim() の値とは別に、
PMT 更新情報と、音声チャンネル変更情報を裏で使ってくれている模様で、
私が思うフレーム番号と内部処理のフレーム番号が違うためのようです。

力不足で私の手におえない感じになってきましたが、
ちょっとずつ試行錯誤して、何かわかったら報告します。
0194名無しさん@編集中 (ワッチョイ e543-wD8z)垢版2019/01/26(土) 16:17:23.41ID:ZRYSRtKj0
>>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%"
0195名無しさん@編集中 (ワッチョイ 6eda-nz7m)垢版2019/01/26(土) 20:12:17.74ID:CJrGLPMg0
logoframe単体で動かすのがどうもうまくいかない
readmeに書いてある通り
logoframe.exe in_org.avs -logo hoge.lgd -oa logoframe.txt
としても、logoframe.txtには空ファイルが出力されるだけ
試行環境のバッチファイルでやると問題なく出力されるのに
0198179 (ワッチョイ c27f-+GGW)垢版2019/01/27(日) 01:15:44.58ID:4tmeR7wD0
>>194
わざわざありがとうございます。
join_logo_scp 環境自体は持っていて、
それを使えばエンコードなしCMカットの処理結果をチェックできるのですが、
やっぱりはカット後(エンコード後)の動画があったほうが分かりやすいので、
毎回Amatsukazeにエンコード(リトライ)させてます。
フィルタ最低限・画質最低限でNVenc使うと
30分番組が5分ぐらいで終わるので、その方式でやってます。
(今もまさにやってます)
0199179 (ワッチョイ c27f-+GGW)垢版2019/01/27(日) 01:31:29.62ID:4tmeR7wD0
わかりましたーーー!!!
「実験として先頭部分のみカットテスト」してたのが原因のようです。
Find S のみで、末尾の E が自動で入ると無意識に考えていました。

上から処理するという条件は読んでいたので、Eがどこにもマッチしなければ
Sだけ適用されると考えていましたが、
SとEがセットになって初めて有効になるというのが大条件のようです。
0200179 (ワッチョイ c27f-+GGW)垢版2019/01/27(日) 01:38:03.97ID:4tmeR7wD0
>>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 のときにうまくいかなかったのも同様の原因かと思うので)
0201名無しさん@編集中 (ワッチョイ e543-wD8z)垢版2019/01/27(日) 18:40:52.43ID:3hDnN1SI0
JLスクリプト部分を何度も修正する場合、join_logo_scp本体のみ起動すると効率が上がります。
(時間のかかるロゴと無音シーンチェンジ検出は最初に一度だけ実行)

Amatsukazeでは「一時ファイルを削除せずに残す」にチェック入れたら
一時ファイルをロゴと無音シーンチェンジ入力に利用できました。

一瞬でCMカット結果位置が出力されるので、何度も気軽にJLスクリプト修正できます。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況