2021年6月22日火曜日

内部ストレージ化に使用したSDカードを再び内部ストレージ化して使用する

Android10から11へOSアップデート後、再び利用できる状態にします。
  1. SDカードをexFATでクイックフォーマットします。
  2. 利用するAndroid端末をADB Shellで内部ストレージ化します。
    C:\>adb shell
    SO-41A:/ $ sm list-disks
    disk:179,64
    SO-41A:/ $ sm list-volumes
    private mounted null
    emulated;0 mounted null
    public:179,65 mounted EE55-85F3
    SO-41A:/ $ sm partition disk:179,64 mixed 50
    SO-41A:/ $ sm list-volumes
    private:179,67 mounted 3afcb1cc-27cf-4763-b806-cdd2491e9bbd
    private mounted null
    emulated;0 mounted null
    public:179,65 mounted 1C25-83D6
    emulated:179,67;0 unmounted null
    SO-41A:/ $
    

2021年3月11日木曜日

TVTest、BonDriver、EDCBをVisual Studio Build Toolsで64bit版にビルドする。

  1. Visual Studioのダウンロードサイトから「Build Tools for Visual Studio 2019」をダウンロードし、インストールする。
  2. Visual Studio Installerを起動し、ビルドに必要なツールとオプションを選択する。
    C++ Build Tools
    .NET デスクトップ ビルド ツール
    Visual Studio Build Tools 2019
  3. スタートメニューから「Visual Studio 2019」の「x64 Native Tools Command Prompt for VS 2019」でコマンドプロンプトを起動する。
  4. BonDriverのビルドで「インライン変数には、最低でも '/std:c++17' が必要です」というエラーになるので、CL環境変数を指定する。
    SET CL=/std:c++17
  5. ソリューションファイルを指定してMSBuildコマンドでビルドする。
    msbuild LibISDB.sln -toolsVersion:Current -property:Configuration=Release;Platform=x64;PreferredToolArchitecture=x64;PlatformToolset=v142 -target:Clean;Build
    警告は出ても、ビルドに成功した旨のメッセージが表示されて、エラーが0であれば問題ないはず。
    ~ 略 ~
    プロジェクト "C:\TVTest-develop\src\TVTest_All.sln" (Clean;Build ターゲット) のビルドが完了しました。
    
    
    ビルドに成功しました。
    
    "C:\TVTest-develop\src\TVTest_All.sln" (Clean;Build ターゲット) (1) ->
    "C:\TVTest-develop\src\TVTest.vcxproj.metaproj" (既定のターゲット) (10:2) ->
    "C:\TVTest-develop\src\TVTest_Image\TVTest_Image.vcxproj.metaproj" (既定のターゲット) (8:3) ->
    "C:\TVTest-develop\src\TVTest_Image\libjpeg\libjpeg.vcxproj" (既定のターゲット) (3:6) ->
    (ClCompile ターゲット) ->
      C:\TVTest-develop\src\TVTest_Image\libjpeg\jdatadst.c(185,60): warning C4267: '=': 'size_t' から 'unsigned long' に変換しました。データが失われているかもしれません。 [C:\TVTest-develop\src\TVTest_Image\libjpeg\libjpeg.vcxproj]
      C:\TVTest-develop\src\TVTest_Image\libjpeg\jmemmgr.c(307,53): warning C4267: '+=': 'size_t' から 'long' に変換しました。データが失われているかもしれません。 [C:\TVTest-develop\src\TVTest_Image\libjpeg\libjpeg.vcxproj]
      C:\TVTest-develop\src\TVTest_Image\libjpeg\jmemmgr.c(367,70): warning C4267: '+=': 'size_t' から 'long' に変換しました。データが失われているかもしれません。 [C:\TVTest-develop\src\TVTest_Image\libjpeg\libjpeg.vcxproj]
      C:\TVTest-develop\src\TVTest_Image\libjpeg\jmemmgr.c(977,46): warning C4267: '-=': 'size_t' から 'long' に変換しました。データが失われているかもしれません。 [C:\TVTest-develop\src\TVTest_Image\libjpeg\libjpeg.vcxproj]
      C:\TVTest-develop\src\TVTest_Image\libjpeg\jmemmgr.c(991,46): warning C4267: '-=': 'size_t' から 'long' に変換しました。データが失われているかもしれません。 [C:\TVTest-develop\src\TVTest_Image\libjpeg\libjpeg.vcxproj]
    
        5 個の警告
        0 エラー
    
    経過時間 00:02:51.02
    
    C:\TVTest-develop\src>
    

2021年1月16日土曜日

