mcpField
V
video-metadata-inspector

video-metadata-inspector

github.com/dkyazzentwatwaクリエイティブ・メディア12466 回インストール29 週間前に更新
リポジトリ

video-metadata-inspector について

Video Metadata Inspectorは、動画ファイルの技術情報と記述メタデータを調べるPythonライブラリとコマンドラインツールです。形式確認、品質評価、トランスコード計画、ライブラリ整理に利用できます。

主な機能

  1. 01再生時間、解像度、フレームレート、容量の取得
  2. 02映像・音声コーデックの確認
  3. 03コンテナタグとストリーム情報の取得
  4. 04複数ファイルの一括分析
  5. 05JSON、CSV、テキスト形式でのレポート出力

活用シーン

  1. 01要件に沿った動画形式の確認
  2. 02トランスコード計画前のファイル確認
  3. 03動画の技術的な品質特性の評価
  4. 04動画ライブラリのメタデータ整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dkyazzentwatwa/chatgpt-skills --skill video-metadata-inspector

インストール後、Claude Code で/video-metadata-inspectorを入力して読み込まれたか確認します。

同梱ファイルscripts/requirements.txtscripts/video_metadata_inspector.py

詳細

動画メタデータインスペクター

動画ファイルから、再生時間、解像度、コーデック、フレームレート、技術仕様などの包括的なメタデータを抽出して分析します。

目的

以下を目的とした動画メタデータの検査:

  • フォーマットの検証と互換性の確認
  • 品質の評価と検証
  • トランスコードの計画と最適化
  • 動画ライブラリのカタログ化
  • 技術仕様レポートの作成

機能

  • 基本情報:再生時間、解像度、フレームレート、ファイルサイズ
  • コーデックの詳細:動画/音声コーデック、プロファイル、ビットレート
  • 技術仕様:アスペクト比、ピクセルフォーマット、サンプルレート
  • メタデータ:タイトル、アーティスト、作成日、タグ
  • 一括分析:1 回の操作で複数のファイルを処理
  • エクスポート形式:JSON、CSV、人が読みやすいテキスト

クイックスタート

from video_metadata_inspector import VideoMetadataInspector

# Inspect single video
inspector = VideoMetadataInspector()
inspector.load('video.mp4')
metadata = inspector.get_metadata()
print(f"Duration: {metadata['duration_seconds']:.2f}s")
print(f"Resolution: {metadata['width']}x{metadata['height']}")
print(f"FPS: {metadata['fps']}")

# Export full report
inspector.export_report('report.json', format='json')

# Batch inspect directory
inspector.batch_inspect(
    input_files=['video1.mp4', 'video2.mkv'],
    output='metadata.csv',
    format='csv'
)

CLI の使い方

# Basic metadata
python video_metadata_inspector.py input.mp4

# Full technical details
python video_metadata_inspector.py input.mp4 --verbose

# Export to JSON
python video_metadata_inspector.py input.mp4 --output metadata.json --format json

# Batch inspect directory
python video_metadata_inspector.py *.mp4 --output metadata.csv --format csv

# Compare multiple videos
python video_metadata_inspector.py video1.mp4 video2.mp4 --compare

API リファレンス

VideoMetadataInspector
class VideoMetadataInspector:
    def load(self, filepath: str) -> 'VideoMetadataInspector'
    def get_metadata(self) -> Dict[str, Any]
    def get_basic_info(self) -> Dict[str, Any]
    def get_video_info(self) -> Dict[str, Any]
    def get_audio_info(self) -> Dict[str, Any]
    def get_format_info(self) -> Dict[str, Any]
    def export_report(self, output: str, format: str = 'json') -> str
    def batch_inspect(self, input_files: List[str], output: str = None,
                     format: str = 'csv') -> pd.DataFrame
    def compare_videos(self, video_files: List[str]) -> pd.DataFrame

メタデータのカテゴリ

基本情報
  • 再生時間(秒、書式化済み)
  • 解像度(幅 × 高さ)
  • フレームレート(FPS)
  • ファイルサイズ
  • アスペクト比
動画ストリーム
  • 動画コーデック(H.264、H.265、VP9 など)
  • コーデックのプロファイルとレベル
  • ビットレート(kbps)
  • ピクセルフォーマット(yuv420p など)
  • 色空間と色域
音声ストリーム
  • 音声コーデック(AAC、MP3、Opus など)
  • サンプルレート(Hz)
  • チャンネル数(モノラル、ステレオ、5.1 など)
  • 音声ビットレート(kbps)
コンテナ形式
  • コンテナタイプ(MP4、MKV、AVI など)
  • 作成日
  • メタデータタグ(タイトル、アーティスト、説明)
  • ストリーム数

ユースケース

フォーマットの検証:

inspector.load('video.mp4')
info = inspector.get_video_info()
if info['codec'] == 'h264' and info['width'] >= 1920:
    print("✓ Meets requirements: 1080p H.264")

トランスコードの計画:

# Check if transcoding needed
metadata = inspector.get_metadata()
if metadata['video_codec'] != 'h265' or metadata['bitrate_kbps'] > 5000:
    print("Transcode recommended")

品質の評価:

# Analyze video quality metrics
info = inspector.get_metadata()
quality_score = (
    (info['width'] * info['height']) / 2073600 * 50 +  # Resolution score
    min(info['fps'] / 60, 1) * 25 +  # Frame rate score
    min(info['bitrate_kbps'] / 10000, 1) * 25  # Bitrate score
)

よくある確認項目

動画は 4K ですか?

metadata['width'] >= 3840 and metadata['height'] >= 2160

動画は HDR ですか?

'hdr' in metadata.get('color_space', '').lower()

音声はステレオですか?

metadata['audio_channels'] == 2

コーデックは最新ですか?

metadata['video_codec'] in ['h265', 'vp9', 'av1']

制限事項

  • 破損した動画や損傷した動画のメタデータは抽出できません
  • 一部の独自形式はサポートが限定される場合があります
  • DRM で保護されたコンテンツは分析できません
  • 非常に大きなファイルでは、メタデータの抽出に時間がかかる場合があります
  • コーデックの詳細をすべて取得するには FFmpeg/FFprobe が必要です

コメント