pinfocopy

pinfocopy実行画面

pinfocopyはTSファイル間で番組情報をコピーするツールです。
コマンドラインから番組情報を指定してTSファイルに設定することも出来ます。

このツールの使用は使用者の自己責任において行って下さい。
このツールの使用によってもたらされた如何なる結果にも作者は一切責任を負いません。
大事なファイルはバックアップしましょう



ダウンロード

pinfocopy Version 2.0 for Windows
pinfocopy Version 2.0 for OSX

アーカイブの内容
readme.txt 説明ファイル
pinfocopy.exe アプリケーション本体
x64 フォルダ 64bit版アプリケーション本体
src フォルダ アプリケーションのソースファイル

 


実行環境

本ツールは主にWindows7, Windows10で動作を確認しています。
開発環境はVisual Studio 2015です。


アプリケーションの使用方法

コマンドプロンプトから以下のように実行して下さい。

(1) TSファイル間で番組情報をコピーする場合

「番組情報元TSファイル」からオプションで指定された番組情報項目を取得し、それを「変換元ファイル」にコピーします。「変換元ファイル」は直接書き換えませんので、コピーされた結果は「保存先ファイル」として保存されます。

pinfocopy.exe 番組情報元TSファイル名 変換元ファイル名 保存先ファイル名 [-オプションスイッチ] [enter]

 

以下は実行例です。

pinfocopy.exe bangumi1.ts sourcefile.m2ts destfile.m2ts -CBI [enter]
実行例1: 番組情報元TSファイル”bangumi1.ts”から番組情報(チャンネル名, 番組名, 番組内容)を取得して、変換元ファイル”sourcefile.m2ts”にコピーし、その結果を保存先ファイル”destfile.m2ts”に保存する

 

オプションスイッチ [-NCTBIEGVA] の指定内容は以下の通りです。コピーしたいオプションをまとめて指定して下さい。

コピーする番組情報を指定するコピーオプションの一覧 
-N 放送種別(TB/BS/CS)とチャンネル番号をコピーします。
-C 放送局名をコピーします。
-T 時刻情報をコピーします。
-B 番組名をコピーします。
-I 番組内容をコピーします。
-E 番組内容詳細をコピーします。
-G 番組ジャンル情報をコピーします。
-V コンポーネント記述子(映像情報)をコピーします。
-A 音声コンポーネント記述子(音声情報)をコピーします。
該当記述子は複数存在することがあるので整数値で何番目の記述子をコピーするか指定する必要があります。
一つ目の音声コンポーネント記述子をコピーする場合の指定例: -A 1
-A 0 を指定するとすべての音声コンポーネント記述子をコピーします。

 

(2) コマンドラインから番組情報を指定して設定する場合

コマンドラインから取得した番組情報項目を「変換元ファイル」にコピーします。「変換元ファイル」は直接書き換えませんので、コピーされた結果は「保存先ファイル」として保存されます。

pinfocopy.exe 変換元ファイル名 保存先ファイル名 [-オプションスイッチ 設定内容等] [enter]

 

以下は実行例です。

pinfocopy.exe sourcefile.m2ts destfile.m2ts -c “NHK総合” [enter]
実行例2:  コマンドラインから取得した番組情報(チャンネル名)を変換元ファイル”sourcefile.m2ts”にコピーし、それを保存先ファイル”destfile.m2ts”として保存する

 

オプションスイッチ [-tcbiegw] の指定内容は以下の通りです。オプションと共に設定したい番組情報項目を指定して下さい。

コマンドラインから番組情報をパラメータを指定するオプション一覧 
-t 時刻情報(放送日付,放送時刻,番組継続時間)を設定する。
(指定形式 YYYY/MM/DD HH:MM:SS HH:MM:SS) 例: -t 2012/07/25 19:00:00 00:45:00
-c チャンネル名を設定する。例: -c “チャンネル名テキスト”
-b 番組名を設定する。例: -b “番組名テキスト”
-i 番組内容を設定する。例: -i “番組内容テキスト”
-e 番組内容詳細情報を設定する。例: -e “項目名テキスト” “項目内容テキスト”
-g 番組ジャンル情報を設定する。例:-g 0x01
-w 番組名等のテキスト情報の保存時、文字サイズ情報(MSZ, NSZ)を保存しない。

 

