NativeCast Distribution Complete v2.0
=====================================

最初に読むファイルです。
この配布版は、旧 NativeCast Distribution Sample v1.0 から、2026-10-07時点の現行安定構成へ全面更新した統合ユニットセットです。

【今回なぜ新バージョンへ切り替えたか】
旧配布サンプルは、実運用で安定化する前の構成を含んでいました。特にWebCoreは1サイクルごとにsftp.exeを起動・接続・終了する方式で、長時間運用では接続/プロセス churn と Access Denied の切り分けが必要になりました。また旧サンプルの設定例は list_size=8 のままで、現在の20本運用と不一致でした。TwitCoreも配布用generic名へ変更しており、実運用の安定版日本語名/Control Centerとの整合から外れていました。

現行版では、WebCoreをPersistent ssh.exe + Native SFTP v3へ変更し、TSを一時名へ完全送信してからsize確認・rename公開するVerified Atomic SFTPへ移行しています。全TSのremote size照合、20本に1本のSHA-256読み戻し、ローカルTS構造検証も追加しました。さらにplaylist snapshotの一時Access Deniedは、SSHを切断する前にローカル処理だけ3回 x 150ms再試行します。

【今回まとめて直した点】
- WebCore: 2秒TS / 20本 / 再生目標8秒 / 最大20秒
- WebCore: per-cycle sftp.exe方式を廃止しPersistent SSH/SFTPへ
- WebCore: .uploading -> size verify -> rename の公開方式
- WebCore: 全TS size検証 + 1/20 SHA-256 readback + local TS structure検証
- WebCore: playlist snapshot Access Deniedに3回 x 150ms local retry HOTFIX
- WebCore: 配布設定例 list_size 8 -> 20
- B1/Web/Twit映像: 「作曲/作曲者」表示を「製作者」へ統一
- TwitCore: 実運用安定版の日本語ファイル名/実行名を維持（generic renameしない）
- Control Center: 現行TwitCore実行名との互換を維持
- iTunes Playlist Timer v1.0.1 VERIFIEDを追加

【収録フォルダ】
01_WebCore               WEB HLS配信用 現行Core
02_TwitCore              TwitCasting配信用 安定Core
03_Site_B1               現行B1 + Web補助ファイル
04_ControlCenter         デスクトップ操作パネル
05_iTunes_Playlist_Timer 曲終了後プレイリスト切替タイマー
06_Docs                  完全ガイド/Quick Start/移行資料
07_UnitPackages          各ユニットの元ZIPをそのまま保管

【秘密情報は含みません】
- 実SFTP host/user/key
- 秘密鍵
- RTMP URL / Stream Key
- secure.clixml
- 実ログ
- 実HLS segment
- 実行時生成exe

最初に 06_Docs/NativeCast_Complete_Guide_v5_Current.pdf と QUICK_START.txt を読んでください。
