<< 野田総理 本会議場の演壇で ”ろれつ回らず頬をシバく” | main | 警察 「ウイルス対策ソフトを買ってください!」 >>

DVD/CDレンタル

Win8でMediaCenterのDTV-DVD使えないのは単にTVTestのバグ

0

     テレビのテストにバグがあってWindows8では映像をデコード出来なかった件。
    -----
    とある人がTVTest0.8.0のメディアタイプ設定にバグが潜んでいることを発見した。
    これを治すにはソースファイルを修正して自分でビルド(コンパイル)しなければならない。

    修正が必要な箇所は以下の通り
    TVTest0.8.0付属のソースファイル:../BonTsEngine/MediaViewer.cpp
    (オリジナル)
        // ビデオヘッダ設定
        VIDEOINFOHEADER2 &VideoHeader = pVideoInfo->hdr;
        //::SetRect(&VideoHeader.rcSource, 0, 0, Width, Height);
        VideoHeader.bmiHeader.biWidth = Width;
        VideoHeader.bmiHeader.biHeight = Height;

    これの42行目、43行目の間に新たな1行目を追加
    追加分
    VideoHeader.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);

    (修正後)
        // ビデオヘッダ設定
        VIDEOINFOHEADER2 &VideoHeader = pVideoInfo->hdr;
        //::SetRect(&VideoHeader.rcSource, 0, 0, Width, Height);
         VideoHeader.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
        VideoHeader.bmiHeader.biWidth = Width;
        VideoHeader.bmiHeader.biHeight = Height;

    この修正を加えた上でビルドするとWindows7の時と同じようにMS純正DTV-DVDデコーダが利用できるようになる。しかしビルドなどしたことない!自分には出来ない!
    そのように思う方でもTVTestで視聴できる環境を整えた方なら出来るよ。
    特にKEIANチューナーROMを自力で書き換えた人なら絶対に出来ますし、
    仮に失敗してもTVTestが動かないだけですから再度チャレンジすればOK!
    書かれた手順を焦らずゆっくり確かめながら、1つ1つ進めれば1時間もあれば出来ますよ。

    私は書き間違いのある手順を進めていたので何度も失敗しましたが
    正しい手順で行えば内容を理解してなくても確実にビルド出来ます!

    また私の環境では何を行ってもWindows7SDKが正常にインストール出来ませんでした。
    もちろん x86 VC++2010 Runtime を削除してもダメだったので仮想PCのXPで実行しました。
    ようは SDK V7.1 の中にあるサンプルが取り出せれば事は足りるので
    何らかの方法でこれを入手すれば正常にビルドが可能のようですよ。

    さて以下には実際のビルド手順です。
    引用の元になった2ch書き込み
    http://toro.2ch.net/test/read.cgi/avi/1348843415/554-556
    http://toro.2ch.net/test/read.cgi/avi/1348843415/676

    実際に作業を始める前にTeraPadなどで記事冒頭に書いた修正を施してください

    -----

    入手するファイル
    ・TVTest_0.8.0.7z *自力で探してください*
    ・tvcas_attachment_20120915.7z *自力で探してください*
    ・dtvengine.diff.txt(http://pastebin.com/Jw5FJrLE
    ・patc254w.zip(http://cetus.sakura.ne.jp/softlab/toolbox1/index.html
    ・TVTestModBuild2.zip(http://www1.axfc.net/uploader/Sc/so/381174
    ・Visual C++ 2010 Express(http://www.microsoft.com/ja-jp/dev/express/default.aspx
    ・Windows SDK for Windows 7(http://www.microsoft.com/downloads/dlx/en-us/listdetailsview.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b
    ・faad2-2.7.zip(http://www.audiocoding.com
    ・TeraPad(http://www5f.biglobe.ne.jp/~t-susumu/library/tpad.html
    ・winscard_wrapper.zip(http://www1.axfc.net/uploader/Sc/so/381289)*無くとも良い*

    1.Visual C++ 2010 Expressをインストール(TVTestをビルドする分にはSP1は不要)
    2.Windows SDK for Windows 7をインストール
    (Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219がインストールされていた場合、インストール失敗するのでアンインストールしておく)
    3.patc254w.zipを解凍。Cドライブ直下に配置(C:¥patc254w¥patch.exe)
    4.Cドライブ直下にsrcフォルダを作る(C:¥src)
    5.dtvengine.diff.txtを『download』からダウンロード
     dtvengine.diff.txtをTeraPad等のテキストエディタで開き、文字コード:SHIFT-JIS、改行コード:LFにして上書き保存。
     C:¥srcにコピー(C:¥src¥dtvengine.diff.txt)
    6.TVTest_0.8.0.7zを解凍。さらにTVTest_0.8.0_Src.7zを解凍。でてきたTVTest_0.8.0_SrcフォルダをC:¥srcフォルダにコピー(C:¥src¥TVTest_0.8.0_Src)
    7.tvcas_attachment_20120915.7zを解凍
    ..¥tvcas_attachment_20120915¥TVCAS¥TVCAS.hをC:¥src¥TVTest_0.8.0_Src¥BonTsEngineにコピー
    8.TVTestModBuild2.zipを解凍。さらにdiff_src.zipを解凍。
    ..¥TVTestModBuild2¥diff_src¥DirectShowFilter¥VMR9Renderless.cppをC:¥src¥TVTest_0.8.0_Src¥DirectShowFilter¥VMR9Renderless.cppに上書き
    (diff_src以下を丸ごと上書きしてもおk)(もしTVTestModBuild2.zipを入手できなくなっていたら>>470を手作業でする)(proの場合この作業は不要?)

    9.コマンドフロンプトを管理者として実行、以下を一行ずつ入力
    cd C:¥src
    C:¥patc254w¥patch.exe -p0 < dtvengine.diff.txt
    10.『..¥src¥TVTest_0.8.0_Src¥DtvEngine¥DtvEngine.cpp』のmd5ハッシュが『bae37019f5bb357981198b31c16caad1』になってたら成功
    11.faad2-2.7.zipを解凍し、適当な場所に配置(C:¥faad2-2.7)
    12.Microsoft Visual Studio 2010を起動
    13.『プロジェクトを開く』からC:¥faad2-2.7¥frontend¥faad.slnを開く
    変換ウィザードがでてくるけどダイアログに従ってそのまま変換
    14.ツールバーにある緑色の横向き三角ボタンの右側にあるプルダウンメニューが『Debug』になっているのを確認し、『Release』に変更
    ソリューションエクスプローラー上(左側にあるやつ)の『libfaad』を右クリックして『ビルド』
    『C:¥faad2-2.7¥libfaad¥Release¥libfaad.lib』ができていたら成功
    15.C:¥Program Files¥Microsoft SDKs¥Windows¥v7.1¥Samples¥multimedia¥directshow¥baseclasses¥baseclasses.slnを開く
    (環境によってパスが微妙に変わる)
    16.ソリューションエクスプローラー上の『BaseClasses』を右クリックして『ビルド』
    この時、ツールバーにある緑色の横向き三角ボタンの右側にあるプルダウンメニューが『Debug』になっているのを確認する
    17.上のプルダウンメニューを『Release』にしてもう一度、『BaseClasses』を右クリックして『ビルド』
     C:¥Program Files¥Microsoft SDKs¥Windows¥v7.1¥Samples¥multimedia¥directshow¥baseclasses¥Debug¥strmbasd.lib
     C:¥Program Files¥Microsoft SDKs¥Windows¥v7.1¥Samples¥multimedia¥directshow¥baseclasses¥Release¥strmbase.lib
    が作成されているのを確認

    現在のファイル構成
    C:¥src¥TVTest_0.8.0_Src
    C:¥src¥TVTest_0.8.0_Src¥BonTsEngine¥TVCAS.h(tvcas_attachment_20120915.7zからコピーしたもの)
    C:¥src¥TVTest_0.8.0_Src¥DirectShowFilter¥VMR9Renderless.cpp(TVTestModBuild2.zipから上書きしたもの)
    C:¥faad2-2.7¥libfaad¥Debug¥libfaad.lib
    C:¥Program Files¥Microsoft SDKs¥Windows¥v7.1¥Samples¥multimedia¥directshow¥baseclasses¥Debug¥strmbasd.lib
    C:¥Program Files¥Microsoft SDKs¥Windows¥v7.1¥Samples¥multimedia¥directshow¥baseclasses¥Release¥strmbase.lib

    18.C:¥src¥TVTest_0.8.0_Src¥TVTest.slnを開く。16.のプルダウンメニューを『Release』にする
    19.ソリューションエクスプローラー上の『TVTest』を右クリックして『プロパティ』
    20.『構成プロパティ>C/C++>全般>追加のインクルードディレクトリ』の先頭に以下を追記
    『C:¥Program Files¥Microsoft SDKs¥Windows¥v7.1¥Samples¥multimedia¥directshow¥baseclasses;』
    21.『構成プロパティ>C/C++>コード生成』
     ランタイムライブラリ:マルチスレッド DLL (/MD)
    22.『構成プロパティ>リンカー>追加のライブラリディレクトリの先頭に以下を追記』
    『C:¥faad2-2.7¥libfaad¥Release;C:¥Program Files¥Microsoft SDKs¥Windows¥v7.1¥Samples¥multimedia¥directshow¥baseclasses¥Debug;C:¥Program Files¥Microsoft SDKs¥Windows

    ¥v7.1¥Samples¥multimedia¥directshow¥baseclasses¥Release;』
    23.ソリューションエクスプローラー上)の『TVTest』を右クリックして『ビルド』
    これでC:¥src¥TVTest_0.8.0_Src¥Win32¥Release¥TVTest.exeができる筈
    XP環境なんでWin7とかだとC:¥Program Files¥Microsoft SDKs〜とかのパスが変わると思う
    この方法でビルドしたTVTest.exeは1.51MB
    コンパイルオプションが変わったりするとサイズも微妙に変わると思う
    24.TVTestフォルダにビルドしたTVTest.exeを上書き
    25...¥tvcas_attachment_20120915¥TVCAS¥Win32¥Release¥TVCAS_B25.tvcasをTVTest.exeと同じフォルダに配置
    26.以前使っていたTVTestフォルダのwinscard.dll(BonDriver_FSUSB2N 0.3.10 2011-05-08等)をwinscard.dl_にリネーム
    27.winscard_wrapper.zipを解凍。TVTestフォルダにwinscard.dllをコピー

    ファイル構成
    C:¥DTV¥TVTest
    C:¥DTV¥TVTest¥TVTest.exe(ビルドした物)
    C:¥DTV¥TVTest¥TVCAS_B25.tvcas
    C:¥DTV¥TVTest¥winscard.dl_(BonDriver_FSUSB2N 0.3.10 2011-05-08等)
    C:¥DTV¥TVTest¥winscard.dll(winscard_wrapper.zip)

    とりあえず自分はdiff_src以下を丸ごと上書きしてビルドしたTVTest.exeで視聴、録画、再生してる

     

    PT3 Rev.A
    PT3 Rev.A
    posted with あまなつ on 2012.11.05
    価格:
    アースソフト
    売り上げランキング: 519
    NTT-ME SCR3310-NTTCom
    NTT-ME SCR3310-NTTCom
    posted with あまなつ on 2012.11.05
    価格:
    NTT-ME(2007-07-24)
    売り上げランキング: 213

    コメント
    コメントする









    この記事のトラックバックURL
    トラックバック
    calendar
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     
    << December 2012 >>
    search this site.
    月間レンタル・ランキング
    記事中で紹介したグッズ
    selected entries
    categories
    archives
    recent comment
    • 【大津中2いじめ自殺事件】 第三者委員会 いじめと自殺の因果関係解明せず
      まや (12/25)
    • Windows8開発責任者、シノフスキーって名前のおっさんが退社
      電脳シーナ (12/11)
    • 【Windows8】 製品化前の最終プレリリース版 一般公開
      Win8 ユ−ザ− (10/22)
    • また Craving Explorer でYoutubeが取得できないとやってきている
      JARO (10/09)
    • また Craving Explorer でYoutubeが取得できないとやってきている
      あ (10/09)
    • 【CravingExplorer】 取得失敗 どうやら終了のお知らせのようです
      kaze (10/05)
    • また Craving Explorer でYoutubeが取得できないとやってきている
      JARO (09/23)
    • また Craving Explorer でYoutubeが取得できないとやってきている
      北大野町 (09/23)
    • 【CravingExplorer】 取得失敗 どうやら終了のお知らせのようです
      duck (09/23)
    • また Craving Explorer でYoutubeが取得できないとやってきている
      PONきち (09/23)
    recent trackback
    links
    profile
    others
    mobile
    qrcode
    PR
    powered
    無料ブログ作成サービス JUGEM