You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Opippi さんの FFmpeg でも ARIB STD-B24 メタデータテキスト → UTF-8 コンバートをしているが、専用のルーチンを使っていて upstream には取り込みづらい。
こちらの isdb/5.0 ブランチの コミット では既存の
getstr8()
を拡張する形でなんとか互換を持たせようとしている。(いずれにしても gconv-module-aribb24 は必要になるが…)
英数字やカタカナ等で始まる文字列であれば code set の切り替え文字が最初に来るので DVB との互換を保ちながらも自動認識できる。
ffprobe で表示される service_name で「TBS」や「テレビ朝日」等ならば自動認識で文字化けせずに出力される。
問題は「日テレ」のように漢字で始まる文字列で、これは自動認識できずに文字化けする。
※ 諸悪の根源は初期状態を漢字と定義した ARIB STD-B24 か。初期状態が英数字だったら ISO-2022-JP と同様に扱えるのに…
これをなんとかするために以下の2つの手を用意。
precede_arib
というオプションを追加して、これを指定した場合には ARIB STD-B24 と仮定する。ffprobe -precede_arib true
ならば「日テレ」に見えるプログラムのタイトルが入っている EIT short event descriptor は
precede_arib
指定なしでもこのやり方で自動認識できる。getstr8()
の引数が 2 つも増えるので美しくはないが、このやり方でどうだろうか?Beta Was this translation helpful? Give feedback.
All reactions