データ放送の BML を Web に実装する猛者現る。WebView2 で TVTest にも対応 50
ストーリー by nagazou
こんなのが出てくるとは 部門より
こんなのが出てくるとは 部門より
caret 曰く、
Web ブラウザで動作するデータ放送ブラウザ (BMLブラウザ), web-bml が 3 月 3 日、GitHub にて公開された(web-bml の GitHub リポジトリ)。
さらに、Microsoft Edge WebView2 コントロールを利用して TVTest でデータ放送を閲覧可能にするプラグイン、TVTDataBroadcastingWV2 が 4 月 7 日、GitHub にて公開された(TVTDataBroadcastingWV2 の GitHub リポジトリ)。
Broadcast Markup Language (BML) は XML ベースのデータ放送向けのマークアップ言語で、電波産業会 (ARIB) にて技術資料が公開されているのものの、これまでオープンソースの実装は存在していなかった。
DTV 界隈では長らく待ち望まれていた PC でのデータ放送の表示が Windows Media Center (WMC) 以来、久々に可能となり、また TVTest のプラグインとしてサポートされたことから、大きな話題となっている。
開発者の otya 氏の素性は不明なものの、個人サイトにて Kyash ないし BTC での寄付を受け付けている。また、同氏は NTVDM の 64-bit 版 Windows での代替である winevdm の主要開発者でもある。
通信関係の API は現状未実装であり、インターネット接続が必要なコンテンツは閲覧できないものの、完成度は現状でも非常に高く、またコミット頻度も非常に高い。今後にも期待できそうだ。
よくわからないのだが (スコア:1)
つまり、javascriptのエンジンを実行できる環境を持っていたら、
NHKにBS視聴料金を払わないといけなくなるという事?
# Githubから設計書をダウンロードしてビルドすれば視聴できるから受信機
Re: (スコア:0)
NHK-TVの電波を受けたら払わないといけない
# ゆんゆん
#
#
## BMLはBSだけでなく地デジでも使ってる
Re: (スコア:0)
まずチューナーの存在が先でしょうに。
Re: (スコア:0)
既にネット配信してるから関係ない
先が期待できる (スコア:1)
多少の粗はあるもののTVTestでデータ放送が利用できるようになったのはとてもいいと思います
個人的に気になるなと思った点や要望を書いておきます。
・文字は画面の解像度でレンダリングされますが、画像がぼやけるタイプのアルゴリズムで拡大されているのが気になります
データ放送を映像の解像度でレンダリングしたものを映像と合成後madVRに渡し、映像ごとスケーリングするオプションがあるといいと思います
・データ放送の効果音がTVTestの音量と連動しないのが気になります
・リモコンウィンドウを非表示の状態でも操作できるように、キーボードショートカットやリモコンやゲームパッドに対応して欲しいです
・リモコンはパネルウィンドウに統合するのがスマートでよいと思います
・字幕は内蔵のものではなく別のプラグインを呼び出して使用する機能が欲しいです
Re: (スコア:0)
さすがにGitHubのissueに書いたほうが目に留まる可能性が高いのでは
Re: (スコア:0)
自分で書く気はないからお前らが代わりに書けってことなんだろう。
Re: (スコア:0)
まあ、あんまり通す気のない要望だろうってことは確かよね。
Re: (スコア:0)
詳しい自慢したいだけかと
Re: (スコア:0)
ACなのに?
Re: (スコア:0)
そんなACいっぱいいるじゃん
Re: (スコア:0)
githubより、5chのスレに書き込んだほうが目に留まる可能性が高いと思う
Re: (スコア:0)
・リモコンはパネルウィンドウに統合するのがスマートでよいと思います
現在の最新版ならそこから操作できる
Re: (スコア:0)
コメ主です。その後の更新で一番上と下以外は実装されました
作者様有難うございます
Re: (スコア:0)
通信コンテンツもあっさり実装されたよね。本当すごいわ
ここのアレゲ的には (スコア:0)
winevdmの方が需要ありそうな気がする。Win16アプリが64bit Windowsで動かせるなんて
Re:ここのアレゲ的には (スコア:1)
winevdmには独自実装のwinhlp32.exeが含まれててWindows 10で.hlpファイルも開ける
Re:ここのアレゲ的には (スコア:1)
試しにWindows3.1版のぷよぷよをプレイしてみたけど、設定ダイアログのフォントが文字化けする以外は完璧に動作した
Re: (スコア:0)
AMDが16-bitで仮想86モードのサポートを切らなければもっと早くx64の時代が来たし、今も16-bitアプリの互換性が高度に保たれていたのではないかと思うんですよね。
たらればなのであれですが、なんでAMDが仮想86モードを1999年の段階で切る決断をしたのでしょうね。
Re:ここのアレゲ的には (スコア:2)
仮想86モードを切るのはつまり、DOSアプリを切るってこと。さすがに1998年にもなれば、x64OSからDOSアプリの互換性を要求する意味はないとAMDが判断しても無理はない。vmwareでも使ってろ、みたいな。
Win16はプロテクトモードなのでCPU的にはx64でも動く。Windows側でWin16互換性を持たせるのが大変で面倒だからMSがやらなかっただけ。32bit dllと64bit dllを同一プロセスで混ぜれないのと同じように、Windowsのアーキテクチャデザイン上の決心なわけで、AMDとx64は関係ないのよ。
Re: (スコア:0)
Win16はOSの機能の一部をリアルモードのコード(BIOSコールとか)に依存していたので、仮想86モードのサポートは事実上必須。OS/2 1.xとかならx64でも動かせたのかもしれない。知らんけど。
Re: (スコア:0)
AMD64は、当然MSと相談しながら考えたんでしょうしまぁいい加減切り捨てたかったんでしょうね
Re: (スコア:0)
Win16アプリは同時にDOSアプリでもあるという側面があるのですよ。
なのでアプリがDOSコール(INT 21H)をしていたりするので、DOSを無視しては互換性を含めての動作は成立しないのです。
だからMSはNTでDOSベースではないカーネルを開発した後にNTVDMというDOS互換モードを別に作ったのです。
これが仮想86モードを使うようにできていたので、x86-64の64-bitモードでは動作できなくなってしまったわけです。
それによってx64時代の幕開けがだいぶ遅れたんじゃなかろうか、と。
Re:ここのアレゲ的には (スコア:4, 興味深い)
NTVDMはMIPS版、PowerPC版、AlphaAXP版のWindowsNTにも(フルエミューレションで)搭載されてたので、MSがその気になれば、winevdmみたいなのを供給することも出来たはず。
仮想86を搭載してDOSやWin16アプリが動いたからといって、じゃあたとえばWinXPやVistaが64bit Onlyで出てたか、といわれると、そんなわけないとしか。ディスクやメモリ使用量は増えるわけだし。
x64 OSの普及はドライバ供給と需要(≒搭載メモリ量)によるものとおもうけどね。
Re: (スコア:0)
jzkeyさんは当時からのWindows NTをご存じの方だったのですね。
ご指摘その通りで、Insignia社のSoftPC由来のコードで実装されたWin16実行環境が載っていましたね。
市場が互換性を求める限り、Onlyだと厳しいのはその通りだと思います。Windows 10ですら途中まで32-bit版があったわけですし。
ですが、64-bitの普及のしはじめのハードルを下げる効果はあったと考えています。
結局個人の「たられば」の考えでしかないことは確かではありますが。
Re: (スコア:0)
まだWin9xのPCも広く使われていた時代に仮想86モードのサポートを切ったなんてことあるはずないから何か妙な勘違いしてるとしか思えないんだけど。
そもそもAMDがいなければIA-64のゴリ押しにより今頃32bitアプリの高度な互換性すら疑わしい事態になっていたのでは
Re: (スコア:0)
AMDによるx86-64の発表は1999年 [impress.co.jp]で、そのx86-64の64-bitモードに仮想86モードがないのは誰でも知っている事実ではありませんか?
だからこその話なんですが、もしかしてIA-32互換で仮想86モードを持っていたから切っていないという「妙な勘違い」ですか?
Re: (スコア:0)
> 64-bitモードに仮想86モードがない
ならわかるけど、IA-32どころか「16-bitで仮想86モードのサポートを切らなければ」が意味不明すぎてわけがわからなかった。
Re: (スコア:0)
なるほど。
で通じると思った私に問題があったようです。
というわけで、x84-64の64-bitモードで仮想86モードを切ってしまったがゆえにx64の時代が遅くなったのではないか、現代の16-bitモード互換性が高度に保たれていたのではないかと思うんですよね、ってことです。
Re: (スコア:0)
未だにVisual Basic 4.0アプリの保守やる羽目になってた可能性も
Re: (スコア:0)
>なんでAMDが仮想86モードを1999年の段階で切る決断をしたのでしょうね。
「AMDがx86-64(AMD64)を2000年に提唱した」ということでは?
Re: (スコア:0)
まあ、そっちだと考えるのが普通だろうなぁ。
IA-64で阿鼻叫喚
Re: (スコア:0)
マルチコアだったら、「一個のコアだけ、32bit モードに移行して。仮想 8086 モードにする」というのは駄目なんでしょうか ?
そういうことはできない ?
助かった! (スコア:0)
いまwinevdmの存在を知りました。
本体が32bitなのにインストーラだけ16bitというアホアプリがひとつあったのですが、業務の都合で捨ててしまうわけにもいかず困ってたんですよ。
導入したらすんなり動いたので大満足。
Re:助かった! (スコア:1)
これは当時にしてみると16-bit環境と32-bit環境が混在している期間があって、16-bit環境でインストールしようとした時に「32-bit環境でないと動かないよ」という表示をするために16-bit環境でも動作する16-bitアプリである必要性があったんです。
Re: (スコア:0)
>16-bit環境でも動作する16-bitアプリである必要性
混乱は当時から・・・
ぢゃーないか。w
Re: (スコア:0)
すっごく納得しました。
Windows3.1と95と98が仲よく暮らしていた頃でしょうかね。
いつからこれ使ってたんだよ弊社…
Re: (スコア:0)
セットアップソリューション(多分InstallShield)はそうそう更新が必要ないから、ずっと使ってたんだろうね。
5.xなら規定だとC:\Windows\SysWOW64\InstallShieldにすり替え用のEXEが有るのだけど。
Re: (スコア:0)
x64なWindows OSが台頭するまで、それで問題がなかったということが大きいのではないかと思います。
例えばWindows XPによる32-bit環境の長寿政権がこれに相当します。
その後のx64の普及により、16-bitアプリによるインストーラーが引き起こす(非互換性による)弊害が可視化されてしまいました。
Microsoftが既知としているインストーラーは自動的な置き換えが行われるという手当が行われましたが、そこから外れてしまったインストーラーは個別の対応を強いられるという結果となりました。
当時の配慮と現在の状況を考えるとなかなか悩ましいものがありますね。
Re: (スコア:0)
すみません。
お伝えしたいこととは乖離のあることを書いてしまった気がしています。
お伝えしたかったのは「もしかすると、そのアプリはそんなに古くないかもしれませんよ!」ということです。
当時(最初)のビルド手順でそのまま作ったものが残ってしまっているのかもしれないからです。
そうすると当時の慣習がそのまま残ってしまいますからね。
Re: (スコア:0)
メジャーな16bitインストーラー(InstallShieldやVBの配布用Setup.exeとか)は、32bit版がOSに入ってるんだけどねぇ。
ARIB規格 (スコア:0)
ARIBのデータ放送関連規格の重厚長大さにはほんとに頭痛がしました。
真面目に実装してるのめちゃくちゃ偉いと思います。
Re: (スコア:0)
ですよねぇ... 会議繰り返して作った仕様感がぷんぷんして...
でもってストリーミング全盛の今となってはどうにも時代遅れ。
あれを仕事じゃなしに実装するモチベーションがどこから来てるのか興味あります。
Re: (スコア:0)
パズルを解くような感覚に近いのかもしれない
# 人工の山への登山は面白いのか?
Re: (スコア:0)
Linusさんだって「それがぼくには楽しかったから」って言ってたじゃん
プログラミングなんて、人工の山じゃない登山の方が稀なんじゃないの
# Excel山が多いとか
Re: (スコア:0)
重厚長大プロテクト。
Re: (スコア:0)
実は某まるもさんだったりして
ね
Re: (スコア:0)
テレビ開発でいえば、会議で要望のあったボタンを全部実装して、
ボタンが100個ついてるリモコンって感じ
Webに実装? (スコア:0)
Webブラウザでデータ放送を表示できるようなコードを書いたってことだよね。
なんでWebに実装って表現になるの?
Re: (スコア:0)
デモサイト [github.io]行ってみた?
ユーザのローカルディスクにあるtsファイルをブラウザ内に読み込んで、
データ自体は外部に流すことなく映像とデータ放送を表示できるようになってますよ