はじめに
Cerevo LiveShell Pro
2025.11.23(日) 電通大の調布祭のジャンク市にてCerevo LiveShell Proを捕獲するも、既に2025年5月末で【サ終】(サポート終了)となっていた。
しかも、Dashboardも廃止になり、デバイスは正常でも使えない文鎮状態になる。
唯一残されたローカルモード設定もDashboardで行う必要がある(正確に言うと、ローカルモード設定を行う音声ファイルのダウンロードができない)ため、文鎮確定(オブジェ)になる。
Dashboard自作へのトライ
mitmproxyで解析
かつて復活させたスマートマットライトの方法(DNSによる名前解決変更、mitmproxyによる解析)でDashboardを自作してLiveShell Proを復活させようと試みましたが、敢えなく撃沈しました。
DNSによる名前解決変更
デバイスの有線ネットワークの設定を固定IPアドレスに変更するとDNSサーバを手動で変更できるため、mitmproxyをインストールしたサーバ(Raspberry Pi)へ設定します。
/etc/hostsファイルに設定
192.168.3.12 shell.cerevo.com
$ sudo mitmproxy --mode dns --set dns_use_hosts_file=true
デバイスがTLS1.0/1.1しかサポートしていない
別のサーバでmitmproxyをReverse Proxyモードで起動します。
$ mitmproxy --mode reverse:http://shell.cerevo.com@80 --mode reverse:https://shell.cerevo.com@443
デフォルトではmitmproxyがTLS1.2以上しか受け付けない設定になっているため、デバイスがTLSハンドシェイクに失敗しました。
mitmproxyの起動オプションを変更してTLSのバージョンを下げて解決しました。
$ mitmproxy --set tls_version_client_min=TLS1 --mode reverse:http://shell.cerevo.com@80 --mode reverse:https://shell.cerevo.com@443
動かない理由: 「mitmproxyのCA証明書を無視」または「証明書ピンニング(cerevo.com)」
デバイスがmitmproxyのCA証明書を知らない認証局として拒否しているログです。デバイスにmitmproxyのCA証明書をインストールする手段がないためNGです。
ローカルモード設定用の音声ファイル作成へのトライ
海外のサイトでUltra DashboardというLiveShell Dashboard互換のサイトを見つけました。
ただし、2時間の無料トライアルでもWhatsAppで連絡を取る必要があり、継続利用は有料なので選択肢を諦めました。
英語のマニュアルで代替えサイトの存在に気づく
まだサポートを継続しているLiveShell Xの英語マニュアルを読んでいたところ、Dashboardではない代替えサイトでローカルモード設定を行うページを見つけました。
マニュアルの画面キャプチャ(スクリーンショット)にはLliveShell ProとLiveShell 2のデバイスも選択肢として表示されていたので、一気に期待値が上昇しましたが、残念ながら現在(2025.12.29時点)ではLiveShell Xのみになっていました。
インターネットアーカイブサイトで過去のサイトコンテンツを発掘
かつて利用したインターネットアーカイブサイトで過去のサイト情報を調査して【サ終】前のコンテンツを入手できました。
【サ終】前(2025.4.8時点)のコンテンツが残されていました。
音声ファイルのダウンロード
動作確認したところ、「再生する」ボタンは機能しませんでしたが、「ダウンロード」ボタンは機能して、無事に音声ファイルをダウンロードできました。
デバイスのローカルモード設定
音声ファイルを再生する前に、最初にデバイスをオフラインモードに設定変更する必要があります。
ダウンロードした音声ファイルを再生して、パソコン(ヘッドフォン端子)からデバイス(マイク入力端子)へ音声を流し込みます。
成功すると画面が切り替わります。
RTSPモード
デバイスはクライアントからの接続待ち状態になります。
URLはrtsp://192.168.3.16/liveの形式(デバイスのディスプレイに表示)になり、VLC Playerで動作確認しました。
RTMPモード
デバイスはRTMP配信状態になります。
YouTubeLiveで動作確認しました。
コンテンツの保存と再利用
インターネットアーカイブサイトの過去コンテンツが動作することがわかったので、必要なファイルを保存していきました。
index.html
*.css
*.js
*.png
最初、fileから直接ブラウザで表示したところコンテンツが正常に動作しなかったので、ローカルでウェブサーバを立ち上げて確認しました。
$ python3 -m http.server 8000
ChatGPTでコンテンツを解析させたところ、webpackでビルドされたReact系アプリのminify済みバンドル、ということがわかりました。
静的コンテンツで動作しますが、CORSエラーになるのでウェブサーバを立ち上げる必要があります。
また、jsファイルの中身を解析させたところ、webpackのpublicPathが「/」固定で、追加チャンクを「/static/js/...」を撮りに行く設計になっているため、コンテンツの配置が重要です。
(コンテンツの配置を間違えると空白ページが表示される動作でした)
さいごに
コンテンツの実装都合でトップページに配置する必要がありますが、文鎮確定のデバイスを復活させることができました。
テストサイトです。
コンテンツはこちら。
(番外編)サンプルプログラム(デコーダーとエンコーダー)
設定用音声ファイルを出力するサンプルプログラム(エンコーダー)を作成しました。
こちらに格納しました。
デコーダー
ChatGPTにjsファイルを読み込ませてwavファイルの生成ロジックを解析しました。
オリジナルのwavファイルも読み込ませて生成ロジックが正しいか検証しました。
エンコーダー
最初、解析した生成ロジックで出力したwavファイルがデバイスで認識しなかったので、オリジナルのwavファイルから波形テンプレを抽出してプログラムの中に埋め込みました。
波形テンプレを使用して出力したwavファイルは正常に認識されました。
機種(LiveShell Pro / 2 / X)によってサンプルレートが異なるようなので、他のデバイスでも試したいです。(笑
(番外編)分解
シリアルログ出力を探る目的で分解しましたが、結果的に辿り着けませんでした。
筐体開封
バッテリー
3100mAh 3.7V Li-ion 18650
基板小(表)
NAND FLASH (2Gb)
Hynix Semiconductor HY27UF082G2B
Digital Media System-on-Chip
Texas Instruments TMS320DM365
メモリ(SDRAM)
Advanced Semiconductor AS21R1G168C-3P
基板大(表)
マイコン
Texas Instruments MSP430F2122
HDMI Display Interface
Analog Devices AD9398
基板大(裏)
イーサネットドライバー
Microchip Technology KSZ8001L
Stereo Audio CODEC
Texas Instruments TLV320AIC3106
NTSC/PAL/SECAM ビデオデコーダ
Texas Instruments TVP5150AM1
オーディオDAC
NXP Semiconductors UDA1334BT
インバーター
Texas Instruments SN74LV06A
オペアンプ
Microchip Technology MCP6L92E







