Skip to content

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

 
 

Latest commit

 

History

68 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BonDriver_Mirakurun

TVTestからMirakurunを利用する為のBonDriverです。

ソースコードのベースはBonDriver_HTTPからです。
Visual Studio 2022 (v143ツールセット) でビルドしています。x64/Win32いずれの構成もビルド可能ですが、 4K/8K(MMT/TLV)対応はx64ビルドのみです(詳細は後述)。

ランタイム

[Microsoft Visual C++ 2015-2022 Redistributable]を必要とします

Microsoft公式よりランタイムのダウンロードおよびインストールを行ってください
https://support.microsoft.com/ja-jp/help/2977003/the-latest-supported-visual-c-downloads

4K/8K(MMT/TLV)対応

Mirakurun-BS4KのようにBS4K等のMMT/TLVチャンネルを 配信するMirakurunフォークに対しても、通常のGR/BS/CSと同じチューナー・同じチャンネル一覧の中から シームレスに視聴できます。裏側ではdantto4k(MMTS保存対応フォーク)のMMT/TLVデマルチプレクサ・ ACAS復号・MPEG2-TSリマルチプレクサのコードをgit submodule(thirdparty/dantto4k)として取り込み、 ビルド時に本体へ静的リンクしています(別プロセスやサブプロセスは使いません)。

Mirakurunの/api/channelsまたは/api/servicesが返すチャンネルのtypeがMMT_TYPES(既定BS4K)に 一致する場合のみ、内部でMMT/TLV→MPEG2-TS変換を行います。それ以外のチャンネル(GR/BS/CSなど)は 今まで通り生のTSをそのまま返します。

セットアップ

git submodule update --init --recursive

でdantto4k本体とその依存(asio、tsduck)を取得してからビルドしてください。初回ビルド時にTSDuckの 静的ライブラリ(thirdparty/dantto4k/thirdparty/tsduck)を自動的にビルドします(10分程度)。

この機能はx64ビルドのみ対応です(TSDuckの静的ライブラリをx64向けにしかビルドしていないため)。 Win32(x86)ビルドではMMT/TLV変換は無効になり、従来通りGR/BS/CS等のTS配信のみ利用できます。

既定では受信したstreamを復号済みとみなし、カードリーダーには一切アクセスしません (winscard.dllの読み込みも行いません)。暗号化されたままの4K/8Kチャンネルを受信・録画する場合は、 iniの[MMT4K]セクションでUSE_SMARTCARD=1とし、ローカルのB-CASカードリーダーまたはリモートの CasProxyServerを用意してください。同セクションの SMARTCARD_READER_NAME/CASPROXY_SERVER/CUSTOM_WINSCARD_DLLで接続先を指定できます。 USE_SMARTCARD=0のまま暗号化されたstreamを受けると、鍵を待たずに復号済みとして扱うため映像が乱れます。

MMTS保存 (EDCB / Write_MMTS連携)

dantto4kと同じStartMmtsRecording/StopMmtsRecording/ GetMmtsRecordingStatusをエクスポートしています。EDCBで Write_MMTSプラグインを使うと、MMT/TLV(4K/8K)チャンネルを MPEG2-TSに変換せず、受信channelのstreamをACASデスクランブル解除のみ行った状態で.mmts(+索引用の .mmtsmap)としてそのまま保存できます。

dantto4kと違い本DLLはGR/BS/CS等の通常のTSチャンネルも同じDLLで扱うため、上記に加えて IsMmtsRecordingAvailableをエクスポートし、「MMT/TLVチャンネルを選局中か」を Write_MMTS側に伝えます。MMT/TLV以外のチャンネルではこれがFALSEになり、Write_MMTSは 通常の.ts保存にフォールバックします。録画中(AddTSBuffの中)からも呼ばれるため、 選局処理のロックは取らずatomicな値を返すだけにしています。MMT/TLVチャンネル間で選局し直した 場合にFALSEになるのはCloseTunerの実行中だけなので、録画中の再選局で誤検出することはありません。 この判定を持たない Write_MMTSの古い版と組み合わせると、地上波等の 録画でもTSが書かれず0バイトの.mmtsだけが残るため、Write_MMTSも併せて更新してください。

License

This software is released under the MIT License, see LICENSE.

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages