Core modules: - probe.rs: ffprobe execution logic - parser.rs: JSON parsing logic - output.rs: Output formatting - lib.rs: Library interface - main.rs: CLI entry point Features: - Extract video metadata using ffprobe - Parse video/audio/subtitle streams - Save to JSON file - Console summary output Documentation: - Added QUICKSTART.md - Added ENVIRONMENT_SETUP_REPORT.md
54 lines
2.5 KiB
Bash
Executable File
54 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Test script for Video YOLO Player workflow
|
|
|
|
echo "======================================"
|
|
echo "Video YOLO Player - Workflow Test"
|
|
echo "======================================"
|
|
echo ""
|
|
|
|
# Check dependencies
|
|
echo "1. Checking dependencies..."
|
|
python3 --version || { echo "ERROR: Python3 not found"; exit 1; }
|
|
ffprobe -version &> /dev/null || { echo "ERROR: ffprobe not found"; exit 1; }
|
|
ffplay -version &> /dev/null || { echo "ERROR: ffplay not found"; exit 1; }
|
|
echo " ✓ All dependencies installed"
|
|
echo ""
|
|
|
|
# Check Python packages
|
|
echo "2. Checking Python packages..."
|
|
python3 -c "import cv2; print(' ✓ opencv-python installed')" || exit 1
|
|
python3 -c "import numpy; print(' ✓ numpy installed')" || exit 1
|
|
python3 -c "from ultralytics import YOLO; print(' ✓ ultralytics installed')" || exit 1
|
|
echo ""
|
|
|
|
# Check scripts
|
|
echo "3. Checking scripts..."
|
|
[ -f "video_probe.py" ] && echo " ✓ video_probe.py found" || { echo "ERROR: video_probe.py not found"; exit 1; }
|
|
[ -f "video_yolo_object_prescan.py" ] && echo " ✓ video_yolo_object_prescan.py found" || { echo "ERROR: video_yolo_object_prescan.py not found"; exit 1; }
|
|
[ -f "video_yolo_player.py" ] && echo " ✓ video_yolo_player.py found" || { echo "ERROR: video_yolo_player.py not found"; exit 1; }
|
|
echo ""
|
|
|
|
# Test script syntax
|
|
echo "4. Testing script syntax..."
|
|
python3 -m py_compile video_probe.py && echo " ✓ video_probe.py syntax OK" || exit 1
|
|
python3 -m py_compile video_yolo_object_prescan.py && echo " ✓ video_yolo_object_prescan.py syntax OK" || exit 1
|
|
python3 -m py_compile video_yolo_player.py && echo " ✓ video_yolo_player.py syntax OK" || exit 1
|
|
echo ""
|
|
|
|
# Test help messages
|
|
echo "5. Testing help messages..."
|
|
python3 video_probe.py 2>&1 | grep -q "Usage:" && echo " ✓ video_probe.py help OK" || { echo "ERROR: video_probe.py help failed"; exit 1; }
|
|
python3 video_yolo_object_prescan.py 2>&1 | grep -q "Usage:" && echo " ✓ video_yolo_object_prescan.py help OK" || { echo "ERROR: video_yolo_object_prescan.py help failed"; exit 1; }
|
|
python3 video_yolo_player.py 2>&1 | grep -q "Usage:" && echo " ✓ video_yolo_player.py help OK" || { echo "ERROR: video_yolo_player.py help failed"; exit 1; }
|
|
echo ""
|
|
|
|
echo "======================================"
|
|
echo "✓ All tests passed!"
|
|
echo "======================================"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo " 1. Run: python3 video_probe.py <your_video.mp4>"
|
|
echo " 2. Run: python3 video_yolo_object_prescan.py <your_video.mp4> yolov8n.pt"
|
|
echo " 3. Run: python3 video_yolo_player.py <your_video.mp4> yolov8n.pt"
|
|
echo ""
|