CMカット スレ★4
■ このスレッドは過去ログ倉庫に格納されています
>>92
設定は正しいです。15秒CM構成認識できているなら可能性としては
MkLogoの場合、位置はAuto系コマンド開始前に入れる
最後位置に挿入するなら下記設定で可能です。
AutoIns E 2000 1500 2500 -N -1 -EndLen 450 440 460 -code 1 >>93
ありがとうございます
mklogoの方は上手く動かせんでしたが、
AutoInsで目的を達成することができました 64bit版logoframeをvs2017で作ったら
オリジナルより2割程度早くなった。
in_org.avs: 1440x1080, 30000/1001 fps, 207011 frames
YUV4MPEG2 W1440 H1080 F30000:1001 Ip A0:0 C420mpeg2
Total logodata : 1
このデータで
logoframe終了まで
経過秒数:988.78 オリジナル
経過秒数:956.83 vs2017で再コンパイルx86版
経過秒数:772.33 vs2017で再コンパイル64bit版
になった。
インテルコンパイラとか使えばもっと早くなりそうだな。 >>95
ターゲット変えるだけでいいの?
修正した箇所があればコピペよろ 👀
Rock54: Caution(BBR-MD5:0f403478eb164e360cc51f287148ded6) >>96
vs2017のx64 native toolsコマンドプロンプトを起動
logoframe_120を解凍してsrcディレクトリに移動
compile.cmdのgccをclに -Wshadow -Wempty-body 削除
logoframe.cのstrcasecmpをstrcmpに3か所置換
compile.cmdを実行
これだけ。 >>97
thx
エラーはいっぱい出たけどビルドできて正常に動作してるみたい
時間の計測はやってないけど、早くなったかもってだけで良いわ
ありがと logoframeでfpsと経過時間を表示するようにしてvs2017でPGOで最適化してみた。
地デジ1400x1080 ソース
x86版
checking 0/17797 start.
checking 100/17797 ended. time 1 sec. 100.000fps
checking 1000/17797 ended. time 2 sec. 500.000fps
checking 5000/17797 ended. time 9 sec. 555.556fps
checking 10000/17797 ended. time 18 sec. 555.556fps
checking 15000/17797 ended. time 28 sec. 535.714fps
checking 17797/17797 ended.
elapsed time : 33 second fps : 539.333fps
x64版
checking 0/17797 start.
checking 100/17797 ended. time 2 sec. 50.000fps
checking 1000/17797 ended. time 4 sec. 250.000fps
checking 5000/17797 ended. time 10 sec. 500.000fps
checking 10000/17797 ended. time 18 sec. 555.556fps
checking 15000/17797 ended. time 27 sec. 555.556fps
checking 17797/17797 ended.
elapsed time : 34 second fps : 523.471fps
なんか誤差程度だな。 logoframeやchapter_exeは、動作そのものを高速化するより
区間を指定できるおうにしたら、劇的に早く終わる素材がありますん
現状はバッチで書いてるけど、なんか面倒で logoframeに手を入れるなら
最初のロゴ検出まではシーケンシャルに処理
その後10秒毎(300フレーム)でロゴ検出
ロゴが消えたら10秒前に戻ってシーケンシャルに処理
ロゴを再度検出したらまた10秒毎にロゴ検出
こんな感じで早くなりそう。 アニメの話だけど、今期は妙に某宇宙戦艦のCMがスポンサーとして誤認される アニマエール7話(MX)OP後の提供が本編にちょっとかかってるな >>103
他の話数にもよるけどデフォルトの関数 TCSP 利用すればカットできない? >>105
基本提供自体は残してるから、やったら本来の提供を消すケースもあったんだよね… GUIでjlscp.txtとlogoflame_1.txtとin_org.avsのセット使ってフラグ作れるようにならないかなぁ
TBSチャンネルのCM毎点いたり消えたり繰り返すロゴでのカットが面倒くさすぎる キッズステーションとかテレ朝チャンネルでよくあるアニメ内ミニ番組のカットてどうしたらいいんやろか?
#キッズステーション番組内ミニアニメ
If KIDS
AutoDel S -F 51490 49755 53227 -code 1
EndIf
や
AutoEdge S -Nlogo -1 -code3 -period116
ももちろん無理でした
下記は前者̪試行時でのresultフォルダです
ttps://mega.nz/#!Xss0TSpJ!BROY70bR9jj-3ibD7z6_fzTGQWxiOfwOCBOgHFSrTtM 最後のやつだけ削りたいだけなら、2分録画を短くする方が楽だと思う
一応、別個に、
AutoDel B 4500 4400 4600 -N -2 -EndLen 3480 3470 3490 -code 1
とか入れればどうにかなるかも……
環境が違うだろうから自信はないが >>108
TSsplitでその部分をカットした方が速そうだね。 >>108
AutoDelの設定は下記で可能と思います。
# -Fの始点後に開始のロゴ構成以降、最後まで削除
AutoDel S 0 0 0 -F 49755 -1 -code 1 -EndTail AT-Xとかの複数話入ってるTSを各話で分割したくて
DivFileコマンド追加してみたけど、どうだろうか
https://github.com/nekopanda/join_logo_scp
分割フレームリストを追加で出力するだけだから、
Amatsukaze使ってない人には全く意味がない機能だけど nekopandaさんL-SMASH Worksのラップアラウンド対応版ビルドしてください・・・
詳しくは POPnさんのblogの https://pop.4-bit.jp/?p=8519
ここにあるmakiさんのコメントに記述してあります >>114
うおおお 早速対応ありがとうございます
しかし・・・ chapter_exeで読み込もうとしたら
Loading plugins.
-lwinput.aui
plugin loading failed.
chapter_exeでエラー発生のため、中断します。
と表示されエラーになります よろしければ lwinput.aui の更新お願いします >>114
なんか凄そう
感謝しつつ使わせてもらうわ
thx >>114
aviutl用のauiをaviutlに追加すると
L-SMASH worksが入力プラグインとして認識されない >>117-118
おっと、mingwビルド久しぶりだから忘れてたわ
↓これ付けないとダメだった
-static -lstdc++ -lgcc -lwinpthread
リリースページのバイナリ差し替えておいた
今更気づいたんだけど、AviSynthだけVisual Studioで、AviUtlとVapourSynthがgccなのは、
AviSynthだけC++だからgccだとmsvc互換DLLが作れないからってことか
AviSynth用のFFmpegとL-SMASHはmsvcでビルドしてたけど、
FFmpegとL-SMASHはgccでビルドしたのに統一するのが正解なのか?
この辺りはドキュメントがないから、どういうビルド方法を想定しているのかよく分からんな これに差し替えたらフレームレート誤認識無くなったりするのかな?
TBS系やNHKは頻繁に極々稀にAT-Xでフレームレート少なく誤認識してケツの方の映像が前に来てたりする現象 >>119
乙
今はエンコードタスクが溜まってるから
また明日やってみる 差し替えて昨日のゾイドをバッチエンコーダに投げて見たらちゃんとエンコード出来ました
ただjlscp試行環境側で問題が発生してフラグ確認にバッチエンコード環境内のjlscp試行環境フォルダ内のjlse_bat_with_rename.batを使ってるんですがそこにD&Dした場合だけchapter_exe.exeがエラー吐くようになってしまった
jlse_bat.batにD&Dしたらちゃんと動作した
やりたい事変わらないから問題無いと言えば無いけど何故でしょうか? そういえばAmatsukazeってJLフラグ指定.txt内に記述した独自フラグってチャンネル設定のオプション欄で指定可能ですか? うーんよくエンコード後ファイル見たら音ズレ起こしてら 主音声から主+副に切り替わるtsで試してみたけど以前と変わらずだった
makiさんの修正だけじゃ足りないのかな? あれは無音追加をしないとダメなんでは
リアルタイムで補完するにしても大変そう てか試行錯誤して気づいたが某所エンコードバッチ作業内とjlse_bat.bat単独とだと読み込みでエラー発生するかしないか違ってるな
何が原因だろコレ >>127
そうなんですね それなら今までどおりTsSplitterで分離して対応します
上でも報告があった音ズレがこっちでも確認できたので おとなしく以前のバージョンに戻します >>124
オプションはそのままjoin_logo_scp.exeに渡すから可能なはず
>>126
以前のバージョンのインデックスファイル(*.lwi)が残ってたりしない? >>128
> 某所エンコードバッチ作業内
某所じゃ分からない
>>129
このL-SMASH Works使うと音ズレするの? >>131
ここっすね
ttp://blog.livedoor.jp/fles/archives/74340840.html?ref=category1_article_footer4&id=6357456
音ズレはこちらの環境でも発生してましたTBSチャンネルやBSアニマックスでもだったので急ぎで旧版に戻しました 音ズレはFAWでやってるから無音追加しないとダメなパターンかな
あと、chapter_exeは音声が2ch以下前提になってるから5.1chとか食わせるとエラーになることは分かった あ、FAWじゃなくてaaceditでtrimしてるのか >>114
ありがとう。サイエンスZEROとか きょうの健康とか地上波で試したところ改善されてました
エンコードもしてみましたが特に音ズレもなさそう!
BSCSの音声混在の番組って何がありますか?試してみたいので >>130
以前のバージョンの(*.lwi)ファイルを削除してから 解析を行ったら正常にカットできました!
ただ やはり音ズレは発生しますね
TSFilePath="hogehoge.ts"
LWLibavVideoSource(TSFilePath, repeat=true, dominance=1)
AudioDub(last, LWLibavAudioSource(TSFilePath, stream_index=1, av_sync=true, layout="stereo"))
Trim(3798,86626) ++ Trim(90220,127422) ++ Trim(131893,173587)
上記のavsファイルを再生してみましたが 途中から音ズレしてしまいます >>136
適当に3つくらいts見てみたけど、音ズレしてなかったから、分からん >>137
調査していただきありがとうございます
こちらでも色々とtsファイルをカット処理したものを調べてみたのですが
昨日アニマックスで放送された「機動戦士ガンダム サンダーボルト BANDIT FLOWER」以外は音ズレしませんでした
なんでこれだけ音ズレするんだろう? >>138
自分の場合だとアイマス一挙も昨夜差し替えてた間ズレてましたね 前に同一tsでもデコーダーによって同じようにカットしてもtrim数値が違うって話があったと思うのだがそれがらみじゃないの?
音声も各デコーダーでディレイ数値も違うはずだし
たしかFAWはDGindexのデコーダーに合わせてあるとおもったのだがどうだっけな 改行のつもりが・・・
地上波でしか確認してないですが、家は LWLibavVideoSourceに fpsnum, fpsdenで 強制29.97にして読ませてます >>142
情報ありがとうございます
LWLibavVideoSourceにfpsnum=30000, fpsden=1001を追加したところ音ズレが発生しなくなりました
念の為複数のTSファイルで確認しましたが 問題なさそうです
nekopandaさん共々ありがとうございました! TSファイルを無劣化でCMカットするにはピッタリのソフトか、ソフトの組み合わせってございますでしょうか?
ロゴはそのままで構いません 完璧を求めるならTMSR5
1フレームカットは無理でCMが残るか本編が削れるかの妥協と音ズレの問題を受け入れられるならフリーソフトでも可
自動CMカットどっちも無理でTMSR5のCM検出機能で妥協しろ >>143
すいません。どのファイルに追加したらいいですか?
最新にしたら、音ズレするようになってしまった… >>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を追記してるだけ join_logo_scp試行環境言えば、
DGIndexで分離した音声をそのまま使うように出来ませんか?
FAWを通すとドロップによる無音部に後続のデータが詰め込まれ
音ズレするのでDGIndexで分離した音声をそのままaacfawで読み込みたいんですが L-Smash worksを使ってると思うからそれに対応したts_parserで分離すれば音ズレしないと思う fpsnum=30000, fpsden=1001を使うと repeat=true, dominance=%dominance%はいらないかもしれない。
RFFフラグがガン無視されるため。 >>153
ts_parserの動作は覚えてないんですが、ドロップ欠けがあるaacを
fawclでwav(fake-aacに)変換するとドロップ箇所が詰められ音ズレするのは同じだと思います >>155
join_logo_scp試行環境をDGIndexを使うように改造
ttps://skalyriccokle.blogspot.com/2017/04/tscm-5-joinlogoscp-dgindex.html >>152 >>156
昔(Amatsukazeを使う前)使ってた頃に、DGindex対応した際は、ウチの環境では
ディレイ修正にはFAWを使わずに、aacedit2 でトリミングと一緒にやるのが一番良かったと記憶してます。 ウチでは、
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%" >>151
ありがとうございます。音ズレしてた動画2本共に音ズレしなくなりました TSファイルをCUIで切り出し出来るソフトって無いでしょうか。
目的は沢山のTSファイルから(AT-Xの)ロゴがはっきり出てる部分だけをバッチ処理で切り出して保存する為です。
切り出し部分はフレーム数で指定したいですが、そこまで細かな切り出し出来なくてもGOP単位でも、時間指定でも問題ないです。
また欲しいのは映像部分だけですので、音ズレや無音であっても問題ないです。
何か良いアイデアかソフトありませんか? >>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 開幕KADOKAWAのロゴ残り
AutoDelでフレーム数指定すればカットできた
例えばBS11 ゾンビランドサガ 第09話冒頭の場合
AutoDel S 15 5 25 -code 1 -Nauto 1 >>162
反応遅れてすいません。
すでに動いているようなので必要ないかもしれませんが、
こちらは↓こんな感じで導入してます。
https://www.axfc.net/u/3947457?key=157 join_logo_scpの試行環境をLinuxに移植してたので、公開しておきます。
https://github.com/sogaani/JoinLogoScp
作ってくれた人たちありがとう! >>164
詳しくありがとうざいます
今度、ドロップしたファイルに遭遇したら試してみます
(読み込みプラグインとしてL-SMASH worksを試してみたいので) L-SMASH WorksをFFmpeg3.4.5でビルドし直した>>114
4.0.x使ったやつはRFFを認識しない不具合があって、
fps指定しないと音ズレするようになってた(>>143)のが直ってるはず
RFF無視でfps指定ってやり方だと、RFFが使用されてる区間が
縞なし24pになるから、あまり良くないかも 3.4.5はフィールドピクチャの修正が入ってないことがわかったから、
やっぱ4.0.3をRFF認識しない不具合直してビルドし直したわ >>168-169
更新ありがとうございます 録画の関係で明日確認してみます TBSチャンネル2またロゴ変わってやがった
もうロゴ取り直し面倒くせぇ >>172
報告さんきゅ。というかよく気がついたね。
この時期サンタ帽子かぶるロゴとかならすぐに気がつく自身あるけど >>169
報告遅れてすみません
いくつかエンコしてみたのですが問題はありませんでした
重ねて更新感謝致します TBSチャンネル2の地上波放送時のCM部分に入る5秒くらいのロゴ無し部分
をカットするにはどうしたらいいでしょうか? 特にカット周りでは不便起きてないからなぁ今のところ
カット失敗も最近全然起こらんし 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 こんな感じになってしまいます。。。
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 WOWOWソースはTSsplitter通すのが一番早いかな >>181
TSsplitter 一応試してみました。
番組情報・PMT情報・音声チャンネル切り替え 全部有効で分割試してみましたが、
望みのようにはならないようです。
全自動であることが望みなのではなく、
検知されたシーンチェンジから、自分の好みのところでカットしたいのですが、
どうすれば実現できるのでしょうか。。。
Find も試してみましたがうまくいきません。。。
ちなみに、手動なら動画編集ソフトを使えと言われそうなのですが、
Amatsukazeを使ってエンコードをすると、KFM&VFRで音声をそのままで
エンコード(mp4コンテナ化)できるので、Amatsukazeとそこで使われている
join_logo_scpで上手にカットしたいです。 >>183
ありがとうございます。
Amatsukaze側にこんな機能があったとは気づきませんでした。
さっそく trim ファイルで処理してうまくいくようになりました。
それとは別に、
「検知されたシーンチェンジから、自分の好みのところでカットしたい」
の手法は存在しないってことになるのでしょうか? 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 >>185
横からだかサンクス
こういうの欲しかった >>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 >>187
非常に参考になりました。
自動推測は制御が難しいので、従来方式のみ使おうと、
GetPos→Forceでやったところうまくいきました。
GetPos S 0 -1.2 1.2 -fromabs
If $LASTEXE
Force S 0 -fromabs $POSHOLD
EndIf
うーん。
だったらSelectやFindでもできそうなのに。。。
一つはできる方法がわかったので、また試行錯誤してみます。
(単発なら、Trimファイルのほうが手っ取り早いですが、シリーズでやるときはこちらのほうが便利。) 一部欠けてました。
いかに修正します。
GetPos S 0 -1.2 1.2 -fromabs 24.0
If $LASTEXE
Force S 0 -fromabs $POSHOLD
EndIf >>188
従来方式のSelect位置決めはJL_ATXが参考になります。
おそらくSelectに-logoextつけて検索範囲を広げる必要あり、と思います。 >>189
いや、再度試したところ動かないですね。
推測ですが、もしかして -fromabs の後ろのフレーム数は時刻値不可で、
整数値しかうけいれてないのが原因かもしれません。。。
GetPos+Forceの >>188 テストのときには log からまんまフレーム番号をコピペしてて、
ここに貼るときに隠ぺいのために時刻値に書き直したので。
ちょっとテストします。 AmatsukazeでCM解析したらtrim.avsを出力してくれたらなぁって思いました。 ■ このスレッドは過去ログ倉庫に格納されています