ARIB-STD B10, ARIB-STD-B24 の Python 3 での簡単な実装です。
簡単な TS をパースするコードと、それらを利用したスクリプトからなります。
簡単にパースする事、コードが見やすいこと、参考にしやすいこと、移植しやすい事に重点を置いています。
速度やメモリ効率に関しては度外視ですので、ご利用なさる方がいましたら、その点だけ注意してください。
python 3.9 で動作を確認しています。
字幕のレンダリングのため字幕関係は Pillow に依存しています。
TS 内の EIT[p/f] にある現在放送中の番組情報から番組単位で TS を分割するスクリプトです。
- -i, --input: 入力 TS ファイルを指定します。省略された場合は標準入力になります。
- -o, --output_path: 出力先のパスを指定します。省略された場合はカレントディレクトリになります。
- -s, --SID: 対象の サービスID を指定します。 (必須)
TS 内のストリームのうち対象の SID に紐付くストリームを抜き出すスクリプトです。
- -i, --input: 入力 TS ファイルを指定します。省略された場合は標準入力になります。
- -o, --output: 出力先の TS ファイルを指定します。省略された場合は標準出力になります。
- -s, --SID: 対象の サービスID を指定します。 (必須)
- -p, --PID: 出力 TS に別途含める PID を指定します。
TS 内のAプロファイルの字幕をレンダリングするスクリプトです。 画像ファイル名を放送時刻にする場合 TDT/TOT に依存しています。
- -i, --input: 入力 TS ファイルを指定します。省略された場合は標準入力になります。
- -o, --output_path: 出力先のパスを指定します。省略された場合はカレントディレクトリになります。
- -s, --SID: 対象の サービスID を指定します。 (必須)
- --ffmpeg: ffmpeg を利用してスクリーンショットを取り、その上に字幕を描画します。
- --suffix: 出力画像ファイルの拡張子を指定します。省略された場合は png となります。
- --format: 出力ファイルのファイル名のフォーマットをpythonのフォーマット文字列で指定します。
- TOT オプションがある際は無効となります。
- --TOT: TOTから得られる情報を元に出力ファイルのファイル名を日時で出力します。