最新TVTest.exeのビルド手順(Visual Studio 2017版)


前回の記事でTVTest.exeでTVTestVideoDecoderを使用しようとしたがどちらも最新じゃないとダメらしい。
そこでTVTest.exeをビルドすることにした。
今月出たばっかりのVisual Studio 2017を使用した。

What’s New in Visual Studio 2017


ここのcommunity 2017を選択
communityとはオープン ソース開発者、個人開発者のためにデザインされたあらゆるアプリを開発ツールだ。なんと無料
ダウンロードしたファイルを実行する

続行を押す

C++によるディスクトップ開発を選択しインストールを押す

インストール中

インストールが完了したら起動を押す。
起動の際、Microsoft アカウントのログインを求められる。
IDが無ければ新規作成する。
IDを作ってログインすれば先に進む

無事に起動したらインストールは完了だ。
TVtestのソースなどは2ちゃんねるを参考した
【TVTest】ビルドした・するスレ【EDCB】©2ch.net
http://echo.2ch.net/test/read.cgi/avi/1486455044
このスレの先頭部分に下記の書き込みがある

開発版Tvtest 0.9.0 ソース
https://github.com/DBCTRADO/TVTest/tree/develop

●TVTest
TVTest-develop.zipを解凍
WinSDK v7.1のBaseClasses/*.cppと*.hを、TVTest-develop/src/BaseClassesにコピー
TVTest.slnをダブルクリック → Release → ソリューションのビルド
baseclassesだけコピーしとけばWin7SDK入れなくてもおk
http://www1.axfc.net/uploader/so/3121693

●CasProcessor.tvtp
CasProcessor.zipを解凍
・TVTest-develop/srcから以下の2ファイルを上書き
TVTestPlugin.h
TVTestInterface.h

・CasProcessor.cppの2170行目を修正
Info.ConnectPosition = TVTest::TS_PROCESSOR_CONNECT_POSITION_POSTPROCESSING;

・CasProcessor.rc 11~13行目修正 TVTest 0.8.2に合わせる
AUTOCHECKBOX “EMM処理を行う(&M)”,IDC_PROPERTIES_ENABLEEMMPROCESS,8,20,80,9
RTEXT “使用する拡張命令(&E):”,IDC_PROPERTIES_INSTRUCTION_LABEL,8,38,72,8

CasProcessor.slnをダブルクリック → Release → ソリューションのビルド

開発版Tvtest 0.9.0 ソース をダウンロードして解凍し
baseclassesを解凍し、中身をすべて
解凍したTvtestの「TVTest-develop/src/BaseClasses」に上書きコピー
その後解凍したTvtestの「TVTest-develop/src」のTVTest.slnをダブルクリック

Visual Studio 2017の為ソースのアップデートが必要なのでOKを押す

debugをreleaseに変更

ソリューション全体の再ターゲットが必要なので
ソリューションエクスプローラーのソリューションTVtestを右クリックして「
ソリューションの再ターゲットをクリック

その後ビルドするがなぜか失敗する。
LINK : fatal error LNK1104: ファイル ‘evr_vista.lib’ を開くことができません。
とのエラーメッセージ
そこで

編集→検索と置換→フォルダーを指定して検索をクリック
そこで検索する文字列をvistaを入力、次を検索をクリック
EVRPresenterBase.hの下記の文字列が表示されると思うので
EVRPresenterBase.h
#pragma comment(lib, “evr_vista.lib”)
#pragma comment(lib, “mf_vista.lib”)
#pragma comment(lib, “mfplat_vista.lib”)
この3か所の文字列を下記のように_vistaを削除する。
#pragma comment(lib, “evr.lib”)
#pragma comment(lib, “mf.lib”)
#pragma comment(lib, “mfplat.lib”)

削除したら表示の下のフロッピーマークのボタンを押して保存する。
その後ビルドする

ビルド成功
これで「TVTest-develop\src\Win32\Release\」にTVTest.exeが出来てる。
初めてTVTestのビルドの方はこの後CasProcessor.tvtp のビルドが必要だが私の環境では既にビルド済みなのでここでは省略する。
2ちゃんねるに書いてある手順で問題なくビルドはできるようだ。
Visual Studio 2017でビルドしたCasProcessor.tvtpの動作確認はしてない


Windows10用KB4013429の適用後、Microsoft DTV-DVD Decoderが使えない


Windows10のTVtestのMPEG2のデコーダをMicrosoft DTV-DVD Decoderで使用していた。

しかし2017 年 3 月 15 日の累積的な更新プログラムKB4013429の適用後TVtestのMicrosoft DTV-DVD Decoderが使用できなくなった。
TVtestは動作を停止しましたとメッセージがでる。

様々な憶測があるが使えないと困るので代用MPEG2のデコーダを探した。
まず使ったのがCCCP – Combined Community Codec Pack
http://www.cccp-project.net/

ソ連のマークでなんか怪しいが有名な主要なフォーマットに対応したコーデックパックだ。評判は高い。
インストールしてデコーダを指定すればすぐ使える。

LAV Video Decoderを指定する
しかし某大型掲示板ではTVtestと同じ作者のTVTestVideoDecoderを推す声が多い
https://github.com/DBCTRADO/TVTestVideoDecoder/releases
ここのver.0.3.0が最新版だ。
解凍した「TVTestVideoDecoder.ax」をTVTest.exeと同じフォルダに入れてデコーダを指定すればいい。

TVTestVideoDecoderを指定する。
しかし私の中途半端に古いTVTest.exe0.9.0だと動かない。

TVTest.exeもTVTestVideoDecoderも最新じゃないとダメらしい。
次回の投稿ではTVTest.exeのビルド手順を記事にしたい。

最新TVTest.exeのビルド手順(Visual Studio 2017版)