-g オプションで番組ジャンル情報を設定する場合、「0x00」の様に16進数のコードでジャンルを指定します。各種ジャンルがどのコードに対応しているかは、rplsconvのページを参照して下さい。ジャンル情報は3個まで指定できます。必要な数の -g オプションを並べて指定して下さい。以下は3個のジャンル情報を設定する例です。

pinfocopy.exe sourcefile.m2ts destfile.m2ts -g 0x00 -g 0x01 -g 0x02 [enter]
実行例3: 3個のジャンル情報を設定する例

 

以下はディスクの入出力等に関連するオプションです。必要に応じて指定して下さい。

ディスク入出力等に関連するオプションの一覧 
-f 番組情報元TSファイルから番組情報を取得するファイル位置を整数値で指定します。
0~99 の数値で”-f 数値”として指定します。-f 0 がファイルの先頭を示し、-f 99 がファイルの終端です。範囲外の指定は無視されます。
このオプションを指定しない場合のデフォルトは -f 50 相当(ファイルの中央付近)です。
-l 番組情報パケットの探索リミットを整数値で指定します。
番組情報元TSファイルから番組情報を取得する際、情報の探索は開始位置からファイルの終端まで行います。このため必要な情報を見つけられない場合、大きなファイルでは長時間を要してエラー終了することになります。-l オプションを指定すると、必要な番組情報がまだ見つからない場合でも”指定した数値MByte”分まで進行した所で探索を終了します。
指定例: -l 50
-u 処理するTSファイルのパケットサイズを”188バイト入力、188バイト出力”(.tsファイル用)に指定する。
デフォルトは”192バイト入力、192バイト出力”(.m2tsファイル用)になっています。
-v ファイル読み込みバッファの大きさを整数値で指定します。
指定例:-v 16
(指定した整数値 x 64kB)のサイズのバッファが確保されます。デフォルトは -v 1 相当です。
-x 注意:FILE_FLAG_NO_BUFFERINGモードの使用はVersion 2.0で廃止されました。
-xオプション指定の有無は動作に影響を与えず、無視されます

 


番組情報元TSファイルについて

番組情報コピー元として使えるTSファイルは、パーシャルTS(SITに番組情報を有する)/非パーシャルTS(EITに番組情報を有する)の区別、パケットサイズ(188/192)の区別は問いません。”rplsTOOL”で番組情報を表示可能なTSファイルであれば使用可能です。

非パーシャルTSを番組情報コピー元として使用した場合でも、コピー先にはパーシャルTS形式に変換された形でコピーされます。

例外として”スカパーSDのパーシャルTSファイル”はrplsTOOLで番組情報を表示可能ですが、番組情報の形式の違いのため番組情報コピー元ファイルとして使用できません。

Version 2.0からは、番組情報コピー元ファイルに.rplsファイルを使用可能になりました。
コピーオプション -C, -T, -B, -I, -E, -G を指定可能です。-Nオプションは使用できません。


変換元TSファイル(番組情報コピー先TSファイル)について

番組情報コピー先TSファイルとして使用可能なTSは、SITを有するパーシャルTSであることが条件です。SITを有しないファイルにはコピーできません。

デフォルトでは192バイトパケットTS(.m2tsファイル)用になっていますので、188バイトパケットTS(.tsファイル)に対してコピーを行う場合は -u オプションを指定してください。


番組情報テキストについて

コマンドラインから番組情報を指定して設定する際、チャンネル名や番組内容等のテキスト情報部分は必ず”テキスト” の様にダブルクオーテーションで前後を囲んで指定して下さい。テキスト内で ” を文字として使用したい場合は、”” の様に2個続けて書けば一つの ” として使用できます。