HandBrakeのコマンドラインHandBrakeCLIでエンコードする

HandBrakeをコマンドラインで実行するHandBrakeCLIを利用し、エンコードします。
  • タイトルを指定
    HandBrakeCLI.exe -Z "Android 1080p30" -t 1 -f av_mp4 --no-markers --no-optimize --no-ipod-atom --first-audio -i "D:\BIXA_1311_1" -o "C:\tmp\劇場版SHIROBAKO.mp4"
  • チャプターを指定
    HandBrakeCLI.exe -Z "Android 1080p30" -t 1 -c "1-5" -f av_mp4 --no-markers --no-optimize --no-ipod-atom --first-audio -i "D:\SOUND EUPHONIUM 4" -o "C:\tmp\Sound!Euphonium1_7.mp4"
  • エンコードの開始位置と終了位置を指定
    HandBrakeCLI.exe -Z "Android 1080p30" --start-at 4 --stop-at 2864 -f av_mp4 --no-markers --no-optimize --no-ipod-atom --first-audio -i "D:\GUP_DAS_FINALE_1" -o "C:\tmp\GIRLS_und_PANZER_das_FINALE_1.mp4"
HandBrakeCLIの引数に指定できるオプション
HandBrake Documentation — Command line reference

引数-Z(--preset)に設定できる値は、Preset列を指定します。
HandBrake Documentation — Official presets

2020年8月17日月曜日

VivaldiのSnapshotをアップデートできない時の対処法

アップデートの通知があったので、更新しようとしたら、
画像のようなアラートが出てアップデートできない時があります。
また、このエラーが発生すると、Vivaldiが起動しなくなるという状況になります。

setup.exe not found

対処方法としては、VivaldiのサイトからSnapshotのファイルを
別なブラウザでダウンロードします。
ダウンロードしてきたSnapshotのファイルを実行すれば、アップデートをすることができるはずです。
そして、正常にアップデートが完了すれば、Snapshot版のVivaldiを実行できるはずです。

Vivaldi Browser Snapshot

2020年7月1日水曜日

Xperia10Ⅱの内部ストレージ化

NTTドコモのSO-41Aで実施しました。
  1. Android SDKをダウンロードして、インストールします。
  2. Xperia10IIのドライバをダウンロードして、インストールします。

  3. 開発者向けオプションを有効にして、USBデバッグを許可します。
  4. SDカードの容量の50%を内部ストレージ化するコマンドを実行します。
    adb shell sm list-disks
    adb shell sm partition disk:179,64 private mixed 50
  5. コマンドの実行結果を確認します。
  6. Windowsに接続したストレージが、内部共有ストレージとSDカードが表示されます。
  7. ストレージの変更ができるようになります。

TranscendのmicroSDカードを利用しました。

2020年4月20日月曜日

PX-W3PE4、TVTest、EDCBで視聴・録画環境の構築

PC環境

  • PLEX PX-W3PE4
  • Windows 10 64bit
  • Intel Core i7-2600K
  • Radeon RX 560
  • メモリ24GB

チューナー取り付け

  • B-CASカードはチューナー内蔵のICカードリーダーを使用。

チューナーまでの配線

  1. 地デジ、BS/CS混合
  2. 電源供給機
  3. 分配器
  4. 分波器

ドライバーインストール

  • 最新のドライバーをダウンロードする。
  • 64bit版をインストールする。
  • ドライバーが古いと、受信レベルが十分に見えても、ドロップが発生して正常に視聴できない。

視聴・録画ソフトウェアのビルド

  • 「ソリューションの再ターゲット」をしなかった場合に、ビルドに失敗する場合がある。
  • slnファイルを開いた時に「ソリューションの再ターゲット」が出なかった場合は、「プロジェクト - ソリューションの再ターゲット」を選択してから「ビルド - ソリューションのビルド」を行う。
  • IDEを使わずにコマンドラインでビルドする場合は、こちら

視聴・録画ソフトウェア構成

