xtne6f / EDCB

BonDriver based multifunctional EPG software
Other
162 stars 37 forks source link

EpgTimerの番組表画面での字幕属性情報の対応 #29

Closed anothergogo closed 5 years ago

anothergogo commented 5 years ago

こんにちは。 ARIBのSTD-B24第一編第3部9.6.2(p.182-183)によると、EITのデータコンテンツ記述子(STD-B10第2部6.2.28(p.159-161))には字幕に関する情報を付与することができるとされています。(番組名についている[字]マークとは別物です) 実際にEPGデータを見てみると、字幕付きの番組について、ほぼ全ての放送局でこの形式に従って字幕属性情報を記述しています。 またテレビのEPG画面でも、この記述に基づいて字幕属性情報を表示することができます。 そこで、EpgTimerでも字幕属性情報の表示、検索およびAPI出力をできるようにしていただけませんでしょうか。 また、ディズニー系のチャンネル(特にディズニージュニア)では、日本語と英語の字幕を付与した番組がいくつかあり、EPGの字幕属性情報にもこのことが反映されていますので、あわせて対応していただけると幸いです。 当方では字幕が付いている番組のみを録画することが非常に多いです。また放送局によっては番組名に[字]マークを付けていないものの、EPGの字幕属性情報は付いているというところもあるので、この機能を実装していただけると大変嬉しいです。 よろしくお願いします。

xtne6f commented 5 years ago

記述子に従って映像情報(EpgTimerの番組詳細の「映像:」の文字列)に[字]および[二字]を追加できるようにしました(EpgDataCap3.dllの機能で既定有効)。 前コミット d40099b83fd12891d8d221f2736e2b82d4a8b0e0 と組み合わせて検索に利用できます。 // キーワードに:title:[字] | :video:[字]など

anothergogo commented 5 years ago

ご対応いただきありがとうございます。 これで番組名に[字]が付いていない番組でも、字幕対応の有無を検索できるようになりました。 映像情報欄に字幕情報を追加するというのも、素晴らしいアイデアだと思います。感謝します。 一つお願いがあるのですが、番組名に[字]が付いている番組についても、映像情報欄に記述子による字幕情報を追加していただけませんでしょうか。 CS系のチャンネルでは[字]マークを、ARIB字幕ではなく、焼き込みテロップによる字幕があるという意味で使っているところがあり、これらを区別したいと考えています。 よろしくお願いします。

追記 ソースコードを少し拝見させていただきましたが、EDCB/EpgDataCap3/EpgDataCap3/EpgDBUtil.cpp中の352-354行目と361行目は削除するのがよろしいかと思います。 if( (flags & 2) || ((flags & 1) && (eventInfo->hasShortInfo == false || eventInfo->shortInfo.event_name.find(CARIB8CharDecode::TELETEXT_MARK) == wstring::npos)) ) の条件があるところです。

xtne6f commented 5 years ago

字幕属性情報だけが無いことを表す[字無]を追加することにしました。 後付けの機能なので冗長な文字列を常に追加するのはあまり好ましくないと考えました。 検索では、ちょっと面倒ですがNOTキーワードを使うか、 正規表現モードの否定先読みを応用(::video:^(?![\s\S]*字無)[\s\S]*$など)してください。

anothergogo commented 5 years ago

逆に条件が増えてしまいましたか...。 当方としては、テレビのEPG画面だと字幕属性情報の有無が、番組名の[字]マークの有無にかかわらず表示されるので、検索だけでなく番組表をザッピングする上でも、そちらに合わせたほうがいいと思っていました。 幸いソースコード上で映像情報欄に[字]マーク等を追加する条件を定義している箇所は把握できましたので、今後当方で使用する際はこの部分をカスタマイズさせていただこうと思います。 いずれにせよ、EPGデータからの字幕属性情報の有無の判別については作者様のお力添えがなければ実現できなかった機能です。実装してくださったことに大変感謝しています。ありがとうございました。 このIssueについてはこれにてCloseとさせていただきます。