CMカット スレ★4
■ このスレッドは過去ログ倉庫に格納されています
>>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を出力してくれたらなぁって思いました。 >>191 -fromabs は時刻値でも動いている模様です。。。ごめんなさい。 私が勝手に混乱をきたしている原因はログに出てくる Trim() の値とは別に、 PMT 更新情報と、音声チャンネル変更情報を裏で使ってくれている模様で、 私が思うフレーム番号と内部処理のフレーム番号が違うためのようです。 力不足で私の手におえない感じになってきましたが、 ちょっとずつ試行錯誤して、何かわかったら報告します。 >>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%" logoframe単体で動かすのがどうもうまくいかない readmeに書いてある通り logoframe.exe in_org.avs -logo hoge.lgd -oa logoframe.txt としても、logoframe.txtには空ファイルが出力されるだけ 試行環境のバッチファイルでやると問題なく出力されるのに >>194 わざわざありがとうございます。 join_logo_scp 環境自体は持っていて、 それを使えばエンコードなしCMカットの処理結果をチェックできるのですが、 やっぱりはカット後(エンコード後)の動画があったほうが分かりやすいので、 毎回Amatsukazeにエンコード(リトライ)させてます。 フィルタ最低限・画質最低限でNVenc使うと 30分番組が5分ぐらいで終わるので、その方式でやってます。 (今もまさにやってます) わかりましたーーー!!! 「実験として先頭部分のみカットテスト」してたのが原因のようです。 Find S のみで、末尾の E が自動で入ると無意識に考えていました。 上から処理するという条件は読んでいたので、Eがどこにもマッチしなければ Sだけ適用されると考えていましたが、 SとEがセットになって初めて有効になるというのが大条件のようです。 >>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 のときにうまくいかなかったのも同様の原因かと思うので) JLスクリプト部分を何度も修正する場合、join_logo_scp本体のみ起動すると効率が上がります。 (時間のかかるロゴと無音シーンチェンジ検出は最初に一度だけ実行) Amatsukazeでは「一時ファイルを削除せずに残す」にチェック入れたら 一時ファイルをロゴと無音シーンチェンジ入力に利用できました。 一瞬でCMカット結果位置が出力されるので、何度も気軽にJLスクリプト修正できます。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる