Skip to content

Commit c0ef146

Browse files
committed
Add caption/superimpose tracer
1 parent e4d80c9 commit c0ef146

9 files changed

+1172
-11
lines changed

Makefile

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ else
99
endif
1010

1111
all: $(TARGET)
12-
$(TARGET): tsreadex.cpp util.cpp util.hpp id3conv.cpp id3conv.hpp servicefilter.cpp servicefilter.hpp aac.cpp aac.hpp huffman.cpp huffman.hpp
13-
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) -o $@ tsreadex.cpp util.cpp id3conv.cpp servicefilter.cpp aac.cpp huffman.cpp
12+
$(TARGET): tsreadex.cpp util.cpp util.hpp id3conv.cpp id3conv.hpp servicefilter.cpp servicefilter.hpp aac.cpp aac.hpp huffman.cpp huffman.hpp traceb24.cpp traceb24.hpp
13+
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) -o $@ tsreadex.cpp util.cpp id3conv.cpp servicefilter.cpp aac.cpp huffman.cpp traceb24.cpp
1414
clean:
1515
$(RM) $(TARGET)

Readme.txt

+24-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
使用法:
44

5-
tsreadex [-z ignored][-s seek][-l limit][-t timeout][-m mode][-x pids][-n prog_num_or_index][-a aud1][-b aud2][-c cap][-u sup][-d flags] src
5+
tsreadex [-z ignored][-s seek][-l limit][-t timeout][-m mode][-x pids][-n prog_num_or_index][-a aud1][-b aud2][-c cap][-u sup][-r trace][-d flags] src
66

77
-z ignored
88
必ず無視されるパラメータ(プロセス識別用など)。
@@ -67,6 +67,29 @@ tsreadex [-z ignored][-s seek][-l limit][-t timeout][-m mode][-x pids][-n prog_n
6767
ARIB文字スーパーをそのままか、補完するか、削除するか。
6868
1のとき、ストリームが存在しなければPMTの項目を補う。
6969

70+
-r trace, default=""
71+
ストリームについての情報をUTF-8文字列で出力するファイル名、または"-"で標準出力。
72+
"-"のとき本来の出力(TSパケット)は抑制される。
73+
今のところ以下のような情報を出力する。
74+
- 初めて現れたPCRのタイムスタンプ
75+
pcrpid=0x{4桁PID};pcr={10桁タイムスタンプ}
76+
- エスケープしたARIB字幕のデータとそのPTS
77+
pts={10桁タイムスタンプ};pcrrel=[+-]{7桁PCRとの差};b24caption[0-8]={改行までデータ}
78+
# [0-8]はそれぞれ字幕管理と字幕文第1~8言語
79+
# 字幕データはARIB STD-B24のデータグループ(data_group)構造を原則 %{2桁HEX} でエスケープして表現したもの
80+
# ただし、data_group_sizeおよびCRC_16フィールドは取り除かれる
81+
# 制御文字をのぞくUTF-8として表現可能な部分はエスケープしないことがある
82+
# C1制御文字 U+0080~U+009F はキャレット記法 %^@~%^_ によりエスケープすることがある
83+
# %={ および %=} の括弧の対応は、%=} までのバイト数を %={ の位置にビッグエンディアン24bitとして置き換えたものと等価
84+
# 字幕本文はARIB STD-B24のUCSの規定に沿ってできるだけUTF-8に変換される
85+
- エスケープしたARIB文字スーパーのデータ
86+
pts={10桁タイムスタンプ};pcrrel=+0000000;b24superimpose[0-8]={改行までデータ}
87+
# PTSにはPCRタイムスタンプが使われる
88+
# ほかARIB字幕と同様
89+
- エスケープ処理に失敗したとき
90+
pts={10桁タイムスタンプ};pcrrel=[+-]{7桁PCRとの差};b24captionerr={改行まで失敗理由}
91+
pts={10桁タイムスタンプ};pcrrel=+0000000;b24superimposeerr={改行まで失敗理由}
92+
7093
-d flags, range=0 or 1 [+2] [+4] [+8], default=0
7194
ARIB字幕/文字スーパーを https://github.com/monyone/aribb24.js が解釈できるID3 timed-metadataに変換する。
7295
変換元のストリームは削除される。

0 commit comments

Comments
 (0)