C:\DTV
|
+---EDCB
|   |   B25Decoder.dll
|   |   Bitrate.ini
|   |   BonCtrl.ini
|   |   Common.ini
|   |   ContentTypeText.txt
|   |   EpgDataCap3.dll
|   |   EpgDataCap_Bon.exe
|   |   EpgDataCap_Bon.ini
|   |   EpgTimer.exe
|   |   EpgTimer.exe.rd.xaml
|   |   EpgTimer.exe.xml
|   |   EpgTimerAdminProxy.exe
|   |   EpgTimerSrv.exe
|   |   EpgTimerSrv.ini
|   |   EpgTimerSrv_Install.bat
|   |   EpgTimerSrv_Remove.bat
|   |   EpgTimerSrv_Setting.bat
|   |   Readme.txt
|   |   Readme_EpgDataCap_Bon.txt
|   |   Readme_EpgTimer.txt
|   |   Readme_Mod.txt
|   |   SendTSTCP.dll
|   |   WinSCard.dll
|   |   WinSCard.ini
|   |   
|   +---BonDriver
|   |       BonDriver_PX_W3PE4_S0.ch2
|   |       BonDriver_PX_W3PE4_S0.dll
|   |       BonDriver_PX_W3PE4_S0.ini
|   |       BonDriver_PX_W3PE4_S1.ch2
|   |       BonDriver_PX_W3PE4_S1.dll
|   |       BonDriver_PX_W3PE4_S1.ini
|   |       BonDriver_PX_W3PE4_T0.ch2
|   |       BonDriver_PX_W3PE4_T0.dll
|   |       BonDriver_PX_W3PE4_T0.ini
|   |       BonDriver_PX_W3PE4_T1.ch2
|   |       BonDriver_PX_W3PE4_T1.dll
|   |       BonDriver_PX_W3PE4_T1.ini
|   |       IT35.dll
|   |       
|   +---HttpPublic
|   |   |   favicon.ico
|   |   |   index.htm
|   |   |   
|   |   +---dlna
|   |   |   \---dms
|   |   |       |   ddd.xml
|   |   |       |   uuid.lua
|   |   |       |   uuid4.lua
|   |   |       |   
|   |   |       +---cds
|   |   |       |       event.lua
|   |   |       |       sdd.xml
|   |   |       |       soap.lua
|   |   |       |       
|   |   |       \---cms
|   |   |               event.lua
|   |   |               sdd.xml
|   |   |               soap.lua
|   |   |               
|   |   \---legacy
|   |           about.html
|   |           autoaddepg.html
|   |           autoaddepginfo.html
|   |           debuglog.lua
|   |           default.css
|   |           epg.html
|   |           epginfo.html
|   |           epglist.html
|   |           epgpastinfo.html
|   |           index.html
|   |           logo.lua
|   |           notifylog.lua
|   |           recinfo.html
|   |           recinfodesc.html
|   |           reserve.html
|   |           reserveinfo.html
|   |           storage.html
|   |           util.lua
|   |           view.lua
|   |           xcode.lua
|   |           
|   +---PostBatExamples
|   |       EdcbSchUploader.ps1
|   |       PostAddReserve.ps1
|   |       PostChgReserve.ps1
|   |       PostNotify.bat
|   |       PostNotify.lua
|   |       PostRecEnd.lua
|   |       PostRecEnd.ps1
|   |       PostRecStart.ps1
|   |       
|   +---RecName
|   |       RecName_Macro.dll
|   |       RecName_Macro.dll.ini
|   |       RecName_Macro.exp
|   |       RecName_Macro.iobj
|   |       RecName_Macro.ipdb
|   |       RecName_Macro.lib
|   |       
|   +---Setting
|   |   |   BonDriver_PX_W3PE4_S0(PX-W3PE4).ChSet4.txt
|   |   |   BonDriver_PX_W3PE4_S1(PX-W3PE4).ChSet4.txt
|   |   |   BonDriver_PX_W3PE4_T0(PX-W3PE4).ChSet4.txt
|   |   |   BonDriver_PX_W3PE4_T1(PX-W3PE4).ChSet4.txt
|   |   |   ChSet5.txt
|   |   |   RecInfo.txt
|   |   |   RecInfo2.txt
|   |   |   Reserve.txt
|   |   |   
|   |   \---EpgData
|   |           0004FFFF_epg.dat
|   |           0006FFFF_epg.dat
|   |           0007FFFF_epg.dat
|   |           7E477E47_epg.dat
|   |           7E877E87_epg.dat
|   |           7FE07FE0_epg.dat
|   |           7FE17FE1_epg.dat
|   |           7FE27FE2_epg.dat
|   |           7FE37FE3_epg.dat
|   |           7FE47FE4_epg.dat
|   |           7FE57FE5_epg.dat
|   |           7FE67FE6_epg.dat
|   |           
|   +---Tools
|   |   |   mail_credential.bat
|   |   |   mail_credential.ps1
|   |   |   readex.c
|   |   |   readex.vcxproj
|   |   |   relayread.c
|   |   |   relayread.vcxproj
|   |   |   tsidmove_helper.bat
|   |   |   watchip.bat
|   |   |   watchip.ps1
|   |   |   
|   |   +---IBonCast
|   |   |       IBonCast.cpp
|   |   |       IBonCast.def
|   |   |       IBonCast.sln
|   |   |       IBonCast.vcxproj
|   |   |       
|   |   \---tsidmove
|   |           stdafx.cpp
|   |           stdafx.h
|   |           tsidmove.cpp
|   |           tsidmove.sln
|   |           tsidmove.vcxproj
|   |           tsidmove.vcxproj.filters
|   |           
|   \---Write
|           Write_Default.dll
|           Write_Default.exp
|           Write_Default.iobj
|           Write_Default.ipdb
|           Write_Default.lib
|           Write_OneService.dll
|           Write_OneService.exp
|           Write_OneService.iobj
|           Write_OneService.ipdb
|           Write_OneService.lib
|           
\---TVTest
    |   B25.tvcas
    |   DRCSMap.sample.ini
    |   EpgData
    |   License.txt
    |   LogoData
    |   LogoData.ini
    |   TVTest.chm
    |   TVTest.exe
    |   TVTest.ini
    |   TVTest.search.ini
    |   TVTest.style.ini
    |   TVTest.tuner.ini
    |   TVTest.txt
    |   TVTestVideoDecoder.ax
    |   TVTestVideoDecoder.ax_
    |   TVTestVideoDecoder.txt
    |   TVTest_Changes.txt
    |   TVTest_Image.dll
    |   TVTest_Logo.bmp
    |   WinSCard.dll
    |   WinSCard.ini
    |   
    +---BonDriver
    |       BonDriver_PX_W3PE4_S.ch2
    |       BonDriver_PX_W3PE4_S.dll
    |       BonDriver_PX_W3PE4_S.ini
    |       BonDriver_PX_W3PE4_T.ch2
    |       BonDriver_PX_W3PE4_T.dll
    |       BonDriver_PX_W3PE4_T.ini
    |       IT35.dll
    |       
    +---JumpListIcons
    |       00040065.ico
    |       00040067.ico
    |       000400d3.ico
    |       7fe00400.ico
    |       7fe10408.ico
    |       
    +---Plugins
    |       AutoSnapShot.tvtp
    |       CasProcessor.tvtp
    |       DiskRelay.tvtp
    |       EdcbPlugIn.tvtp
    |       EpgTimerPlugIn.tvtp
    |       Equalizer.tvtp
    |       GamePad.tvtp
    |       HDUSRemocon.tvtp
    |       HDUSRemocon_KeyHook.dll
    |       LogoList.tvtp
    |       MemoryCapture.tvtp
    |       MiniProgramGuide.tvtp
    |       PacketCounter.tvtp
    |       SignalGraph.tvtp
    |       SleepTimer.tvtp
    |       SpectrumAnalyzer.tvtp
    |       TSInfo.tvtp
    |       TunerPanel.ini
    |       TunerPanel.tvtp
    |       TVCaptionMod2.ini
    |       TVCaptionMod2.tvtp
    |       TVTestSDK.txt
    |       
    \---Themes
            Aqua.httheme
            Bloody.httheme
            Chrome.httheme
            Classic.httheme
            DeepBlue.httheme
            Deviant.httheme
            GrayClassic.httheme
            Jeans.httheme
            Jellyfish.httheme
            LCD.httheme
            Lilac.httheme
            MatteBlack.httheme
            Metro.httheme
            Midnight.httheme
            Minimalism.httheme
            Plastic.httheme
            Platinum.httheme
            Snow.httheme
            Sunset.httheme
            Titanium.httheme
            Web2.0.httheme

チューナーの受信レベル確認

  • TVTestで視聴が可能か確認する。
  • 「設定 - ステータスバー」でエラーと信号レベルにチェックする。
  • 信号レベルが適切な範囲か確認する。

2017年12月30日土曜日

JenkinsのPipelineスクリプトでparallelを制御するThrottle Concurrent Builds Plugin

Pipelineスクリプトのparallelを利用すると並列処理を簡単に実装できます。
ただ、並列度を制御する機構はparallelにはありません。
そのため、parallelを実装したものの実行されるジョブが多くなるとJenkinsが落ちてしまうという事態になってしまったので、
何かないかと探して利用したのが、Throttle Concurrent Builds Pluginでした。
実装方法は、GitHubのREADMEに記載のある通りですが、
node()が実行されるたびにワークスペースが変わってしまうので、
Pipelineの設計によってはワークスペースを固定するような一手間が必要になります。

Pipeline Syntax
Throttle Concurrent Builds Plugin - Jenkins - Jenkins Wiki
jenkinsci/throttle-concurrent-builds-plugin · GitHub