SmartVision 2.1の場合, 標準の動画フォルダは初期状態で次の3箇所ある:
録画フォルダ C:\Documents and Settings\All Users\Documents\My Pictures 編集フォルダ C:\Documents and Settings\All Users\Documents\My Pictures\SVEdit おまかせ C:\Documents and Settings\All Users\Documents\My Pictures\SVAutoRec以上のフォルダの場所はレジストリに保存されている:
[HKEY_CURRENT_USER\Software\NEC\SmartVision\MainApp] "MpegFileSavePath"="C:\\Documents and Settings\\All Users\\Documents\\My Pictures" "EditMpegSavePath"="C:\\Documents and Settings\\All Users\\Documents\\My Pictures\\SVEdit" [HKEY_LOCAL_MACHINE\SOFTWARE\NEC\SmartVision\SvAutoRec\Setting] "AutoRecFileSavePath"="C:\\Documents and Settings\\All Users\\Documents\\My Pictures\\SVAutoRec"
動画フォルダは設定で変更できるし追加もできる. 適当に移動して使う人も多いので注意.
動画フォルダの中身は.sviファイルとフォルダである. そのフォルダの中には動画本体その他のファイルがある. 例えば, 2005年8月6日8時15分と2005年8月9日11時2分に予約録画すると, 録画フォルダの内容は次のようになる:
20050806_081455.svi
20050806_081455\ --- 20050806_081455.m2p
|- 20050806_081455.INFO
|- 20050806_081455.itbl
|- 20050806_081455.dt
|- 20050806_081455_0000000000000000_p.bmk
|- 20050806_081455_0000000000000000_p.bms
|- ...
20050809_110155.svi
20050809_110155\ --- 20050809_110155.m2p
|- 20050809_110155.INFO
|- 20050809_110155.itbl
|- 20050809_110155.dt
|- 20050809_110155_0000000000000000_p.bmk
|- 20050809_110155_0000000000000000_p.bms
|- ...
ファイル名・フォルダ名は実際に録画が開始された「年月日_時分秒」を表す.
この例では数秒前から録画を開始するように設定していたため,
このようなファイル名・フォルダ名となる.
ただし, エクスポートした場合, ファイル名・フォルダ名は.sviファイルに保存されている年月日時分秒が使われる. また, 分割単位をひとつの番組としてエクスポートすると, 「年月日_時分秒.#001」, 「年月日_時分秒.#002」, 「年月日_時分秒.#003」,...というファイル名・フォルダ名になる.
また, インポートした動画の場合, 元のファイル名がそのまま使われる. 例えば, MONSTER200507190218.MPGというファイルをインポートすると, 次のようなフォルダ構成になる.
MONSTER200507190218.svi
MONSTER200507190218\ --- MONSTER200507190218.m2p
|- MONSTER200507190218.INFO
|- MONSTER200507190218.itbl
個々のファイルの概要は以下の通り:
| .svi | 動画ファイルに関するデータ |
| .m2p .mpg | 動画ファイル本体 |
| .INFO | 分割ファイル管理 |
| .itbl | I-Picture Table(SmartVisionの早送り・巻戻し等で使用) |
| .dt | シーンインデックスに関係する |
| .bmk .bms | シーンインデックスに使用するbitmap静止画像 |
| .esd | エクスポート記録 |
このうち.dt .bmk .bmsは, インポートした場合やレジストリで次のように設定した場合は生成しない.
[HKEY_LOCAL_MACHINE\SOFTWARE\NEC\SmartVision\LogTrace\Youyaku] "RmvYouyaku"=dword:00000001
SmartVision 2.1の場合
ファイルサイズは8192バイトで固定. SmartVision 2.0でもこのファイルを読める.
構造は以下の通り. 文字列はShift_JISで末尾は0. 「」で囲んだ数字は全て16進数.
8bytes : unknown1: 「00 18 00 00 01 01 00 00」のみ.
2bytes : TVのときチャンネル番号, CATVのときチャンネル番号-12, 外部入力のとき1.
2bytes : 0→TV, 3→CATV, 4→外部入力. インポートは外部入力扱い.
260bytes : 放送局名. 未設定・外部入力・インポートのときは"放送局名なし".
3072bytes: 番組名. ないときは"番組名なし". インポートのときはファイル名(拡張子なし).
1024bytes: 詳細情報. ないときは"詳細情報なし".
260bytes : 動画ファイルのフルパス名. [*1]
2bytes : 録画開始年. [*2]
2bytes : 録画開始月.
2bytes : 録画開始曜日. 0→日, 1→月, 2→火, 3→水, 4→木, 5→金, 6→土.
2bytes : 録画開始日.
2bytes : 録画開始時.
2bytes : 録画開始分.
2bytes : 録画開始秒. [*3]
2bytes : 録画開始ミリ秒. [*3]
2bytes : 録画終了年. 不慮の録画中断のとき, 録画終了時刻は全て0になる. [*4]
2bytes : 録画終了月.
2bytes : 録画終了曜日. 0→日, 1→月, 2→火, 3→水, 4→木, 5→金, 6→土.
2bytes : 録画終了日.
2bytes : 録画終了時.
2bytes : 録画終了分.
2bytes : 録画終了秒. [*5]
2bytes : 録画終了ミリ秒. [*5]
4bytes : ビットレート(bit/秒). [*6]
4bytes : unknown4-1: 「00 00 00 00」→インポート.
「03 00 00 00」→その他.
4bytes : ADAMS-EPGの情報で: 0→モノラル, 2→音声多重, 3→ステレオ, 4→二ヶ国語.
4bytes : 0→標準画質, 1→高画質, 2→ユーザー設定・インポート, 7→長時間.
4bytes : unknown4-2: 「00 00 00 00」のみ.
4bytes : 0→未視聴, 1→既視聴.
8bytes : unknown4-3: 「0C 00 00 00 FF FF FF FF」→インポート.
「0F 00 00 00 FF FF FF FF」→インポート.
「0F 00 00 00 01 00 00 00」→その他.
8bytes : 1→MPEG2(CBR), 2→MPEG2(VBR), 3→VideoCD(MPEG1). [*7]
8bytes : 0→352x240, 1→352x480, 2→720x480. [*7]
232bytes : unknown4-4: 全て0.
4bytes : 以下は確認したものの一部. 詳細な全ジャンル一覧
"" →なし. 外部入力はここ.
"B1" →ドラマ.
"C2" →映画.
"D2" →スポーツ.
"E2" →劇場/公演.
"F3" →音楽.
"G1" →バラエティ.
"H4" →教養/ドキュメンタリー.
"I1" →アニメ/特撮.
"J3" →ニュース/報道.
"K9" →趣味/教育.
"L1" →その他. インポートはここ.
情報・福祉のジャンルはなくなったと思われる.
12bytes : unknown4-5: 全て0.
4bytes : SmartVisionでジャンルを変更すると, ここが書き換わり, 優先される.
「00 00 00 00」→初期値.
「42 00 00 00」→ニュース/報道.
「43 00 00 00」→スポーツ.
「44 00 00 00」→情報.
「45 00 00 00」→ドラマ.
「46 00 00 00」→音楽.
「47 00 00 00」→バラエティ.
「48 00 00 00」→映画.
「49 00 00 00」→アニメ/特撮.
「4A 00 00 00」→教養/ドキュメンタリー.
「4B 00 00 00」→劇場/公演.
「4C 00 00 00」→趣味/教育.
「4D 00 00 00」→福祉.
「51 00 00 00」→その他. インポートは最初からこの設定.
12bytes : unknown4-6: 全て0.
4bytes : 録画秒数. 動画の本当の秒数にかなり近い値.
4bytes : 動画ファイル分割数. 不慮の録画中断のときは0.
4bytes : unknown5: 「00 00 00 00」のみ.
8bytes : ファイルバイト数. 不慮の録画中断のときは0.
1024bytes: unknown6-1: 全て「FF」.
16bytes : unknown6-2: 全て0.
8bytes : unknown6-3: 「00 08 00 00 01 01 00 00」のみ.
4bytes : unknown6-4: 全て0.
4bytes : 0→非インポート. 1→インポート.
4bytes : 0→非おまかせ. 1→おまかせ.
92bytes : unknown6-5: 全て0.
8bytes : unknown6-6: 「00 08 00 00 01 01 00 00」→通常.
0→分割単位をひとつの番組としてエクスポートしたとき.
1280bytes: 8バイト毎に区切り, 小文字で表した16桁の16進整数値がシーンインデックスファイル名を示す:
"年月日_時分秒_16進整数値_s.bmk", "年月日_時分秒_16進整数値_s.bms".
この整数値は開始からのミリ秒数を表す.
残りの不要な部分は全て「FF FF FF FF FF FF FF FF」.
260bytes : 録画予約したユーザ名.
4bytes : 0→非シークレット. 1→シークレット.
2bytes : 通常0. エクスポートされた.sviファイルの場合:
TVのときチャンネル番号, CATVのときチャンネル番号-12, 外部入力のとき1.
2bytes : 通常0. エクスポートされた.sviファイルの場合:
0→TV, 3→CATV, 4→外部入力.
492bytes : unknown7: 全て0.
[*1] 動画フォルダは自分で移動して使う人が多い. フルパス名はあまり信用すべきではない. 実際, 勝手に移動した動画フォルダをSmartVisionで読み込んでも, 正常に再生できる.
[*2] インポートの場合, インポートした時刻になる. ただし, 0:00〜9:00にインポートすると, 間違いではないものの32:21というような不自然な時刻になるので注意. おそらく世界標準時で日付変更判定しているのだろう.
[*3] 予約録画の場合, 録画開始時刻は実際に録画が始められた時刻ではなく, 予約時に指定された時刻. よって録画開始秒・ミリ秒は0になる.
[*4] インポートの場合, インポートした時刻+動画再生時間になる. 開始時刻と違い自然な時刻になる. なお, ミリ秒は0になる.
[*5] 録画終了作業が完了した時刻と思われる. 映像がこの時刻まで録画されているわけではない.
[*6] 標準画質のとき4338000, 高画質のとき8349873, 長時間のとき2320500で固定. インポートのときは計算している様子.
[*7] 標準画質→MPEG2(VBR) 720x480, 高画質→MPEG2(CBR) 720x480, 長時間→MPEG2(VBR) 352x480.
SmartVision 1.9の場合
これはSmartVision 1.9用にエクスポートしたものを解析したもの. 実際のSmartVision 1.9の.sviファイルとは完全には一致しないと思われる.
ファイルサイズは6144バイトで固定. 構造はSmartVision 2.1の最初の6144バイトとほぼ同じで, 先頭の部分のみ以下のように異なる.
8bytes : unknown1: 「00 18 00 00 04 00 00 00」SmartVision 1.8以下の場合
これはSmartVision 1.8以下用にエクスポートしたものを解析したもの. 実際のSmartVision 1.8以下の.sviファイルとは完全には一致しないと思われる.
ファイルのある場所は, SmartVision 1.9以上とは異なり, .m2pファイル等と同じところにある.
ファイルサイズは6144バイトで固定. 構造はSmartVision 2.1の最初の6144バイトとほぼ同じで, 先頭の部分のみ以下のように異なる.
8bytes : unknown1: 「00 18 00 00 02 00 00 00」
.m2pはMPEG2, .mpgはMPEG1.
ファイルが分割されるときは以下のようなファイル名になる. 「foo」の部分は実際には「年月日_時分秒」など.
foo.m2p foo.001.m2p foo.002.m2p foo.003.m2p ...
録画時に4GBを超える場合, 4GB以下ずつに分割される. 正確な最大サイズは未調査.
エクスポートで分割するときは, 単なる分割ではないので少し総サイズが大きくなる. 一方, エクスポートで結合するときは単純に繋げるのみ. よって, 分割ファイルを結合するときは次のようにすれば十分.
copy /b foo.m2p + foo.001.m2p + foo.002.m2p + foo.003.m2p destination.m2p
インポートできるのはMPEG2のみで, 拡張子は.m2pに変更される.
ファイルサイズは568バイトで固定.
構造は以下の通り. 文字列はShift_JISで末尾は0.
4bytes : 動画ファイルの分割数-1.
4bytes : unknown1: 未分割→動画ファイルサイズ.
分割→最後の動画ファイルサイズ.
4bytes : unknown2: 分割もエクスポートもされていないもの→「00 00 00 FF」.
未分割のものがエクスポートされたもの→動画ファイルサイズ.
分割→先頭の動画ファイルサイズに近い.
4bytes : unknown3: ファイルサイズ÷再生秒数に近い.
4bytes : unknown4: 未分割→動画ファイルサイズ.
分割→動画ファイルサイズの合計に近い.
24bytes : unknown5: 0のみ.
512bytes: 先頭の動画ファイル名(拡張子なし).
12bytes : 拡張子(ピリオドなし).
動画ファイル1つに, 同名の.itblファイルが1つ作られる.
詳細不明.
詳細不明.
.bmkは最も一般的なWindows 3.xフォーマットビットマップ. サイズはキャプチャサイズと同じ. カラーは32bit.
.bmsも同じくWindows 3.xフォーマットビットマップ. サイズは80x60. カラーは32bit.
ファイル名は以下のようになる. 「年月日_時分秒」には実際は数字が当てはめられる.
年月日_時分秒_0000000000000000_p.bmk 年月日_時分秒_0000000000000000_p.bms 年月日_時分秒_00000000000259a4_s.bmk 年月日_時分秒_00000000000259a4_s.bms 年月日_時分秒_000000000002d6c4_s.bmk 年月日_時分秒_000000000002d6c4_s.bms ...最初の2つは動画の最初の絵. 特に「年月日_時分秒_0000000000000000_p.bmk」はSmartVisionで右上に表示される絵になる. 最初の2つ以外は動画の途中の絵で, 16桁の16進の数字は.sviファイルの中に一覧されている. 数字は再生開始からのミリ秒数に相当する.
エクスポートすると, エクスポート元の動画フォルダのINFOファイル等と並んで, 同じファイル名を持つ.esdファイルが作られる.
ファイルサイズは8400バイトで固定. 中身は全て0. 未使用と思われる.