TV録画機の再構築 ~4.動作確認~

概要

この記事では、macOSiPadからの動作確認について記載する。

全体の構成図

※ 赤枠部が本記事での対象

ソフトウェア一覧

macOS

放送中の番組

MirakTestを使う
MirakTest

録画済みの番組

EPGStation経由

VLCを使う
VLC

EPGstationから直接再生したい場合は、こちらを参照。

config.ymlは設定しないで、ブラウザでEPGstationを表示して、設定画面で以下のとおりとする。

  • 設定->録画->視聴 URL Scheme: ON
  • 設定->録画->視聴 URL Scheme->url: cvlc://ADDRESS

AppleScript でのカスタム URL Scheme アプリの作成 のところは、以下の記事も参照するとわかりやすい。

ラズパイダ EPGStationのライブ視聴用URLスキーム設定方法(macOS)

詳細手順

  1. スクリプトエディタ.appを起動

  2. 新規書類を選択

  3. AppleScriptの欄に、以下の内容をコピペ

     on open location url_scheme
    
       set AppleScript's text item delimiters to {"cvlc://"}
       set txt_items to text items of url_scheme
       set AppleScript's text item delimiters to {""}
       set scheme_txt to txt_items as Unicode text
    
       tell application "VLC"
         OpenURL "http://" & scheme_txt
         activate
         set zoomed of window 1 to true
       end tell
     end open location
    
  4. ファイル-書き出すを選択

  5. ファイルフォーマットを"アプリケーション"に設定して、書き出し名を"cvlc.app"にしてデスクトップに保存

  6. デスクトップにできたcvlc.appを右クリックして、"パッケージの内容を表示"を選択。そして、Contents->Info.plistをダブルクリック。

  7. 以下の内容を、下から3行目のと下から2行目のの間にコピペする。タブ(→: 矢印マーク)なども考慮して記載する必要がある。

     <key>CFBundleURLTypes</key>
     <array>
         <dict>
             <key>CFBundleURLName</key>
             <string>biz.corecara.cvlc</string>
             <key>CFBundleURLSchemes</key>
             <array>
                 <string>cvlc</string>
             </array>
         </dict>
     </array>
    
  8. "cvlc.app"をファインダーのアプリケーションディレクトリへ移動する

Samba経由

加えて、sambaで共有したディレクトリを経由してファイル指定で再生する場合は、Infuseを使うことも可能
VLCを使った場合には、ネットワーク経由での再生だと早送り/巻き戻し時に再生が乱れる現象があるので、Infuseを推奨

Samba経由で再生したあと、Samba上でファイルを直接消してしまうと、実ファイルとEPGStationで管理している録画済みファイルのデータベースとで不整合が生じてしまう。 そのため、EPGStation経由で再生/削除をしていったほうがよい。

iPad

放送中の番組

VLCを使う

ただし、EPGStationのURLエンコードvlcが解釈できないようで、ライブ配信の場合は再生できない。

設定でx-callback使わない方式にすればよいので、iPadでブラウザを立ち上げてEPGstationを開く。

設定-放映中-視聴 URL Scheme に以下を入力
vlc://PROTOCOL://ADDRESS

問題解決のための元ネタは下記。

445 443 (ワッチョイ f509-8FHZ)2022/03/27(日) 01:21:13.76ID:6/Smb6uj0>>448
書き込んだ後にふと思いついてURLスキームをx-callback使わない形式に変えたら行けたよ
vlc://PROTOCOL://ADDRESS
再生確認のダイアログが出るから一手間増えるけど
試してから書き込めばよかったね度々スレ汚しすまない

---

448名無しさん@編集中 (ワッチョイW 92ad-M6kU)2022/03/27(日) 11:21:14.55ID:XWEsIOGn0>>469
>>445
なんとなく原因が分かった。おそらくEPGStationは視聴ボタンから外部アプリを開くとURLをURLエンコードしてからurlschemeに渡してる。

OnAirSelectStreamState.ts
if (urlScheme.match(/vlc-x-callback/)) {
viewURL = encodeURIComponent(viewURL);
}

そしてこのエンコードされた物をvlc ios@3.3.0は処理できない
config.ymlにURLベタ書きして視聴ボタン押すとx-callbackでもVLCが正常に動くことを確認

録画済みの番組

Infuseを使う

Appのインストールが済んでいれば、特別な設定は不要。

過去記事

lsp.hatenablog.jp

lsp.hatenablog.jp

lsp.hatenablog.jp