週末アップデートなど:xtne6f/EDCB_20190211版、nekopanda/Amatsukaze_0.8.5.1版

連休は録画関係のアップデートが来ることが多いのでチェックしておきましょ
更新内容は各ドキュメント参照で(^◇^;

xtne6f/EDCB
https://github.com/xtne6f/EDCB

老人の朝は早い。明るくなる前に町内のごみ当番の仕事して、雪かきして。ごみを出して。Updateチェックして更新して。
日が昇るころには、お茶をすすりながら、「もうやっといたよ」っていうどや顔。
今日も平凡な一日が始まる( ̄ー ̄)ニヤリ


nekopanda/Amatsukaze
https://github.com/nekopanda/Amatsukaze

—-ここからは趣味の世界です(^◇^;
Visualstudio2017で簡単にできるものだけ紹介。フォント周りはまだ人に見せれるソースじゃないんでヘ(゚∀゚ヘ)アヒャ

アイコン変えて…


ケアレスミス防止のウィンドウ閉じる確認を入れて…


タスクバーのメッセージを、時間別タイマーから、季節もののバレンタインにして(^◇^;


上書き。ぺとぺと貼り付け。


アイコンは適当にどこかで拾う。家で使う識別アイコンだけだし細かいことは気にしない!

動作確認して終了!30分であなただけのAmatsukazeに!?(見た目だけだw)
QSVだけ放置してる気がする…最近チェックしてないな。
今は使えないようなので、QSV民の為にも早く改善される問良いですな!

2019.01.30 DBCTRADO/LibISDB/TVTest-developの更新来てました。VisualStudio2017の最適化で、子プロセスが起動できない的なエラー対処法もさらっとぬるっとべっちょり、じぇんとるめん的に教えちゃう!

お疲れ様どす。

プロジェクトの Windows SDK バージョンを 10.0.17763.0 に更新 とかそんな感じ。


PCなんでサイズはあまり気にしてないので速度優先。
LibISDBをビルドするときは、スペースや全角文字があるフォルダやパスが長い場合に、子プロセスが起動できない的なエラーが出ますので、英語圏で一般的に使われるフォルダ名称のところでビルドしましょう。
TVTestの方は無茶が利きます(?_?)エ?

×の例 E:\vs17_Projects\TVTest_AVX(第二世代以降)\TVTest-develop_20190130\src\LibISDB\Projects\LibISDB.sln

◎の例 E:\vs17_Projects\LibISDB-master_20190130\Projects\LibISDB.sln

子プロセスエラーの質問を見かけたらみんなで生易しくフォローしてあげましょうネ。
日本語環境は2バイト文字問題も半角カタカナ問題も起きやすいですから…

※ 注意書き読まずに VisualStudio 2017 自体が標準のスペースの入ったあほディレクトリにインストールされてるとどうなるかはお察し(爆笑)
上の対処法ではもちろん直りません。なぜかってあなたソース読み込みやテンポラリ・ライブラリ・オブジェクトの作成の前にプログラムがこけるから(^◇^;


うちの録画PCがi7-3770TなのでAVX最適化かけてます。つけるときは全部使いましょう。SSE系とAVX系が混在すると速度が落ちますので。わからない人は入れなくてもいいと思います。体感で差は出ません。多分ヘ(゚∀゚ヘ)アヒャ


ビルド済のLibISDBをTVTestの指定位置にコピー。すでにビルドしてあるライブラリを使うので、コピーした後にビルドは必要ないです。
E:\vs17_Projects\TVTest_AVX(第二世代以降)\TVTest-develop_20190130\src\TVTest_All.sln を読み込んでビルド~。
AVXおいてたのはDだっけEだっけ・・・いかん眠い。

x64フォルダをエクスプローラーで開き、種類で並び替える。中間ファイル.obj/libを消す。
AboutDialog.obj
Accelerator.obj
Aero.obj
AppCommand.obj
AppCore.obj
AppEvent.obj
AppMain.obj
AppUtil.obj
AudioManager.obj
AudioOptions.obj
BasicWindow.obj
CaptionPanel.obj
Capture.obj
CaptureOptions.obj
ChannelDisplay.obj
ChannelHistory.obj
ChannelInput.obj
ChannelList.obj
ChannelManager.obj
ChannelPanel.obj
ChannelScan.obj
ColorPalette.obj
ColorScheme.obj
ColorSchemeOptions.obj
Command.obj
CommandLine.obj
ComUtility.obj
Controller.obj
ControlPanel.obj
ControlPanelItems.obj
CoreEngine.obj
DebugHelper.obj
Dialog.obj
DialogUtil.obj
DirectWrite.obj
DirectWriteOptionsDialog.obj
DPIUtil.obj
DrawUtil.obj
DriverManager.obj
DriverOptions.obj
Epg.obj
EpgCapture.obj
EpgChannelSettings.obj
EpgDataLoader.obj
EpgDataStore.obj
EpgOptions.obj
EpgUtil.obj
EventInfoPopup.obj
EventInfoUtil.obj
Favorites.obj
FeaturedEvents.obj
GeneralOptions.obj
Graphics.obj
GUIUtil.obj
Help.obj
HomeDisplay.obj
Image.obj
ImageLib.lib
InformationPanel.obj
IniFile.obj
InitialSettings.obj
KeywordSearch.obj
Layout.obj
libjpeg.lib
libpng.lib
ListView.obj
Logger.obj
LogoManager.obj
MainDisplay.obj
MainPanel.obj
MainWindow.obj
Menu.obj
MenuOptions.obj
MessageDialog.obj
NetworkDefinition.obj
NotificationBar.obj
OperationOptions.obj
OptionDialog.obj
Options.obj
OSDManager.obj
OSDOptions.obj
PanAndScanOptions.obj
Panel.obj
PanelForm.obj
PanelOptions.obj
PathUtil.obj
PlaybackOptions.obj
Plugin.obj
ProgramGuide.obj
ProgramGuideFavorites.obj
ProgramGuideOptions.obj
ProgramGuideTool.obj
ProgramGuideToolbarOptions.obj
ProgramListPanel.obj
ProgramSearch.obj
PseudoOSD.obj
RawInput.obj
Record.obj
RecordOptions.obj
RegExp.obj
RichEditUtil.obj
Settings.obj
SharedMemory.obj
SideBar.obj
SideBarOptions.obj
StatusItems.obj
StatusOptions.obj
StatusView.obj
stdafx.obj
StreamInfo.obj
StringUtility.obj
Style.obj
StyleUtil.obj
Taskbar.obj
TaskbarOptions.obj
TaskbarSharedProperties.obj
TaskTray.obj
TextDraw.obj
TextDrawClient.obj
Theme.obj
ThemeDraw.obj
ThemeManager.obj
TitleBar.obj
Tooltip.obj
TSProcessor.obj
TSProcessorErrorDialog.obj
TSProcessorManager.obj
TSProcessorOptions.obj
TVTest.exe
TVTest.log
TVTest.obj
TVTest.res
TVTest.tlog
TVTest_Image.dll
TVTest_Image.exp
TVTest_Image.iobj
TVTest_Image.ipdb
TVTest_Image.lib
UIBase.obj
UICore.obj
UISkin.obj
Util.obj
VariableManager.obj
VariableString.obj
vc141.pdb
VideoDecoderOptions.obj
VideoOptions.obj
View.obj
ViewOptions.obj
WheelCommand.obj
WindowUtil.obj
zlib.lib
ZoomOptions.obj
—-

必要な2ファイルを見つけ易くなったでしょ。
TVTest.exe
TVTest_Image.dll

これと、プラグインを上書きコピーして必要なものを残して消す。

今日もすっきり!?
プラグインの方の・・・
E:\vs17_Projects\TVTest_AVX(第二世代以降)\TVTest-develop_20190130\sdk\Samples\Samples.VS2013.sln は 10.0.17763.0 に再ターゲットのポップアップ出ますね(;^_^A アセアセ・・・
まぁビルドできればなんでもOK!終了!

Amatsukazeをビルドするときに忘れないようにしたい“φ(・_.) メモッ!

おま環です。エクスプローラー閉じようとして右上の「×」ボタン押したら・・・Amatsukazeが閉じてエンコード中断してしまったことがしばしばあるので(爆笑)
終了時に確認出るようにしましょ’`,、(´▽`) ‘`,、


こんなボタン確認を追加。メッセージは好みで修正を。

private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
// 質問ダイアログを表示する
System.Windows.Forms.DialogResult result = System.Windows.Forms.MessageBox.Show("ウィンドウを閉じますか?", "質問", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Question);
if (result == System.Windows.Forms.DialogResult.No)
{
// はいボタンをクリックしたときはウィンドウを閉じる
e.Cancel = true;
}
else
{
(DataContext as ViewModels.MainWindowViewModel)?.Model?.SaveWindowPlacement(this);
}
}


編集位置はGUIのClosing。
VisualStusio2017でビルドできるところなんでお気軽に。
オープンソースに感謝ですね。痒い所を弄れるのはいいこと。


ビルドしたファイルをコピーする。中身は弄ってないので上書きでいいかと。
あと、何か注意は・・・(゚〇゚;)自己責任で!

編集ソースがわからない人は弄らないようにヘ(゚∀゚ヘ)アヒャ

[2018.12] TvtAudioStretchFilter.axは要注意!VS2017のver15.9.4でC++の最適化バグが治ったよう言うような書き込みを見て全ビルドやり直してみるの巻

ちょっと前にやった気がするが・・・
ビルドは自己満足のおま環なので、違うところがあると思うので自己責任で自分の環境に合わせてねヘ(゚∀゚ヘ)アヒャ
日付を見るとEDCB11/26とかTVTEST10/27辺りからの更新になります。
公開してくれた作者さんに感謝してサクサク行きましょ!

i7-3770T用のAVX(第2世代)と、i7-6700用のAVX2(第4世代)の2つの環境を再構築してみた。
VS2017のBugFixアップデートもあり、基本的にはクリーン&ソリューション再ターゲットして、リビルド。
Win32(x86)は今回から全部削除。64bitに移行で問題ないっぽい。
パッチなどは事前に全部当ててあるので、ビルドするだけにゃ~。
EPG取得・録画・再生・タイマーテストして、それでも再構築までに30分。
トラブルがないのに、思ったより時間かかった^^;

—-大まかなビルドリスト。全部じゃないです。Amatsukazeのビルド環境構築などは説明できないので(^◇^;
私が使うツールは、今は全部ソースが公開されているので足りないといわれるものや、追加の機能が欲しくてもすぐに手に入っていい時代ですよね…もう、ビルドくれ~と泣いてた10年くらい前とは時代が違うw
足りなそうなものは構築サイト見て拾ってくださいな。
私よりも説明がうまくアフィリエイト一杯貼ってあるところありますので(;^_^A アセアセ・・・
宝くじ当てるよりよりも仲間と小銭稼ぐ方が楽しいよね・・・(^◇^;

どのソース落とせばほしいものが入っているかなんとなくわかると思いまする。
ここにあるのは全部64bitビルドできますヽ(*^。^*)ノ
—-
(EDCB-BonDriver)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\BonDriver_PT3-ST-master\BonDriver_PT3.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\BonDriver_PT-ST-master\BonDriver_PT.sln
(EpgDataCapBon:EDCB本体)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\EDCB-work-plus-s_181125\Document\EDCB_ALL.VS2015.sln
—-
(TVTest-BonDriver:Pipe)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TvtPlay-work\BonDriver_Pipe_src\BonDriver_Pipe.sln
(TVTest-BonDriver:UDP,TCP)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\BonDriver_UDP\BonDriver_ALL.sln

(TVTest本体)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TVTest-develop_181026\src\TVTest.sln
(本体付属のSampleの中にプラグインがあります)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TVTest-develop_181026\sdk\Samples\Samples.VS2013.sln

(他プラグイン例)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TVCaptionMod2-develop\src\TVCaption2.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TvtPlay-work\src\TvtPlay.sln
(TVTestVideoDecoder.ax)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TVTestVideoDecoder-master\TVTestVideoDecoder.sln
—-
(TvtAudioStretchFilter.ax)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\BaseClasses\BaseClasses.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\soundtouch\source\SoundStretch\soundstretch.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\soundtouch\source\SoundTouch\SoundTouch.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TvtPlay-work\TvtAudioStretchFilter_src\TvtAudioStretchFilter.sln
—-
TvtAudioStretchFilter.axはバッチファイルを作っておくと楽。
下記バッチ例ではディレクトリ名を環境に合わせてね。
—-TvtAudioStretchFilter.ax_install.bat
regsvr32 D:\TVTest_x64\TvtAudioStretchFilter.ax
pause
—-TvtAudioStretchFilter.ax_remove.bat
regsvr32 -u D:\TVTest_x64\TvtAudioStretchFilter.ax
pause
—-
■ 「TvtAudioStretchFilter.ax」 ビルドするなり
TvtAudioStretchFilter.ax ビルド順

■ 「TvtAudioStretchFilter.ax」 の設定(TVTest:先に上記バッチでWindows10に登録しておく)

■ ついでに「TVTestVideoDecoder.ax」の設定画面

■ 「TVTestVideoDecoder.ax」のプロパティ例(今使ってないんで、画面だけ。赤枠の中は調整してください)


※字幕のある映像などでデインタレが利いているか確認しておく。
わたしゃほかのフィルタ使っているんで( ^ω^)・・・

—-追記。
眠くなったんでサブPCのフィルタ設定は宿題に・・・

LAVで480iの動きの速いシーンをFHDで表示したときのデインタレ字幕。
2m離れて違和感なければいいんじゃね?(^◇^; こだわりあるのはわかるけど・・・
PCで静止画にして見ると思ったより汚ちゃないヘ(゚∀゚ヘ)アヒャ
設定合わせてないと、F1などはTVの方が優秀ですなw

※NVIDIAのHWデコーダーの方が好みなんで設定などは最後まで煮詰めてません。

10年前より設定増えてね?(^◇^;
2度寝しよう(_ _).。o○


■ さらにNVIDIAでAVX2設定のビルド環境をテストする(GTX970グラボがささったCPUオンボードグラボもONになったi7-6700のPCですTEST用になるべくAVX2使ったビルド)
DVXA2でIntelとCUVIDのデインタレのかかり方が違うにょろ・・・
多分どこかに設定があるんだろうけど、探すのが面倒なので画像貼って終わりにする(^◇^;
上のi7-3770TのGPUではうまくデインタレがかからずコーミングノイズが出る時がある。映像による。

LAVの設定見るとこんな感じ。

CUVIDのデインタレ。


DXVA2 CopyBack設定。
設定が減ったうえに負荷が上がる。
LAVでGPUが1種類で設定を決め打ちしているのならCUVIDで十分?

DXVA2のデインタレ。


動画で見てるとさがわかりませぬ(^◇^;
コーミングノイズ出てなければOKですよね。

負荷的にAVX2が有効かどうか体感できることはありません。
エンコードやマイニング、AI深層学習、アドビのソフトとか画像や大量計算が必要なソフトなど最適化されたプログラム以外は気にしなくていいと思います。
IntelCPUではよほど無茶な構成にしないとAVX2対応していないPCでも問題ないですが、AMDは実害が出ますので、互換性の関係上、家の中でも下限Pcにそろえた方がいいと思います。
(ソースコピーして、オプション変更し忘れて、AVX2に最適化したTVTest.exeをi7-3770TのPCで動かしていても気が付かなかったくらい (^◇^;アハ~)
動画再生の負荷なんてそんなものです!(?_?)エ?
このあたりはArmがx64対応したあたりから考えましょ?(自己満足ですが)


寒いのにCPU利用率2%くらいなのでCPUのFANが止まりそうです。
低速で止まったり動いたりする方が気になるわぁヽ(`Д´)ノ

結局部屋で一番うるさいのはエアコンですil||li _| ̄|● il||li

終了。

■■■■


—-新しくソース持ってくると忘れるので…癖のあるやつだけ、ちょこっと抜粋メモしておく。
TvtAudioStretchFilter.axのビルドのやり方。でも情報が古いので環境によっては違う動作をします。
作者さんが修正を入れてる場合もありますので。

【TVTest】ビルドした・するスレ【EDCB】その2
https://mevius.5ch.net/test/read.cgi/avi/1518705444/75-n

—-抜粋
76名無しさん@編集中 (アウアウウーT Sa08-MTlB)2018/02/28(水) 17:33:45.01ID:NWL01Plfa>>94
この方法で MD/MT/x86/x64 vs2017ですべてビルドできる

【TVTest】 TvtPlayについて語るスレ Part 4

685 :名無しさん@編集中:2016/09/07(水) 10:14:05.59 ID:6v/9cxjZ
TvtAudioStretchFilter.ax ビルドの手順

1. SoundTouch.patch を適用
soundtouch-1.9.2.zip をダウンロードして解凍
soundtouch フォルダ名を a に変更
一つ上のディレクトリに SoundTouch.patch を置く
管理者権限でコマンドプロンプトを開いて patch.exe を実行

patch -p0 -b < SoundTouch.patch フォルダ名を soundtouch に戻す 2. 各フォルダの配置 \Projects\BaseClasses \Projects\soundtouch \Projects\TvtPlay-work-plus\TvtAudioStretchFilter_src 77名無しさん@編集中 (アウアウウーT Sa08-MTlB)2018/02/28(水) 17:34:05.69ID:NWL01Plfa>>78
3. BaseClasses をビルドする
\Projects\BaseClasses\baseclasses.sln

4. SoundTouch をビルドする
\Projects\soundtouch\source\SoundTouch\SoundTouch.sln
ビルド前にプロジェクト SoundTouch のプロパティを開いて
構成プロパティ → C/C++ → コード生成 → ランタイム ライブラリ を
マルチスレッド DLL (/MD) に変更しておく

5. TvtAudioStretchFilter をビルドする
\Projects\TvtPlay-work-plus\TvtAudioStretchFilter_src\TvtAudioStretchFilter.sln

78名無しさん@編集中 (ワッチョイ 74a2-jWof)2018/02/28(水) 21:01:30.65ID:pgFRja0F0
>>76>>77
ほほう、やってみよう
サンクスです

79名無しさん@編集中 (ワッチョイ dfb3-lEE9)2018/03/01(木) 00:09:37.45ID:py/T0UNK0>>82
>>76-77 で引っかかりそうな2点。

・SoundTouchを「ソリューションのビルド」しても作成されない。
「SoundTouchのビルド」を実行する。
またはソリューションのプロパティでビルドできるように変更する。

・TvtAudioStretchFilter.slnのx64ビルドでSoundTouch_x64.libが見つからない。
soundtouch\source\SoundTouch\Releaseに作成されているSoundTouch_x64.libを
soundtouch\libへコピーしておく。
またはSoundTouch_x64.libの場所を「追加のライブラリディレクトリ」に加える。
あるいはSoundTouchをビルドする時点で根本的に修正しておく。

80名無しさん@編集中 (ワッチョイ bf9f-m1UI)2018/03/01(木) 01:09:59.51ID:CnOtLzKd0
自分もTvtAudioStretchFilter.axビルドしてみた。
素人なもんで躓いたところを書いてみる。

4.について
自分の環境(VS2017)ではそのままではビルドできなかったので
ソリューションエクスプローラーからSoundTouch右クリック>プロパティ
右上の構成マネージャ
構成をreleaseにしてビルドにチェックを入れた。
書いて有るとおりsoundtouchはビルドの前に/MDに変更を忘れずに

BaseClasses、soundtouchフォルダは
TvtAudioStretchFilter.slnの入ってるフォルダの二個上のフォルダに配置する

これで動いてる模様

81名無しさん@編集中 (ワッチョイW df7f-tZ4x)2018/03/01(木) 08:50:40.10ID:YyxR5+J20
参考になります
ありがとう

82名無しさん@編集中 (ワッチョイ 7f06-m1UI)2018/03/01(木) 09:12:43.55ID:TIujTdNg0
>>76>>77>>79
詳細助かる

83名無しさん@編集中 (ワッチョイ bf63-yVqK)2018/03/01(木) 09:36:42.79ID:/en+xUDT0
MDは躓くポイントではないのだが。すべてMTでもビルドできるぞ。

84名無しさん@編集中 (ワッチョイ 2731-Fhm4)2018/03/01(木) 10:59:38.01ID:hvp78GtC0
私が躓いたところ(Windows10_1709、VS2017 Community)
SoundTouchをビルドする時に、x64で実行するとエラー
何回やってもダメなのでエラーメッセージをまじめに読むと、ファイルののプロパティ値が違うとかどうとか
やむを得ずWin32で実行すると、ビルド成功
soundtouch\source\SoundTouch\ReleaseにSoundTouch_x64.libが作成されており、
以下は>>79の通りに行って、TvtAudioStretchFilter.axのx64ビルドに成功

Win32でビルドすればx64版もいっしょに作成するなんて思わねえ
—-
■ SoundTouch_x64.lib などLIBがうまくコピーされず古いままになっている場合がります。
ソリューションをクリーンしても削除されないファイルなので、手動で削除するかビルドした時に更新されているのを確認してから後のビルドを行いましょう。

SearchCloneFilesで名前一致でサイズが小さいものを選択する。(サムネイルを削除する場合など)

同一ファイルを探すツールなので…なので( ^ω^)・・・
ファイルサイズが違う時点で対象外なので、本機能に実装してないので、オプションキー検索を使うようにします。
(※おまけでつけた機能なのでほとんどデバッグしていません。大小など左のキーが優先されます。優先順位の関係でチェックが逆になる場合があります)

■ 同一名で、サイズが小さいものを自動選択する


0.最初のページで[名前一致]検索を行う

1、[Name](名前)検索を選択(おまじない)
  (なくても動くと思いますがソート順がおかしくなって変わっている場合があるので)
2、[Size](サイズ)検索を選択(他は[None]にしてください)
3、小さいサイズを選択するので、[Lower]
4、キー検索のチェックボタンを押す。

そんな感じです。

キャッシュなどは同一名があると[~1]とかファイル名を変更している場合があるので対応できたら便利かも( ^ω^)・・・

—-追記
削るだけなら Flexible Renamer v8.4 で、できるそうです。

Flexible Renamer v8.4
http://hp.vector.co.jp/authors/VA014830/FlexRena/

[2018.11.9] お宅の再生環境どんな感じ? TVTest再生時のハードウェア支援の負荷を調べてみた!(NVIDIA CUVID,Intel QuicSync,DXVA2,TVTest_DTV_Video_Decoder)

ちょっと奥さん知ってます?HW支援よりすっごいの!ヘ(゚∀゚ヘ)アヒャ

結果から言うと何使ってもいいんじゃね?っていう。(雑)
再生できる環境で、自分がいいともうやつの納得いく設定で使えばいいと思う。そんな誤差。

先に一つインチキが( ^ω^)・・・PC-モニタの接続にNVIDIAのGeforceGTX970 使ってる関係で、NVIDIAの負荷がちょっと上乗せになっていると思いますので、そこはちょっと忖度してあげてください・・・
CPU Intel i7-6700(無印)
GPU Intel G530(CPUオンボード)
GPU NVIDIA GeForce970
モニタ BenQ RL2755(DVI接続)
室温 24.5度

オペレーティング システム: Windows 10 Pro, 64-bit
DirectX バージョン: 12.0
ドライバーのバージョン: 416.81

LAV Video Decoder 0.73.1

TVTest-master-180222
https://github.com/xtne6f/TvtPlay/

折角なんで、x64環境でAVX2を全部ONにしてビルド、最適化は最速最適化
TvtAudioStretchFilterにちょっと躓きながら再構築。

プラグインはTvtPlayTVCaptionMod2のみ、BonDriverはTvtPlay-work同梱のBonDriver_Pipeをビルドして使用。
xtne6f氏シリーズで。いつもお世話になってます

もちろん音声はTvtAudioStretchFilter.axで。

再生ソースはTS。今月のCS無料放送から。
General
Format : MPEG-TS
Overall bit rate mode : Variable
Overall bit rate : 8 982 kb/s

Video
Format : MPEG Video
Format version : Version 2
Format profile : Main@High
Format settings : CustomMatrix / BVOP
Format settings, BVOP : Yes
Format settings, Matrix : Custom
Format settings, GOP : M=3, N=15
Format settings, picture st : Frame
Bit rate mode : Variable
Maximum bit rate : 20.0 Mb/s
Width : 1 440 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 (30000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Interlaced
Scan order : Top Field First
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709

Audio
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Format version : Version 2
Sampling rate : 48.0 kHz
Compression mode : Lossy


何もしないときはこんな感じ。(GPU FAN停止)
タスクマネージャーやHW_Moniterの表示でCPUが1%くらい負荷がかかっている状態です。

各数値はスクリーンキャプチャした時点の数値で、平均値ではないので、ピリピリしないでください。
GPUクロックとかものすごく0の次が25%だったり乱高下してますので(^◇^;


DXVA2(NVIDIA Decoder)
この後5分ほど再生すると、GPUのファンが回る結果に…。


Intel_QuicSync(GPU FAN停止)
QSVでDecodeだけしている感じ。


NVIDIA CUVID(この時点ではGPU FAN停止)
この後5分ほど再生すると、GPUのファンが回る結果に…。

TVTestDTVVideoDecoder(GPU FAN停止)

VMR9 + TVTest DTV Video Decoder 軽いっすねぇ(^◇^;


あー、IntelGPUで接続してはかりなおしますよ・・・
個人的に納得がいかない気分になってきたので。
室温が24.0度下がってすべての状態で10分見ましたがファン動かず・・・CPUとケースファンのみ。めっちゃ静かです。
ゲームしなければ、俺の部屋こんなに静かだったのか(笑)
CPUFANが静音高性能なやつでケースファンも静音型の12cm。無音ではないですが、PC3台つけて中の上の高級エアコン(カタログスペック55dbより)より静かです。今なら。ヘ(゚∀゚ヘ)アヒャ

モニタ出力をグラボからマザーDVI端子出力へ変更。再起動後。


DXVA2(Intel Decoder)


Intel QSV 一番軽いですね。フィルタや画質の話抜きなら。
オンボードGPUも余裕があるようで、クロックが0%と50%が交互に出ているような感じでした。
後付けGTX970は6%前後でほぼお眠り中。再生なしでGTX970使用時が7%前後なので、挿しているなら使った方がいいのかもしれませんが…悩ましいw


GPU部分50%縮小で2つ表示に編集してます


再生専用ならIntelCPUに全やらせて高性能CPUFANで冷やす!

GTX970をゲームしないで、エンコードだけに使うならこの接続方法の方が消費電力少ないです。
消費電力載せるとまた微妙な水掛け論になるので、最小消費電力再生ということです。
後付けGTX970を使わないことが最小消費電力!&静音ヽ(*^。^*)ノ
画質やデインタレースやシークの操作性の話を抜きでお話をしております

サクサクシークするのはHW支援使わない状態の「TVTest DTV Video Decoder」ですね。
CPUクロックが1GHz以下とかさぼりすぎですので多少使ってあげてもいいかなと。
軽すぎてテストにならない環境ですが、H265/HVECやちょっと重めのフィルタかけたプレイヤーの重さを考えると、.ts(MPEG2_TS) 再生は TVTest + TVTest DTV Video Decoder がいいと思います。
好みでDXVA2オプションもDeinterlaceも使えますしね!
再生だけじゃなくてZappingしたいとか他のこともしたいとなると、使用者の環境構築力とさまざまな能力が必要になるので、あとは好きにしてください。

グラボのファンが+2つ回るよりCPUで分担して排熱したほうが負荷は少ないってことですな。
最近の普通のCPU使っていたら、省エネと静音考えたらグラボ使わないほうがいいということです(^◇^;

騒音指針の「オフィスrベルの騒音」ならGPUファンが回ったところで気にならないと思いますが、
「図書館レベルの騒音」の中だとファンもHDDも一つでも少ないほうがいいですよね!
昔うちのサーバールームを例えると道路工事が見える室内レベルでした・・・
NTTの交換機があるさーばーるむと変わらなかったですよw
104番号案内の画面とかCOBOLでしたからねぇ。デバッグ大変だった…(^◇^;
それはさておき。

GPUに依存しない「TVTest DTV Video Decoder」も素晴らしいですね!(比較用なんで今回DXVA2はオフです、設定はデフォルトVersion0.3.0-bata)
HW支援の細かい設定をやりたいならDXVA2じゃなくてもいいのかも。Deinterlace のハード&ソフトとかやり始めるときりがないのでお好みで!


さいごに、追加。
TVTest DTV Video Decoderで DXVA2を有効にしたもの。
GTX970接続なので、NVIDIAのグラボがアクセラレートしてくれています。
対応しているならば、DXVA2はさんでDirectXでラッピングされるより直接指定したほうが負荷は少ないようです。

うちの環境だと、てテストでLAVで面倒な設定しているときあったり、ころころデコーダー回り替わるので、TVTestは「TVTest DTV Video Decoderに」にして再生環境を独立させています。
ドキュメンタリーやバラエティーの見て捨て程度の再生にはこちらでいいかと’`,、(´▽`) ‘`,、

(GitHub)DGIndex 1.5.8 改造クロッピング保存gui.cppいじるよ!(途中経過)

CPP読めないのいじり回していたメモヘ(゚∀゚ヘ)アヒャ
差分取るのも面倒なちょっとした修正。初期化前に待避して保存しているだけ

目的があればコードの少ないこういうところをいじりながら他人のソースを眺めるのも勉強ですよね
C#読めればGUIの部分はC言語と大して変わりが無いので読解しやすいかと。
複雑な構造体や継承は他人のソースだと生産性やスピードが落ちるだけですからねぇ
多人数作業のTOPは頭の中に全部あるのは普通(触れているので当たり前)だとしても、
末端はそこまで作業で触れていないので理解しろと言われても保険の定款とおんなじですよね
パワハラもいいところw

いつでも再開できるように・・・メモ書くのが面倒になったので、忘れないようにソースあげて保存。
gui.cpp.diff

ウィンドウサイズの変更とウィンドウサイズに合わせてストレッチもつけたいですなぁ
なんと言っても軽いのがイイです。

—ゴミメモ、持病の痛みがひどいので編集途中です・・・上のDiffがメイン。
—いつものようにがっつり削除ソースやめてDiffにしたのでいろいろな問題解決?
24a25,26
> #define CROP_SAVE // Croppin_Flag & Clip save(Oct 2018: mryo custom)
>
36c38,43
< static char Version[] = "DGIndex 1.5.8"; --- > #ifdef CROP_SAVE
> static char Version[] = “DGIndex 1.5.8mod7fix + Cropping Oct’18”;
> #else
> static char Version[] = “DGIndex 1.5.8mod7fix”;
> #endif // CROP_SAVE
>
91a99,109
> #ifdef CROP_SAVE // mryo 2018.10.12
> static void CropReset(void);
> static void CropSwap(bool);
> static void CropRestore(bool);
> // mryo 2018.10.12
> int swapClip_Top, swapClip_Bottom, swapClip_Left, swapClip_Right;
> bool swapCropping_Flag, swap_Flag;
> // mryo
> #endif // CROP_SAVE
>
>
224a243,247
>
> #ifdef CROP_SAVE
> CropReset();
> #endif // CROP_SAVE
>
285a309,313
> // mryo 2018.10.12
> if (INIT_X < 0) INIT_X = 0; > if (INIT_Y < 0) INIT_Y = 0; > // mryo
>
346a375,383
>
> #ifdef CROP_SAVE
> //mryo 2018.10.12
> fscanf(INIFile, “Cropping_Flag=%d\n”, &swapCropping_Flag);
> fscanf(INIFile, “Clipping=%d,%d,%d,%d\n”,
> &swapClip_Left, &swapClip_Right, &swapClip_Top, &swapClip_Bottom);
> CropRestore(true); // Clipデータのみ反映
> #endif // CROP_SAVE
>
1295a1333,1337
> #ifdef CROP_SAVE // d2v読み込み時はいらないかも
> CropSwap(true);
> swap_Flag = false;
> #endif // CROP_SAVE
>
2385a2428,2444
>
> #ifdef CROP_SAVE
> {
> bool saveflag = Cropping_Flag;
>
> //mryo 2018.10.12
>
> if (!Cropping_Flag) // フラグが立っていればそのまま保存
> {
> // swap_flag このフラグがっているときは、ファイルが閉じられた場合、ファイルが開かれる前:クロップフラグ情報を引き継ぐ
> if (swap_Flag) saveflag = swapCropping_Flag;
> }
> fprintf(INIFile, “Cropping_Flag=%d\n”, saveflag);
> fprintf(INIFile, “Clipping=%d,%d,%d,%d\n”, Clip_Left, Clip_Right, Clip_Top, Clip_Bottom);
> }
> #endif // CROP_SAVE
>
3179a3239,3242
> #ifdef CROP_SAVE
> // swap データを無効化
> swap_Flag = false;
> #endif
4129c4192,4196
< Clip_Left = Clip_Right = Clip_Top = Clip_Bottom = 0; --- >
> #ifdef CROP_SAVE
> CropSwap(Cropping_Flag);
> #endif // CROP_SAVE
>
4328c4395,4398
< --- > #ifdef CROP_SAVE
> CropRestore(false);
> #endif // CROP_SAVE
>
4411a4482,4489
> #ifdef CROP_SAVE
> // mryo 2018.10.12
> // swapCropping_Flag ONならチェックを入れて各クロップ数値を設定する
>
> CropRestore(true);
> if (Cropping_Flag) CheckMenuItem(hMenu, IDM_CROPPING, MF_CHECKED);
> #endif // CROP_SAVE
>
4897a4976,5015
>
> #ifdef CROP_SAVE
> /* CROP_SAVE
> * 初期化後、INIファイル読み込みで前回のクロップデータを読み込む
> * ファイルオープン後にフラグ設定でクロップデータを戻して反映
> * ファイルクローズ時にクロップデータを保存
> * ・INI保存はスワップしたデータからの方がタイミングがいいかもしれない
> *
> * 動画ファイルを閉じているとき、アプリを終了したばあいクロップデータが初期化されたまま保存される
> * D2V読み込み時にクロップデータを退避しておく
> */
> static void CropReset(void)
> {
> Clip_Left = Clip_Right = Clip_Top = Clip_Bottom = 0;
> swapClip_Left = swapClip_Right = swapClip_Top = swapClip_Bottom = 0;
> Cropping_Flag = swapCropping_Flag = swap_Flag = false;
> }
>
> static void CropSwap(bool OverWrite)
> {
> if (!OverWrite && swap_Flag) return;
>
> swapClip_Left = Clip_Left;
> swapClip_Right = Clip_Right;
> swapClip_Top = Clip_Top;
> swapClip_Bottom = Clip_Bottom;
> swapCropping_Flag = Cropping_Flag;
> swap_Flag = true;
> }
>
> static void CropRestore(bool FlagRestore)
> {
> Clip_Left = swapClip_Left;
> Clip_Right = swapClip_Right;
> Clip_Top = swapClip_Top;
> Clip_Bottom = swapClip_Bottom;
>
> if(FlagRestore) Cropping_Flag = swapCropping_Flag;
> }
> #endif // CROP_SAVE
\ No newline at end of file

DGIndex 1.58バグ対応の個人的再構築メモ[mod20171024版](GitHub)

みんなメモ取るのが好きなんです!(笑)VisualStudio使う方法が見えたのでなんとなくやってみたw

さらにメモの追記でごちゃごちゃしてますm(__)m

アニメとかエンコード関連の自分用メモとか
http://ruquiadia.blog.fc2.com/blog-entry-39.html

dgindex158src_fix_mod-雄志方の方の公開→(GitHubにない履歴とかコメントは今後の参考になりまする)(下にGitHub公開のリンクあります)
こちら

準備:
NASMの展開例: E:\vs17\nasm\nasm.exe

■ まずはDGMPGDec-158-mod_20171024\DGMPGDec_Build_Release_msvc15.bat を使う場合(3ステップ)
[DGMPGDec_Build_Release_msvc15.batを編集]
A.46行目の[rem]を取る。

45: rem Windows XP support
46: set WINXPISDEAD=1

B.NASMのパスをSetで入れておく
echo —————————————————–
echo S T A R T
echo —————————————————–

set NASMPATH=E:\vs17\nasm\   ←追加 

set VisualStudioVersion=15.0
—-

C.コマンドプロンプトからバッチ起動。完。
DGMPGDec-158-mod_20171024\bin\msvc15.0\Release に一式ビルドされる。

■ 次にDGMPGDec-158-mod_20171024\msvc\DGMPGDec.sln を使ってみる(編集する場所はありません)
・NASM(VS2017を使う場合、環境設定でPATHを通しておく)
E:\vs17\nasm\nasm.exe へのパスを通す例


・VisualStudio2017(今のバージョンで15.8.7 C#とC++があれば大抵潰しが効く)
★アプリのVisualStudioインストーラーを開いて、インストール済み→編集→個別のコンポーネントから「C++に関する WindowsXPのサポート」を選択・インストール

objの依存関係があるみたいなので、Release.Win32でビルドして2成功1失敗とかになったら、1度Debug.win32でビルドして、その後Release.Win32 に切り替えてビルド。でいけると思います。
3失敗の場合はビルド環境ができてません^^;
エラー見て足りないもの入れて構築を繰り返しましょう。

バッチで動いているので、VisualStudioでビルドする意味は特にありませんが、ソースがみたいとかちょっと編集と言うときにはあるに超したことが無いですものね!っていうお話。

追記—-前にもやってた(^◇^;

NASMの設定など
DGIndexの修正版をビルドしてみたので手順のメモ

DGIndexの修正版をビルドしてみたので手順のメモ

GitHub – maki-rxrz/DGMPGDec
https://github.com/maki-rxrz/DGMPGDec

後で気づいたけど、前にバッチ使うやり方はやってた・・・^^;
2017年6月18日 VisualStudio2017Community で DGIndex(dgmpgdec158)の修正版をビルドしてみた!
http://nln.jp/wp/archives/1719

エコノミークラス症候群と発熱と。いろいろ計画中断です。

まぁあれです。よくあるやつです。
ちょっと症状がよくなって床ずれ起こしそうなので息抜きに。

生理現象+の、「食事やトイレ・風呂」以外20時間も同じ椅子に座っているとかかるやつです(・∀・)アヒャ!!

涼しくなって急に水分とる機会も減って、健康診断も終わってチョコパイ食い放題モードに入ったとこに、生ロールケーキもらったり三越閉店前の食べ歩きで体に悪いものたくさん取り過ぎたのも原因ですが、

運動不足」が一番の厳ですねヘ(^^ヘ)(ノ^^)ノヘ(^^ヘ)(ノ^^)ノ

結果的に30分以上椅子に座っていられない@@
血栓からうっ血症状で、詰まった周りが変色してくるので・・・

ヘパリンとか抗凝固薬系のお世話になっている状況です。
そんなところにめまい発熱悪寒鼻水下痢となんかヤバイのをもらってきました。
6時間後に意識があれば病院でまったりしているかと。

おっさん、お迎えが来たかと思いましたよ。
偏頭痛がひどい状況できっつい食あたりが来たような^^;
しかし!お迎え予兆の後は、部屋の掃除が終わるまではくたばる訳にはいかないですよね!
まずはVHSとDVDのマニアック&エロビデオを処分しないと…(ロリ・裏はないですよ^^;)
「食人族」とか「痛いビデオ」とか今では発禁ものです。所有上法に触れないていどの市販品やレンタルビデオ処分売り品。「絶対見てはいけないビデオ」とか貞子ブームの時はやりましたもんねぇ
元気なうちは捨てるのも名残惜しい青春時代の思い出。初恋の写真とともに(;^_^A アセアセ・・・

偏頭痛ネタの小説が身内で不評ですが、続きが書けそうですヘ(゚∀゚ヘ)アヒャ

計画中断の世界征服プロジェクトではなく、いろいろ組み合わせて環境構築しようズラ的なやつは中断というかボツネタで。

・Unity 2018.2.10f1 (64-bit)関連「TSプレイヤー:進捗2%動画再生できたところまで」
・(AVerMedia AVT-C878)RECentral_v4.2.0.30関連「白化現象続編:モニタがスリープに入った時の動作検証」
・MediaInfo関連「mp4のbox情報書き換えツール」(未着手)
・シュガーペーストでハロウィンを飾ろう計画(夜食に消えました)
・新PC購入:考察止まり

いろいろ手から離れて楽になりそうな、そうでも無いようなくだらないものが多いですねw
趣味ってそういうもんです。

暇があったらメモ整理して張りますm(__)m

[2018.10.3] Windows10 October2018!いまさら Unity を使ってみる(使えるのかな?)の巻。番組改編時期で新番組を見逃すな!古い録画ファイルをサクッと整理したいよね? Unity2018.2.10f1の開発環境は VisualStudio2017 Microsoft.Net.4.7.1.TargetingPack?

台風一過というか、台風が来るので通り過ぎるまで暇を潰そうというお話。
OSもリフレッシュしたし何か違うことをしよう!

背景:
TS録画ファイルがこんもりたまっている。キーワードで「新」なんてしておくと、新作タイトルどころが、新潟ローカル局の番組はほぼ全部録画されちゃいますil||li _| ̄|● il||li
まぁそんな設定はさておき、軽快なシークができるアプリがちょいとほしいんですが・・・というところで。
自前コンパイルビルド品のDGIndexがちょいちょい止まるんで、代替え品つくりたい感じですな。

普通に作ってもネタにならないので、マイナーキーワード探してググっていると Unity にも VideoPlayer 機能があるという。

仕様を見て躓く:
言語はC/C++。スクリプトがC#とか。最新版はC#[も]使えるらしい。
日曜大工てきなお気楽モードでは敷居が高い。VisualStudioのコーディング作業に慣れると他の言語の生産効率(デバッグ含む)がきつく感じてしまいます。
数年前まで、秀丸とgccでも平気だったのにねぇ・・・
おじいさんきついわぁ
モニタでかくてモニタ離が離れたせいで誤字脱字多いんで、コーディング中に単語チェックしてくれるVisualStudioから離れたくないw
C++は読めるけどコーディングもデバッグもしたくないなぁという、オートマに慣れたらマニュアルの利点すら憧れながらも我慢して乗り続けるみたいな・・・

Unityインストール:
・Unity を選択 + ダウンロード(←こちらをクリック。英語は避けて通ろう)
・Unity Hub をダウンロード(UnityHubの詳細に飛ぶと英語コミュニティーに飛ばされる(^◇^;)
 使わないと衰える英語長文・スラング読解(^◇^; いや~いや~めんどくちゃい。

Unity Personalをダウンロードしよう!
https://store.unity.com/ja/download?ref=personal
>会社の年間総売上が $100,000 を超えないようにしてください。$100,000 以上の資金調達を行っていません
よゆうっすね! $1でもお金欲しいくらいw

Unity バージョン用システム要件 2018.2.10
リリースしました: 26 September 2018
OS: Windows 7 SP1+, 8, 10; macOS 10.11+.
GPU: DirectX 9 相当 (シェーダーモデル 3.0) の性能を持つグラフィックスカード、またはDirectX11機能レベル9.3に対応

ゴシゴシっ(*_*) 2018.9.26リリースに見える。バージョンは2018.2.10
最新版っぽい?なんかぞわぞわするのは潔癖症のせいではあるまいw
本土に合わせたんだろうし仕方ないんだろうけど、バージョンに日付使うのとリリース費にギャップがある場合は意思疎通厳にしないとミスリード起こすから別の表記にした方が・・・いいよね?

UnityDownloadAssistant-2018.2.10f1.exe (778KB)
UnityDocumentationSetup.exe
UnitySetup64.exe
と、1GB暗いダウンロード

Microsoft.Net.4.7.1.TargetingPack が533MBとかあるので、混んでる時間帯は時間がかかります・゚・(ノД`)・゚・

実装としては、フレーム指定してPause(一時停止で)シークしていく感じでできればいいなぁと。
Unity使う分、最初の敷居は高いけど、こんごも3Dネタ作るときに使えればいいかもっていう打算の元、ちょっと踏み出してみる。
DirectX(DirectShowあたり)で普通に組んだ方が王道だとは思いますが、まずは脇道を潰してダメなら王道に向かいます^^;

↓基本的にはこんな感じのものを、こねこねごにょごにょしてみたい

UnityのVideoPlayerを使った!
http://bibinbaleo.hatenablog.com/entry/2017/06/28/103515

VideoPlayer
https://docs.unity3d.com/560/Documentation/ScriptReference/Video.VideoPlayer.html

// Examples of VideoPlayer function

using UnityEngine;

public class Example : MonoBehaviour
{
void Start()
{
// Will attach a VideoPlayer to the main camera.
GameObject camera = GameObject.Find(“Main Camera”);

// VideoPlayer automatically targets the camera backplane when it is added
// to a camera object, no need to change videoPlayer.targetCamera.
var videoPlayer = camera.AddComponent();

// By default, VideoPlayers added to a camera will use the far plane.
// Let’s target the near plane instead.
videoPlayer.renderMode = UnityEngine.Video.VideoRenderMode.CameraNearPlane;

// This will cause our scene to be visible through the video being played.
videoPlayer.targetCameraAlpha = 0.5F;

// Set the video to play. URL supports local absolute or relative paths.
// Here, using absolute.
videoPlayer.url = “/Users/graham/movie.mov”;

// Skip the first 100 frames.
videoPlayer.frame = 100;

// Restart from beginning when done.
videoPlayer.isLooping = true;

// Each time we reach the end, we slow down the playback by a factor of 10.
videoPlayer.loopPointReached += EndReached;

// Start playback. This means the VideoPlayer may have to prepare (reserve
// resources, pre-load a few frames, etc.). To better control the delays
// associated with this preparation one can use videoPlayer.Prepare() along with
// its prepareCompleted event.
videoPlayer.Play();
}

void EndReached(UnityEngine.Video.VideoPlayer vp)
{
vp.playbackSpeed = vp.playbackSpeed / 10.0F;
}
}