lwiファイルの構造
lwiは
L-SMASH Works Index File
の略みたいです。
(この記事は、HolyWu氏のr1069のlwiファイルの構造についてのノートです)
(ここに記載されている情報は、正確でないかもしれない)
Misskey.ioに投稿したやつ(ノート消失済み)
知らない用語は検索などをしてください。実は私もよくわかっていません。
Index fileのバージョン
動画ファイルのフルパス
動画ファイルのファイルサイズ
動画のコンテナフォーマットに関する情報
デフォルトの動画ストリームのインデックス
デフォルトの音声ストリームのインデックス
全動画ストリームのコーデックID/単位時間(?)/幅/高さ/ピクセルフォーマット(YUVとか)/色空間
全音声ストリームのコーデックID/単位時間(?)/チャンネル数/サンプリングレート/サンプルフォーマット(fltpとか)/BitPerSample
全パケットの情報
(読んだパケットが動画の場合)ストリームのインデックス/パケットのファイル内バイトポジション/パケットの時間のポジション/パケットからデコードした時間のポジション/拡張データのインデックス/キーフレームであるか/フレームのタイプ?(I/P/Bフレーム)/フレーム数(0から)/フレームの長さ/フィールドオーダー
(読んだパケットが音声の場合)ストリームのインデックス/パケットのファイル内バイトポジション/パケットの時間のポジション/パケットからデコードした時間のポジション/拡張データのインデックス/フレームに対する音声の長さ?
全ストリームの長さ
全ストリームのフレームインデックス情報
バイトポジション/タイムスタンプ/キーフレームかどうか/フレームのバイトサイズ/キーフレームまでのフレーム数
拡張データのリスト
(動画データの場合)拡張データのサイズ/コーデックID/FOURCC/幅/高さ/ピクセルフォーマット/BitsPerSample/拡張データ内容
(音声データの場合)拡張データのサイズ/コーデックID/FOURCC/チャンネルレイアウト/サンプリングレート/サンプルフォーマット/BitsPerSample/BlockAlign/拡張データ内容
ごめんなさい。タスクがあるので、ちまちま検証しながら整理して書き直します。
書き直し作業中のもの
階層構造
LSMASHWorksIndexVersion
LibavReaderIndexFile
InputFilePath
FileSize
FileHash
LibavReaderIndex
ActiveVideoStreamIndex
ActiveAudioStreamIndex
StreamInfo(Video)
Codec
TimeBase
Width
Height
Format
ColorSpace
StreamInfo(Audio)
Codec
TimeBase
Channels
Rate
Format
BPS
table:xml形式のところ
タグ 記載内容の意味 内容の例
LSMASHWorksIndexVersion lwindexのバージョン(?) 0.0.2.0
LibavReaderIndexFile インデックスファイルのバージョン 16
InputFilePath 動画ファイルの絶対パス C:\hogehoge\hoge.mkv
FileSize 動画ファイルのファイルサイズ 150192120
LibavReaderIndex 動画ファイルのコンテナフォーマットに関する情報(Flags,Codec ID,Name) 0x00000000,0,matroska,webm
ActiveVideoStreamIndex 最初に発見したアクティブな動画ストリームのストリームインデックス +0000000000
ActiveAudioStreamIndex 最初に発見したアクティブな音声ストリームのストリームインデックス +0000000001
StreamInfo ストリームに関する情報(StreamIndex,CodecType(動画/音声など)) 0,0
table: StreamInfo内(動画だった場合)
key 意味 valueの例
Codec コーデックID 27
TimeBase 単位時間 1/1000
Width 幅 1280
Height 高さ 720
Format ピクセルフォーマット名 yuv420p
ColorSpace 色空間ID 6
table:StreamInfo内(音声だった場合)
key 意味 valueの例
Codec コーデックID 86076
TimeBase 単位時間 1/1000
Channels チャンネル数:チャンネルレイアウト 2:0x3
Rate サンプリングレート 48000
Format サンプルフォーマット fltp
BPS 1サンプルあたりのビット数 32