-i, -e オプションで番組内容、番組内容詳細を設定する場合、テキストには改行を使用する事が出来ます。コマンドラインから直接改行を入力する事は出来ないので、改行する場所で「¥n」を使用して下さい。

以下の例は、番組内容に3行のテキストを設定する例です。

pinfocopy.exe sourcefile.m2ts destfile.m2ts -i “テキスト1¥nテキスト2¥nテキスト3” [enter]
実行例4: m2tsファイル”sourcefile.m2ts”の番組内容を以下の様に設定し、”destfile.m2ts”として保存する
テキスト1
テキスト2
テキスト3

 

テキストの設定時に、文字サイズ指定を保存しない様にしたい場合は -w オプションを指定して下さい。この場合、半角英数字を使用してもレコーダ上での表示は全角表示になります。

TSファイルに設定保存されるテキスト情報には長さ制限があり、制限を越える部分は保存されずに無視されますので注意して下さい。これはTSファイルからのコピーの際も同様です。


番組内容詳細情報の設定について

番組内容詳細情報は通常、複数の「項目名と項目内容」から構成されています。
例えばTSファイルの番組内容詳細情報をrplsTOOLで見た際、以下の様になっている例があります。

番組内容
この番組では、・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

出演者
山田太郎,山田花子,・・・・・・・・・・

 

この場合、番組詳細情報は「番組内容」と「出演者」の二つの項目から成っています。
-e オプションでこの様に指定したい場合は、以下の様に二つの -e オプションで指定します。

pinfocopy.exe src.m2ts dst.m2ts -e “番組内容” “この番組では、…” -e “出演者” “山田太郎,…” [enter]
実行例5: 番組詳細情報を指定する例

 

最大で16個の -e オプションを指定できます。「項目名」には改行は使用できません。「項目内容」には改行(¥n)を使用できます。「項目内容」部分のテキストが長い場合は、自動で分割され、内部的に2個分の項目を使用することになります。

*** 注意:項目名部分に “none” を指定する方法は、Version 2.0で廃止されました。***


注意点

本ツールが行っている処理は以下の通りです。

  1. 番組情報元TSファイルの中央付近からEITもしくはSITを取得し、そこから番組情報を取得する。あるいはコマンドラインから番組情報を取得する。
  2. 変換元TSファイルの中央付近からSITを取得する。
  3. (1)の番組情報と(2)のSITを合わせて新たなSITを作成する。
  4. 変換元TSファイル内のすべてのSITを(3)で作成したSITに置換しつつ、保存先ファイルに保存する

SIT中に”現在時刻を有するパーシャルTSタイム記述子”が存在する場合は、ファイル先頭での現在時刻を番組開始時刻とし、PCRに従って時間進行するようになっています。


Mac OS X版

OS X版のアプリケーションは、Xcode 7.3で作成しました。作成したバイナリ実行ファイルは、intel 64bitアーキテクチャ向けで、OS X version 10.7 Lion以降が対象です。OS X 10.11.4 (El Capitan)上で動作を確認しました。機能についてはwindows用と完全に同一で、使用方法はWindows版に準じます。


再配布について

本ツールの再配布に制限はありませんので、自由に再配布してくださって構いません。ただしツールの再配布によってもたらされた如何なる結果にも作者は一切責任を負いません。再配布に際して作者への連絡・許可は必要ありません。

ソースを改変したオリジナルバージョン等を公開される場合にも、作者への連絡・許可は必要ありません。


更新履歴

旧バージョンのダウンロードが可能です。

Version 更新内容
2.0 番組情報コピー元ファイルとして.rplsファイルを使用可能になりました。
-eオプションの指定方法を一部変更しました。
-eオプションの不具合を修正しました。
文字コードの変換ルーチンを更新しました。
FILE_FLAG_NO_BUFFERINGモードの使用を廃止しました。
1.2 番組情報をコマンドラインから直接設定する機能を追加しました。
オプションスイッチの割り当てを一部変更しました。
1.1 マルチセクションパケットを有するTSからの番組情報取得を改善しました。
1.0 最初のバージョン。