TsDividerは、Transport Stream(TS)ファイルの冒頭と末尾についている別番組をカットするツールです。
また、TSファイル内のメタデータ表示機能として、TSID表示機能、放送開始/終了時間を表示する機能、サービス名表示機能があります。
$ tsdivider -i input.ts -o output.ts
input.tsファイルを冒頭/中央/末尾の3区間に分割し、中央の区間のみをoutput.tsに出力します。
TSファイル内のEITとPMTが変更される位置に基づいて区間を決定しています。 もし番組の途中でEITやPMTが変わっいても、変な位置で分割されないように、デフォルトでは300秒以上の区間は必ず残すように設定されています。
- --enable_pmt_separator bool (=1)
- PMTの位置で分割します (デフォルトON)
- --enable_eit_separator bool (=1)
- EITの位置で分割します (デフォルトON)
- --trim_threshold sec (=300)
- trim_threshold秒未満の区間を、冒頭もしくは末尾と判定します (デフォルト300秒)
- --overlap_front packets (=1024)
- 冒頭を切り落とす際に、指定パケット分の、のりしろを残します(デフォルト1024パケット)
- --overlap_back packets (=1024)
- 末尾を切り落とす際に、指定パケット分の、のりしろを残します(デフォルト1024パケット)
$ tsdivider -i input.ts --broadcast_time --program_info --transport_stream_id --prettify
{
"broadcast_time": {
"begin": "Sat Jan 7 23:59:31 2012 JST",
"duration": 1769.8360666666667,
"end": "Sun Jan 8 00:29:00 2012 JST"
},
"program_info": [
{
"program_number": 23608,
"service_name": "TOKYO MX1",
"service_provider": ""
},
{
"program_number": 23609,
"service_name": "TOKYO MX2",
"service_provider": ""
},
{
"program_number": 23615,
"service_name": "TOKYO MX臨時",
"service_provider": ""
},
{
"program_number": 23992,
"service_name": "MXワンセグ1",
"service_provider": ""
},
{
"program_number": 23993,
"service_name": "MXワンセグ2",
"service_provider": ""
}
],
"transport_stream_id": 32391
}
- Requirement
- gcc -std=c++11
- boost library
$ cmake -DCMAKE_BUILD_TYPE=Release .
$ make
$ sudo make install
Released under the GPLv3 license.