media-info
Install and run MediaInfo CLI in non-root environments.
Quick start
- 1. Install MediaInfo locally:
-
bash scripts/install_mediainfo_local.sh
- 2. Verify installation:
-
bash scripts/test_mediainfo.sh
- 3. Inspect files:
-
./vendor/mediainfo/MediaInfo/Project/GNU/CLI/mediainfo <file>
- INLINECODE3
Workflow
Install
Run scripts/install_mediainfo_local.sh.
- - Download MediaInfo source archive
- Build CLI locally
- Place binary at INLINECODE5
Extract metadata
Use plain output for human reading and JSON output for automation.
Classify orientation
Use Width/Height (and Rotation when present):
- - landscape: effective width >= effective height
- portrait: effective width < effective height
When Rotation is 90/270, swap width and height before classification.
Notes
- - Do not require sudo.
- Prefer MediaInfo for files where ffprobe fails but container data still exists.
media-info
在非root环境中安装并运行MediaInfo CLI。
快速开始
- 1. 本地安装MediaInfo:
- bash scripts/install
mediainfolocal.sh
- 2. 验证安装:
- bash scripts/test_mediainfo.sh
- 3. 检查文件:
- ./vendor/mediainfo/MediaInfo/Project/GNU/CLI/mediainfo <文件>
- ./vendor/mediainfo/MediaInfo/Project/GNU/CLI/mediainfo --Output=JSON <文件>
工作流程
安装
运行 scripts/installmediainfolocal.sh。
- - 下载MediaInfo源码压缩包
- 本地构建CLI
- 将二进制文件放置于 vendor/mediainfo/MediaInfo/Project/GNU/CLI/mediainfo
提取元数据
使用纯文本输出供人工阅读,使用JSON输出供自动化处理。
方向分类
使用宽度/高度(以及存在时的旋转角度):
- - 横屏:有效宽度 >= 有效高度
- 竖屏:有效宽度 < 有效高度
当旋转角度为90/270时,在分类前交换宽度和高度。
注意事项
- - 无需sudo权限。
- 当ffprobe失败但容器数据仍存在时,优先使用MediaInfo处理文件。