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
69 lines
1.8 KiB
Bash
Executable File
69 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# Video Probe (Rust) - 环境设置脚本
|
|
|
|
set -e
|
|
|
|
echo "======================================"
|
|
echo "Video Probe (Rust) - 环境设置"
|
|
echo "======================================"
|
|
echo ""
|
|
|
|
# 设置 PATH
|
|
export PATH="/opt/homebrew/bin:$PATH"
|
|
|
|
# 检查 Rust
|
|
echo "1. 检查 Rust..."
|
|
if command -v rustc &> /dev/null; then
|
|
RUST_VERSION=$(rustc --version)
|
|
CARGO_VERSION=$(cargo --version)
|
|
echo " ✓ Rust: $RUST_VERSION"
|
|
echo " ✓ Cargo: $CARGO_VERSION"
|
|
else
|
|
echo " ✗ Rust 未安装"
|
|
echo " 请运行: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh"
|
|
exit 1
|
|
fi
|
|
echo ""
|
|
|
|
# 检查 ffprobe
|
|
echo "2. 检查 ffprobe..."
|
|
if command -v ffprobe &> /dev/null; then
|
|
FFPROBE_VERSION=$(ffprobe -version | head -1)
|
|
echo " ✓ ffprobe: $FFPROBE_VERSION"
|
|
else
|
|
echo " ✗ ffprobe 未安装"
|
|
echo " macOS: brew install ffmpeg"
|
|
echo " Linux: sudo apt-get install ffmpeg"
|
|
exit 1
|
|
fi
|
|
echo ""
|
|
|
|
# 检查其他工具
|
|
echo "3. 检查其他工具..."
|
|
command -v git &> /dev/null && echo " ✓ Git: $(git --version)" || echo " ✗ Git 未安装"
|
|
command -v curl &> /dev/null && echo " ✓ curl: $(curl --version | head -1)" || echo " ✗ curl 未安装"
|
|
echo ""
|
|
|
|
# 设置 Rust 环境变量
|
|
echo "4. 配置 Rust 环境..."
|
|
export RUST_BACKTRACE=1
|
|
export CARGO_TERM_COLOR=always
|
|
echo " ✓ RUST_BACKTRACE=1"
|
|
echo " ✓ CARGO_TERM_COLOR=always"
|
|
echo ""
|
|
|
|
# 显示环境信息
|
|
echo "======================================"
|
|
echo "✅ 环境准备完成!"
|
|
echo "======================================"
|
|
echo ""
|
|
echo "环境信息:"
|
|
echo " Rust 版本: $(rustc --version)"
|
|
echo " Cargo 版本: $(cargo --version)"
|
|
echo " ffprobe 版本: $(ffprobe -version | head -1)"
|
|
echo " 工作目录: $(pwd)"
|
|
echo ""
|
|
echo "下一步:"
|
|
echo " 运行: ./init_video_probe_rust.sh"
|
|
echo ""
|