Amatsukazeにお任せでサクサクエンコードヽ(*^。^*)ノ CMカットについての“φ(・_.) メモッ!。

★ エンコードは! ★.・:∴∵‥¨

● 認識阻害対策が進んでCMカットがうまくいかない今日この頃なので、ちょっと時間を割いてやっぱり手動に。

定番ソフトでCMカット!
前後のGOP切断しなければほぼ再エンコードなしで無劣化で出力してくれる。TSの前後が最初から壊れていることがある。タイミングの問題でこれといって対処法がない気がする。GOP単位できれいに切れる動画ならMurdocCutterで。ふつうは無理。CMがGOP単位なんてことはない(^◇^;

前後は基本的に壊れていると思って処理した方が、後々0フレームと最終フレームにコーミングノイズが残るようなへまをしなくて済む。

■ 「クリップ情報の表示」にチェックを入れておき、読み込み時にトップフィールド優先ボトムフィールド優先に注意しましょ。

↓ボトムフィールド優先の場合の対処法↓
「TMPGEnc MPEG Smart Renderer 5」で ボトムフィールド優先認識をトップフィールド優先に変更する。

■ CM候補検出(位置は99個までなので、まとめ放送などは2回に分けて処理をするといいかも)

何度かやればすぐに使えるようになる簡単なインターフェース。
Amatsukazeで自動CMカットできるTSだけならいいのだけれども、うまくいかないときの方策もあると心強いっすよね。
1話ずつ切り出すのも手間といえば手間ですが。めんどくさいと思うような動画ならTSのまま見て捨てでいいんじゃないかと思いまする。


● CMカット終わったらあとはAmatsukazeに投げるだけ(^O^)
短い動画でプリセットを作っておいて、動画内容に合わせて選択するだけ。
ソースも公開されているので、基本動作で納得いかない方は自分で弄ることもできる。
変な欲を出さず、よくまとまっているので、特にこれといってかっくことがなくなってしまった(^◇^;

最近の改造:
起動音を喋らせるところまでやる気はないが、腐れ縁のかつての同僚のために、時間別でタイトルにセリフをつけるくらいは遊んであげる。(^◇^;

:以下雑談

後で見る用でもNVEnc通して置ければファイルサイズを約1/4にしてくれるデフォルト設定もあるので、うちみたいに20TBくらい「後で見る用」でたまっている老人にはありがたいですね。軽くソースをチェックして、丸投げ。
麻雀終わって帰ってくるとこんもりmkvファイルが出来上がっている。それじゃ困るような動画はちゃんと管理しましょう。

親も見るぷればとや池上彰解説番組はレコを埋め尽くしているので何とかしたいが・・・クイズ番組といまでしょ系は深夜にこっそりしょけい。
年末見る時間もないのに話題についていくためにあらすじだけ抑えておかないといけないのは、サッカーや野球と一緒か。

今まで使っていた「TMPGEnc Video Mastering Works 6」も痒い所に手が届かないだけで、それなりの規格にあったファイルは作ってくれていたので互換重視で保管するには問題なかった。TSから字幕ファイルを吸い出して並べておくのが悩みどころだったものの、Amatsukazeのおかげですっきり解決!

もうPS3もないし、カーナビで見ることもないしな(;^_^A アセアセ・・・


HDDが40台超えたあたりから、TS保管も限界に近く、ファイルサーバーもWindows10にやらせているせいでドライブレターも足りない。リムーバブルもBIOS認識が甘い古いマザーのせいでNTFS認識エラーでなんどかHDD吹っ飛ばしてるので、どら部は挿しっぱなしにしたいですな。
電源スイッチ付きのセンチュリーのスカイワターが1つあるのでHDD10台詰め込めます。eSATAとUSBがあるもののeSATA付きのマザーを引退させたので、SATA変換で接続することに。
USB接続より安定して早いけど、ホットスワップがないのでUSB的な途中で電源入れたり、USB機器のスリープなどできないので使いどころが肝心。
なんといってもうるさいので乗用はしたくない感じ。ライブラリ的な使い道で。

必要な分はコピーするか、HDDをメインPCに差し替えて使うのは仕方がない所。
GbE速度の壁はあるけど、騒音ハードのスカイタワー(HDD10台)の唸り声を聞くよりはましです。
機器に刺さっていないHDDはちょっと使いにくいですよね。
いろいろ。すぐに使えるところに置いておきたい。
自作ツールで電源が入っていなくても、HDDの中身はほぼ把握できるとしても、空きドライブレター分しかキャッシュが読めない設定なので(・・ゞポリポリ
これもまた課題か。重要性低いので手を付けていないけど。

やっぱり近々の課題は字幕かねぇ。クロップしなければ問題ない。SD時代の制作動画なんて気にしなければいいのだが。

やりたくないので雑談を書いているわけです(^◇^;


HandBrake使えばいいじゃんって言われたので…(「お題:いい感じの字幕」予想通りAmatsukazeには遠く及ばず)

当たらtしいツール覚えるのがめんどくさいおっさんです。
すでに眠い(_ _).。o○(_ _).。o○

HandBrake-1.1.2
https://handbrake.fr/rotation.php?file=HandBrake-1.1.2-x86_64-Win_GUI.zip

.srtは食べてくれるけど、.assは食べてくれない感じ。終了。
TSの持ってる情報保存してほしいだけです(じゃぁクロップすんなよって話だよね(^◇^;)

使い方はエンコードしたことあれば聞いたことある単語ばっかりなので説明省略。


設定画面


クロップ


フィルタ設定


エンコ設定


字幕設定


予想通りの結果。
ASS入れてないんで、SRTをセンターに表示する感じになってますね。
手動でMKVにASS入れればいいという話ですが。

TVTestを見てた人ならほかのプレイヤーの字幕では満足できないと思いますヘ(゚∀゚ヘ)アヒャ
「TVCaptionMod2.tvtp」の設定画面この手の設定が反映されているのがAmatsukazeの字幕処理なので、やはり HandBrake では、最近の日本語字幕仕様作成というにはちょっと遠いですね。
TSから抜き出して、変換したASSを食わせればいいという感じですけど、面倒ですもの。

ばらして(Extract)する手間が入る時点でおさっし。
やるならAmatsukazeでエンコしたMKVをばらして、解像度オフセット弄るだけの方が素人ツールでもできる範囲。
あ、ソースいじるか。。。。CPPなんてもう忘れてるわ~ヽ(`Д´)ノウガー(やるき3%→7%くらい)

Amatsukaze で手軽に黒帯をクロップしたら、字幕の横位置がずれたのでサクッと直すの巻

よくわかんない素人は触らないようにってことでヘ(^^ヘ)(ノ^^)ノヘ(^^ヘ)(ノ^^)ノリサイズなしかフルHDでエンコしましょ
(AviSynthスクリプトに追加したクロップする位置が悪いっぽい?^^;)

—-追記(ver8.4.3)
今調べてテストしている感じだと、元のサイズが変わるクリップ(Clip)や、リサイズ(resize:1440×1080)などは、画面比率16:9で出力されていないとずれます。
・ASSの設定はPlayResX: 960、PlayResY: 540になるからです。字幕つけなければきにならないかと!
・ASSのpos設定位置は「PlayResX: 960、PlayResY: 540」と相対しているので拡大縮小もこれに合わせられます。
・ASSファイルをmkvから除くことで、色や位置フォントなどの書式設定がなくなるので、プレイヤー標準位置(通常センター下部)表示になります。
・字幕処理弄るか他の編集の機能のあるツールで。
—-

ウィンドウ表示しながらネット巡回する時黒帯邪魔なんすよね・・・
1ファイルならいいんですが連続再生してると、切り替わりでびよ~んと広がる。

字幕処理の前にクロップすれば回避できるかも?不明。。おなかすいて頭が回らない・・・(;^_^A アセアセ・・・

出来上がったmkvの解体(Extract)から。

ビルド済のツールを拾ってくる。
mkvtoolnix-64-bit-28.2.0.7z
https://www.fosshub.com/MKVToolNix.html

GUIがないので、GUIも拾ってくる。
gMKVExtractGUI.v2.4.0.7z
https://sourceforge.net/projects/gmkvextractgui/
解凍してmkvtoolnixと同じフォルダへ

このGUIはmkvtoolnixの32ビット版でも64ビット版でも動くので環境にあわせてどうぞ。

■ 中身の取り出し処理。
ExtractGUIを開くと、mkvtoolnixフォルダは同じところにあるので修正はいりません。
InputにAmatukazeでエンコードしたmkvファイルをD&Dして中身を見る。
映像、音声、ASS、SRT4つ全部取り出すので4つにチェックを入れる。そして右下のExtractボタンを押す。

今回はmkvと同じところに4つファイルが追加されました。「Success!」ってことで次へ進む。

■ ASSの修正。
ASSについてどこかで少し調べる。よくわからな~い。
試しながら行こう(^◇^;

ASSの仕組みと書き方
http://www.geocities.co.jp/bancodesrt/tool/ass.html#Script_Info


テキストを修正して保存。
外部字幕設定ファイルを優先的に読んでくれるプレイヤーで再生してみる。
(例 データが960x540pixcelで。下記pos設定のため今回は上記の画像の修正データで合わせています。)
> Dialogue: 0,0:00:01.07,0:00:15.62,Default,,0000,0000,0000,,{\pos(172,497)}始まり始まり~
ここはテキスト保存ですぐ確認できるので、繰り返しテストして、いい感じに仕上げておきましょう(^◇^;

Assをしのまま入れてるわけではなさそうなので、ソース追っかけてみようと思います。夢で逢えたら。覚えていたら^^;
https://github.com/nekopanda/TVCaptionMod2/blob/e80b7982d0975f09771adbf9b5de21c727e81c4b/TVCaptionMod2_Readme.txt
(「TMPGEnc MPEG Smart Renderer 5」で吐き出したデータがおいしくなかったらどう検出しよう((((;゚Д゚))))ガクガクブルブル)
—-メモ:
1440→1920(16:9)、1440→1440(16:9)、1920→1920(16:9)エンコードで960×540になるみたい。ソールを後で覗いてみようメモ。
\Amatsukaze-0.8.4.3\Amatsukaze\TranscodeManager.hpp:636
> ctx.info(“[字幕ファイル生成]”);
\Amatsukaze-0.8.4.3\Amatsukaze\CaptionFormatter.hpp
> // 途中で解像度が変わったとき用
—-

—-エンコード後のMKVのMediaInfoより
Width : 1 440 pixels
Height : 1 080 pixels
Display aspect ratio : 4:3
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS

—-エンコード後のMKVのASS(クロップしない場合も同じでした)
[Script Info]
ScriptType: v4.00+
Collisions: Normal
ScaledBorderAndShadow: Yes
PlayResX: 960
PlayResY: 540

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Yu Gothic,46,&H00FFFFFF,&H000000FF,&H00000000,&H7F000000,1,0,0,0,100,100,4,0,1,2,2,1,0,0,0,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.07,0:00:15.62,Default,,0000,0000,0000,,{\pos(172,497)}始まり始まり~

—-エンコード前のTSのMediaInfoより
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 (30000/1001) FPS

—-エンコード前のTSのASS(Caption2assが「TMPGEnc MPEG Smart Renderer 5」で吐き出したGOPつぶれのデータを読めないので、MurdocCutterでGOP単位に別で書きだしたため時間はずれてますが、今回は解像度やポジションを見たかったので載せておきます)
[Script Info]
ScriptType: v4.00+
WrapStyle: 0
PlayResX: 1920
PlayResY: 1080
ScaledBorderAndShadow: yes
Video Aspect Ratio: 0
Video Zoom: 6
Video Position: 0

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,MS UI Gothic,90,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,15,0,1,2,2,1,10,10,10,0
Style: Box,MS UI Gothic,90,&HFFFFFFFF,&H000000FF,&H00FFFFFF,&H00FFFFFF,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,0
Style: Rubi,MS UI Gothic,50,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,1,10,10,10,0

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:03.41,0:00:23.43,Default,,0000,0000,0000,,{\pos(340,1018)}始まり始まり~

—-
なんかこう手がワキワキする感じ。奥が深そう。ちゃんと勉強しないとまともに動かない系(^◇^;

(テストに使ったプレイヤー例)
MPC-HC (Nightly, 64-bit)
Build information:
Version: 1.8.3.8 (fc4fb469a)
Compiler: MSVC v19.14.26433
Build date: Nov 24 2018
LAV Filters:
LAV Splitter: 0.73.1.0
LAV Video: 0.73.1.0
LAV Audio: 0.73.1.0
FFmpeg compiler: MinGW-w64 GCC 7.3.0
Hardware:
CPU: Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
GPU: NVIDIA GeForce GTX 970 (driver version: 25.21.14.1701)

Download K-Lite Codec Pack Full
https://codecguide.com/download_k-lite_codec_pack_full.htm

再生してみると・・・・

それっぽく動いている。気がする。
おなかすいたので、くっつけて終わりにしよう・・・

■ 結合処理。
mkvtoolnix-gui.exe」を起動

データファイル4つをD&Dする。

ウィンドウが開く。

問題なければOK。


・結合するファイル4つにチェックを入れる。
・出力ファイル名を確認する。
・Start ボタンを押す。結合(構築)処理開始。


出来上がったファイルを再生して、位置を確認する。
(スクリーンショットのために縮小表示しています)

もう11時半か^^; 昨日の昼から、コーヒー2敗しか飲んでない・・・胃袋空っぽ。また血栓ができそうだヘ(^^ヘ)(ノ^^)ノヘ(^^ヘ)(ノ^^)ノ。
そんなこんなで、おなか一杯たべて夢の世界へ行こうヽ(*^。^*)ノ


AviSynthのスクリプト勉強したらもっと痒い所に手が届くんだろうなぁ。ワクテカですな(^O^)
やばば。ハイになってきてる(≧∇≦)

Amatsukaze で手軽に黒帯をクロップしてみる

両サイドの黒い奴です。
とりあえず、これをこなせば上下だろうがL字だろうが応用できるんではないかと。

AviSynthなんて10年以上使ってないので「0」からですよ!

用語的にはクロップ(Crop)なのでとりあえずググって、AviSynth標準であるそうなのでとりあえず、リサイズフィルタなどのプラグインなしで行きましょ。まずは説明書きをちゃんと読む。

独自AviSynthフィルタを使う
https://github.com/nekopanda/Amatsukaze

Amatsukaze本体が動けばいけますな。

※Amatsukazeの解像度変更の動作は、変化があればSAR1:1に、変化がなければオリジナルのままということなので、FHD(1920×1080)放送は両サイドカットすれば、SAR1:1になって頭の中と同じ動作になる感じですね!
1440×1080になるように設定すればよい感じ。

まずは普通にエンコードできる設定を作る。クロップ前の設定。
30分ものだと、
> -P main10 –preset veryfast –rd 3
では、crf28相当でファイルサイズが140MBちょっと。さすがに40年50年前のアニメは情報量が少ない(^◇^;
> -P main10 –crf 24 –preset veryfast –rd 3
倍くらいの容量にしてみる。300MBちょっと。とりあえずこんな感じで。ドンブリ勘定設定最高~’`,、(´▽`) ‘`,、

黒帯の部分のサイズを見てみましょう。ちょうど無料放送なので古いアニメなどサンプルを大量に確保しておきます(^◇^;

今回のソースは実際はかると片側232pixcel(ドット)だったりしますが。。。
もったいないけど切っちゃいましょ。16pixcelはばのもったいないお化けが出そうヘ(゚∀゚ヘ)アヒャ

両サイドから240pixcelずつ。480pixcel切って1920→1440へ。

フィルタの書き方が全く分からないので、説明書きの通り、フィルタをクリップボードへコピー。

Amatsukazeでクリップボードへ設定をコピーする。


D:\Amatsukaze\avs\メイン_FHD_Crop_w240.avs(例)
テキストエディタ(メモ帳など)に貼りつける、Cropの行を追加する。
この位置でよいのかどうかは不明。フィルタ処理が終わった後に左右ぶった切る感じで(^◇^;
まずは動かそう。最適化はそのあとで。
ファイルを置く場所」や「ファイル名の命名規則」は解説を読んでちょ。


こんな感じでクロップ設定前にテストしたファイルをリトライかけて、無事幸せになれました。ヽ(*^。^*)ノ

が、字幕の横位置が、が、が、が、ずれる。
横幅1920pixcelのオフセットになってる感じ。いや~ん。

※追記。
16セグメントの放送(1920×1080)はこれでいいものの、12セグメントの放送(1440×1080)のクロップはちょっと面倒です。
下記影響があるんですが、リサイズフィルタ使ってうまくできるんだと思う。ほかのトラブルが問題で対処中。そのうち煮詰めます。
>解像度を変更すると、出力のサンプルアスペクト比(SAR)は1:1と解釈されます。 解像度を変更しなければ、入力のサンプルアスペクト比はそのまま保持されます。