่ฝป้็บง็ญ่ง้ขๅ
ๅฎนๆบ่ฝๅๆ CLI ๅทฅๅ
ท
Lightweight Short Video Content Intelligence Analysis CLI
็ฎไฝไธญๆ ย |ย ็น้ซไธญๆ ย |ย English
VideoInsight ๆฏไธๆฌพ้ถไพ่ต็็ป็ซฏ็ญ่ง้ขๅๆๅทฅๅ ท๏ผไธไธบๅ ๅฎนๅไฝ่ ๅ่ง้ข่ฟ่ฅไบบๅๆ้ ใๅฎ้่ฟ่งฃๆ่ง้ขๆไปถๅคดไฟกๆฏ๏ผ่ชๅจๆๅๅ ๆฐๆฎใ็ๆๅ ๅฎนๆ ็ญพใๅๆๅนณๅฐ้้ ๅบฆ๏ผๅนถ่พๅบไธไธ็ๅๆๆฅๅใ
ๆ ่ฎบไฝ ๆฏ็ฌ็ซๅไฝ่ ่ฟๆฏ่ฟ่ฅๅข้ๆๅ๏ผVideoInsight ้ฝ่ฝๅธฎๅฉไฝ ๅจๅๅธๅๅฟซ้ไบ่งฃ่ง้ข็ๆๆฏๅๆฐๅๅ ๅฎน็นๅพ๏ผไป่ๅๅบๆดๆๆบ็ๅๅธๅณ็ญใ
ๆ ธๅฟไบฎ็น๏ผ
- ้ถๅค้จไพ่ต -- ็บฏ Python ๆ ๅๅบๅฎ็ฐ๏ผ
pip installๅณ็จ๏ผๆ ้ๅฎ่ฃ ffmpeg ็ญ็ฌฌไธๆนๅทฅๅ ท - 15 ็ง่ง้ขๆ ผๅผ -- ๅ จ้ข่ฆ็ไธปๆต่ง้ขๅฎนๅจๆ ผๅผ
- 6 ๅคงๅนณๅฐๆฏๆ -- ๅ ็ฝฎๆ้ณใB็ซใYouTubeใๅฐ็บขไนฆใๅฟซๆใ่ง้ขๅท็่งๆ ผๆฐๆฎๅบ
- ๅคๆ ผๅผๆฅๅ -- ๆฏๆ MarkdownใJSONใCSVใ็ป็ซฏๅฝฉ่ฒ่กจๆ ผๅ็ง่พๅบๆ ผๅผ
็ป็ซฏ่ฟ่กๆๆ็คบๆ๏ผๆชๅพๅพ
่กฅๅ
๏ผ
| ๅ่ฝๆจกๅ | ่ฏดๆ |
|---|---|
| ๐ ่ง้ขๅ ๆฐๆฎๆๅ | ่งฃๆๆไปถๅคด๏ผๆๅๆ ผๅผใ็ผ็ ใๅ่พจ็ใๆถ้ฟใๆฏ็น็ใๅธง็็ญไฟกๆฏ |
| ๐ท๏ธ ๅ ๅฎนๆ ็ญพๆบ่ฝ็ๆ | ๅบไบๆไปถๅใ็ฎๅฝ็ปๆๅๅ ๆฐๆฎ็่งๅๅผๆ๏ผ่ชๅจ็ๆๅ ๅฎน็ฑปๅใ้ฃๆ ผใ่ดจ้็ญๆ ็ญพ |
| ๐ ๅๅธ็ญ็ฅๅๆ | ๆ นๆฎ่ง้ขๅๆฐๆบ่ฝๅน้ ๆไฝณๅๅธๅนณๅฐ๏ผๆไพ้้ ๅบฆ่ฏๅๅไผๅๅปบ่ฎฎ |
| ๐ ็ซๅๅฏนๆฏๅๆ | ๆน้่ง้ขๆจชๅๅฏนๆฏ๏ผๅ ๅซๆถ้ฟ/ๅ่พจ็/ๅคงๅฐๅๅธ็ป่ฎกๅๅผๅธธๅผๆฃๆต |
| ๐ ๅคๆ ผๅผๆฅๅ | ๆฏๆ MarkdownใJSONใCSV ๅ็ป็ซฏๅฝฉ่ฒ่กจๆ ผๅ็ง่พๅบๆ ผๅผ |
| โก ๆน้ๅค็ | ๆฏๆ็ฎๅฝ้ๅฝๆซๆ๏ผไธๆฌกๅๆๆดไธช่ง้ขๅบ |
ๆฏๆ็่ง้ขๆ ผๅผ๏ผ15็ง๏ผ๏ผ
MP4 MOV AVI MKV FLV WMV WebM M4V 3GP TS MTS M2TS VOB OGV GIF
ๆฏๆ็ๅนณๅฐ๏ผ6ๅคงๅนณๅฐ๏ผ๏ผ
| ๅนณๅฐ | ๆจ่ๆถ้ฟ | ๆจ่ๅ่พจ็ | ็ป้ขๆฏไพ | ๆๅคงๆไปถ |
|---|---|---|---|---|
| ๆ้ณ | 15-60็ง | 1080x1920 | 9:16 ็ซๅฑ | 500MB |
| B็ซ | 1-10ๅ้ | 1920x1080 | 16:9 ๆจชๅฑ | 8GB |
| YouTube | 5-30ๅ้ | 3840x2160 | 16:9 ๆจชๅฑ | 256GB |
| ๅฐ็บขไนฆ | 30็ง-3ๅ้ | 1080x1440 | 3:4 ็ซๅฑ | 500MB |
| ๅฟซๆ | 15็ง-3ๅ้ | 1080x1920 | 9:16 ็ซๅฑ | 500MB |
| ่ง้ขๅท | 30็ง-5ๅ้ | 1080x1920 | 9:16 ็ซๅฑ | 1GB |
- Python 3.8 ๆๆด้ซ็ๆฌ
- ๆ ้ไปปไฝ็ฌฌไธๆนไพ่ต
ๆนๅผไธ๏ผ้่ฟ pip ๅฎ่ฃ ๏ผๆจ่๏ผ
pip install videoinsightๆนๅผไบ๏ผไปๆบ็ ๅฎ่ฃ
git clone https://github.com/videoinsight/videoinsight.git
cd videoinsight
pip install -e .# ๅๆๅไธช่ง้ขๆไปถ
videoinsight analyze ./my_video.mp4
# ๅๆๆดไธช็ฎๅฝ๏ผ่ชๅจ้ๅฝๆซๆ๏ผ
videoinsight analyze ./videos/
# ไปฅ JSON ๆ ผๅผ่พๅบๅนถไฟๅญๅฐๆไปถ
videoinsight analyze ./my_video.mp4 -o report.json --format json
# ๅฏนๆฏๅคไธช่ง้ข
videoinsight compare ./video1.mp4 ./video2.mp4 ./video3.mp4
# ็ๆ Markdown ๅๆๆฅๅ
videoinsight report ./videos/ -o analysis.md
# ๆฅ็ๆฏๆ็ๅนณๅฐๅๆ ผๅผไฟกๆฏ
videoinsight info# ๆฅ็ๅธฎๅฉไฟกๆฏ
videoinsight --help
# ๆฅ็็ๆฌๅท
videoinsight -v
# ๅๆๅฝไปค -- ๆ ธๅฟๅ่ฝ
videoinsight analyze <่ทฏๅพ> [้้กน]
# ๅฏนๆฏๅฝไปค -- ๅค่ง้ขๆจชๅๅฏนๆฏ
videoinsight compare <่ทฏๅพ1> <่ทฏๅพ2> [...] [้้กน]
# ๆฅๅๅฝไปค -- ็ๆๆๅฎๆ ผๅผ็ๆฅๅๆไปถ
videoinsight report <่ทฏๅพ> -o <่พๅบๆไปถ> [้้กน]
# ไฟกๆฏๅฝไปค -- ๆฅ็ๆฏๆ็ๅนณๅฐๅๆ ผๅผ
videoinsight info [--platforms] [--formats]| ้้กน | ็ผฉๅ | ่ฏดๆ |
|---|---|---|
--output |
-o |
ๆๅฎ่พๅบๆไปถ่ทฏๅพ |
--format |
-f |
่พๅบๆ ผๅผ๏ผjsonใmarkdownใcsvใtable๏ผ้ป่ฎค markdown๏ผ |
--verbose |
ๆพ็คบ่ฏฆ็ปๅๆ่ฟ็จ | |
--config |
-c |
ๆๅฎ่ชๅฎไน้ ็ฝฎๆไปถ่ทฏๅพ๏ผJSON ๆ ผๅผ๏ผ |
--no-recursive |
ไธ้ๅฝๆซๆๅญ็ฎๅฝ |
1. ๅๆไปถๆทฑๅบฆๅๆ
videoinsight analyze ./travel_vlog.mp4 --verbose่พๅบๅ ๅซ๏ผ่ง้ขๆ ผๅผใ็ผ็ ใๅ่พจ็ใๆถ้ฟใๆฏ็น็ใๅธง็ใๅ ๅฎนๆ ็ญพใๅนณๅฐ้้ ๅบฆ่ฏๅๅๆไฝณๅๅธๅนณๅฐๆจ่ใ
2. ๆน้ๅๆๅนถๅฏผๅบ CSV
videoinsight analyze ./video_library/ -f csv -o video_analysis.csv่ชๅจ้ๅฝๆซๆ็ฎๅฝไธๆๆ่ง้ขๆไปถ๏ผ็ๆ CSV ๆ ผๅผ็็ปๆๅๆฅๅใ
3. ๅค่ง้ขๅฏนๆฏๅๆ
videoinsight compare ./channel_a/ ./channel_b/ -f json -o comparison.jsonๅฏนๆฏไธคไธช้ข้็่ง้ขๅๆฐๅๅธ๏ผๅ ๅซๆถ้ฟใๅ่พจ็ใๆไปถๅคงๅฐใ็ผ็ ๆ ผๅผ็็ป่ฎกๅๆๅๅผๅธธๅผๆฃๆตใ
4. ่ชๅฎไนๆ ็ญพ่งๅ
ๅๅปบ้
็ฝฎๆไปถ my_rules.json๏ผ
[
{
"name": "ๅ็ๅไฝ",
"keywords": ["่ตๅฉ", "ๅนฟๅ", "ๅไฝ", "sponsor"],
"confidence": 0.85
},
{
"name": "็ณปๅๅ
ๅฎน",
"patterns": ["็ฌฌ\\d+ๆ", "EP\\d+", "Part\\s+\\d+"],
"confidence": 0.9
}
]ไฝฟ็จ่ชๅฎไน่งๅ๏ผ
videoinsight analyze ./videos/ -c my_rules.json --verbose5. ๆฅ็ๅนณๅฐ่งๆ ผไฟกๆฏ
# ๆฅ็ๆๆๆฏๆ็ๅนณๅฐ
videoinsight info --platforms
# ๆฅ็ๆๆๆฏๆ็่ง้ขๆ ผๅผ
videoinsight info --formats
# ๆฅ็ๅ
จ้จไฟกๆฏ
videoinsight infoVideoInsight ็ๅๆๆต็จๅไธบๅไธช้ถๆฎต๏ผ
่พๅ
ฅ่ง้ขๆไปถ/็ฎๅฝ
โ
โผ
โโโโโโโโโโโโโโโ
โ ๅ
ๆฐๆฎๆๅ โ ่งฃๆๆไปถๅคด โ ๆ ผๅผ/็ผ็ /ๅ่พจ็/ๆถ้ฟ/ๆฏ็น็/ๅธง็
โโโโโโโโฌโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโ
โ ๆ ็ญพๆบ่ฝ็ๆ โ ๆไปถๅๅๆ + ๅ
ๆฐๆฎ่งๅ โ ๅ
ๅฎน็ฑปๅ/้ฃๆ ผ/่ดจ้ๆ ็ญพ
โโโโโโโโฌโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโ
โ ๅๅธ็ญ็ฅๅๆ โ ๅนณๅฐ่งๆ ผๅน้
โ ้้
ๅบฆ่ฏๅ + ๆไฝณๅนณๅฐๆจ่
โโโโโโโโฌโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโ
โ ๆฅๅ็ๆ่พๅบ โ Markdown / JSON / CSV / ็ป็ซฏ่กจๆ ผ
โโโโโโโโโโโโโโโ
VideoInsight ็ๆ ธๅฟ่ฎพ่ฎกๅฒๅญฆๆฏ "่ฝป้ไฝไธ็ฎ้"๏ผ
- ้ถไพ่ตๅๅ -- ๅ
จ้จๅบไบ Python ๆ ๅๅบ๏ผ
structใpathlibใjsonใcsvใargparse็ญ๏ผ๏ผ็จๆทๆ ้ๅฎ่ฃ ffmpegใffprobe ็ญ้้็บงๅทฅๅ ท๏ผ็ๆญฃๅๅฐๅผ็ฎฑๅณ็จ - ๆไปถๅคด่งฃๆ -- ้่ฟ็ดๆฅ่ฏปๅ่ง้ขๆไปถ็ไบ่ฟๅถๅคด้จไฟกๆฏ๏ผMP4 box ็ปๆใAVI RIFF ๅคดใMKV/WebM EBML ็ปๆ๏ผ๏ผๅจไธ่งฃ็ ่ง้ข็ๅๆไธๆๅๅ ณ้ฎๅ ๆฐๆฎ
- ่งๅๅผๆๆ ็ญพ -- ๆ ็ญพ็ๆไธไพ่ต AI ๆจกๅ๏ผ่ๆฏๅบไบ็ฒพๅฟ่ฎพ่ฎก็่งๅไฝ็ณป๏ผๅ ณ้ฎ่ฏๅน้ + ๆญฃๅๆจกๅผ + ๅ ๆฐๆฎๆจๆญ๏ผ๏ผ็กฎไฟ็ปๆ็จณๅฎๅฏๅค็ฐ
- ๅนณๅฐ่งๆ ผๆฐๆฎๅบ -- ๅ ็ฝฎไธปๆตๅนณๅฐ็ๅฎๆดๆๆฏ่งๆ ผ๏ผ้่ฟๅค็ปดๅบฆๅ ๆ่ฏๅ็ฎๆณ๏ผๆถ้ฟ 30%ใๅ่พจ็ 25%ใๆไปถๅคงๅฐ 15%ใ็ผ็ 15%ใๅธง็ 15%๏ผ็ปๅบๅฎข่ง็้้ ๅบฆ่ฏไผฐ
videoinsight/
โโโ cli.py # CLI ๅ
ฅๅฃ๏ผargparse ๅฝไปค่กๆฅๅฃ
โโโ analyzer.py # ๆ ธๅฟๅๆๅผๆ๏ผ็ผๆๅฎๆดๆตๆฐด็บฟ
โโโ metadata.py # ๅ
ๆฐๆฎๆๅๅจ๏ผ่งฃๆ MP4/AVI/MKV/WebM ๆไปถๅคด
โโโ tagger.py # ๅ
ๅฎนๆ ็ญพ็ๆๅจ๏ผ่งๅๅผๆ + ็ฝฎไฟกๅบฆ่ฏๅ
โโโ strategy.py # ๅๅธ็ญ็ฅๅๆๅจ๏ผๅนณๅฐ่งๆ ผๆฐๆฎๅบ + ่ฏๅ็ฎๆณ
โโโ comparator.py # ็ซๅๅฏนๆฏๅๆๅจ๏ผ็ป่ฎก่ฎก็ฎ + ๅผๅธธๅผๆฃๆต
โโโ reporter.py # ๆฅๅ็ๆๅจ๏ผๅคๆ ผๅผ่พๅบ
โโโ utils.py # ๅทฅๅ
ทๅฝๆฐ้๏ผๆ ผๅผๅ/ๆซๆ/็ป่ฎก/่ฟๅบฆๆก
- AI ๆ ็ญพๅขๅผบ -- ๅฏ้้ๆ่ฝป้็บง AI ๆจกๅ๏ผๆๅๆ ็ญพๅ็กฎๅบฆ๏ผไฟๆ้ถไพ่ตไธบ้ป่ฎคๆจกๅผ๏ผ
- ๆน้ๅค็ไผๅ -- ๅค็บฟ็จ/ๅผๆญฅ IO ๅ ้ๅคง่งๆจก่ง้ขๅบๆซๆ
- Web ็้ข -- ๆไพๅบไบๆต่งๅจ็ๅฏ่งๅๅๆ็้ข
- ๅๅฒ่ถๅฟ -- ๆฏๆๅคๆฌกๅๆ็ปๆ็ๅฏนๆฏ๏ผ่ฟฝ่ธช่ง้ข่ดจ้ๅๅ่ถๅฟ
- ๆไปถ็ณป็ป -- ๆฏๆ่ชๅฎไนๅๆๆจกๅๅ่พๅบๆ ผๅผๆไปถ
- ๅนณๅฐ่งๆ ผ่ชๅจๆดๆฐ -- ๅฎๆๅๆญฅๅๅนณๅฐๆๆฐๆๆฏ่งๆ ผ
pip install videoinsightgit clone https://github.com/videoinsight/videoinsight.git
cd videoinsight
pip install -e .# ๅฎ่ฃ
ๆๅปบๅทฅๅ
ท
pip install build
# ๆๅปบ sdist ๅ wheel
python -m build
# ๆๅปบไบง็ฉไฝไบ dist/ ็ฎๅฝ
ls dist/
# videoinsight-1.0.0.tar.gz
# videoinsight-1.0.0-py3-none-any.whl# ่ฟ่กๅ
จ้จๆต่ฏ
python -m pytest tests/
# ่ฟ่กๅไธชๆต่ฏๆจกๅ
python -m pytest tests/test_analyzer.py -v| ๆไฝ็ณป็ป | ๆฏๆ็ถๆ |
|---|---|
| Windows | โ ๆฏๆ |
| macOS | โ ๆฏๆ |
| Linux | โ ๆฏๆ |
| Python ็ๆฌ | ๆฏๆ็ถๆ |
|---|---|
| 3.8 | โ ๆฏๆ |
| 3.9 | โ ๆฏๆ |
| 3.10 | โ ๆฏๆ |
| 3.11 | โ ๆฏๆ |
| 3.12 | โ ๆฏๆ |
ๆไปฌๆฌข่ฟๅนถๆ่ฐขๆๆๅฝขๅผ็่ดก็ฎ๏ผๆ ่ฎบๆฏๆไบค Bug ๆฅๅใๆน่ฟๅปบ่ฎฎ๏ผ่ฟๆฏ็ดๆฅๆไบคไปฃ็ ใ
- Fork ๆฌไปๅบ
- ๅๅปบ็นๆงๅๆฏ๏ผ
git checkout -b feature/your-feature-name - ๆไบคๆดๆน๏ผ
git commit -m "feat: add your feature description" - ๆจ้ๅๆฏ๏ผ
git push origin feature/your-feature-name - ๆไบค Pull Request
ๆไปฌ้็จ Conventional Commits ่ง่๏ผ
feat:ๆฐๅ่ฝfix:ไฟฎๅค Bugdocs:ๆๆกฃๆดๆฐrefactor:ไปฃ็ ้ๆtest:ๆต่ฏ็ธๅ ณchore:ๆๅปบ/ๅทฅๅ ท้พ็ธๅ ณ
git clone https://github.com/videoinsight/videoinsight.git
cd videoinsight
pip install -e ".[dev]"
python -m pytest tests/ -vๅฆๆๅจไฝฟ็จ่ฟ็จไธญ้ๅฐไปปไฝ้ฎ้ข๏ผ่ฏท้่ฟ GitHub Issues ๆไบค๏ผๅนถๅฐฝ้้ไธ๏ผ
- ๆไฝ็ณป็ปๅ Python ็ๆฌ
- ๅค็ฐๆญฅ้ชค
- ๅฎ้ ่พๅบไธๆๆ่พๅบ
- ๅฆๆๅฏ่ฝ๏ผ้ไธ้ฎ้ข่ง้ขๆไปถ็ไฟกๆฏ
ๆฌ้กน็ฎๅบไบ MIT License ๅผๆบใ
MIT License
Copyright (c) 2024 VideoInsight Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
VideoInsight ๆฏไธๆฌพ้ถไพ่ณด็็ต็ซฏ็ญๅฝฑ็ๅๆๅทฅๅ ท๏ผๅฐ็บๅ งๅฎนๅตไฝ่ ่ๅฝฑ็็้ไบบๅกๆ้ ใๅฎ้้่งฃๆๅฝฑ็ๆชๆกๆจ้ ญ่ณ่จ๏ผ่ชๅๆทๅๅ ่ณๆใ็ๆๅ งๅฎนๆจ็ฑคใๅๆๅนณๅฐ้ฉ้ ๅบฆ๏ผไธฆ่ผธๅบๅฐๆฅญ็ๅๆๅ ฑๅใ
็ก่ซไฝ ๆฏ็จ็ซๅตไฝ่ ้ๆฏ็้ๅ้ๆๅก๏ผVideoInsight ้ฝ่ฝๅนซๅฉไฝ ๅจ็ผๅธๅๅฟซ้ๆๆกๅฝฑ็็ๆ่กๅๆธ่ๅ งๅฎน็นๅพต๏ผๅพ่ๅๅบๆดๆๆบ็็ผๅธๆฑบ็ญใ
ๆ ธๅฟไบฎ้ป๏ผ
- ้ถๅค้จไพ่ณด -- ็ด Python ๆจๆบๅฝๅผๅบซๅฏฆไฝ๏ผ
pip installๅณ็จ๏ผ็ก้ ๅฎ่ฃ ffmpeg ็ญ็ฌฌไธๆนๅทฅๅ ท - 15 ็จฎๅฝฑ็ๆ ผๅผ -- ๅ จ้ขๆถต่ไธปๆตๅฝฑ็ๅฎนๅจๆ ผๅผ
- 6 ๅคงๅนณๅฐๆฏๆด -- ๅ งๅปบๆ้ณใB็ซใYouTubeใๅฐ็ด ๆธใๅฟซๆใๅฝฑ็่็่ฆๆ ผ่ณๆๅบซ
- ๅคๆ ผๅผๅ ฑๅ -- ๆฏๆด MarkdownใJSONใCSVใ็ต็ซฏๅฝฉ่ฒ่กจๆ ผๅ็จฎ่ผธๅบๆ ผๅผ
็ต็ซฏๅท่กๆๆ็คบๆ๏ผๆชๅๅพ
่ฃๅ
๏ผ
| ๅ่ฝๆจก็ต | ่ชชๆ |
|---|---|
| ๐ ๅฝฑ็ๅ ่ณๆๆทๅ | ่งฃๆๆชๆกๆจ้ ญ๏ผๆทๅๆ ผๅผใ็ทจ็ขผใ่งฃๆๅบฆใๆ้ทใไฝๅ ็ใๅน็็ญ่ณ่จ |
| ๐ท๏ธ ๅ งๅฎนๆจ็ฑคๆบๆ ง็ๆ | ๅบๆผๆชๅใ็ฎ้็ตๆง่ๅ ่ณๆ็่ฆๅๅผๆ๏ผ่ชๅ็ๆๅ งๅฎน้กๅใ้ขจๆ ผใๅ่ณช็ญๆจ็ฑค |
| ๐ ็ผๅธ็ญ็ฅๅๆ | ๆ นๆๅฝฑ็ๅๆธๆบๆ งๅน้ ๆไฝณ็ผๅธๅนณๅฐ๏ผๆไพ้ฉ้ ๅบฆ่ฉๅ่ๅชๅๅปบ่ญฐ |
| ๐ ็ซถๅๅฐๆฏๅๆ | ๆน้ๅฝฑ็ๆฉซๅๅฐๆฏ๏ผๆถต่ๆ้ท/่งฃๆๅบฆ/ๅคงๅฐๅไฝ็ตฑ่จๅ็ฐๅธธๅผๅตๆธฌ |
| ๐ ๅคๆ ผๅผๅ ฑๅ | ๆฏๆด MarkdownใJSONใCSV ่็ต็ซฏๅฝฉ่ฒ่กจๆ ผๅ็จฎ่ผธๅบๆ ผๅผ |
| โก ๆนๆฌก่็ | ๆฏๆด็ฎ้้่ฟดๆๆ๏ผไธๆฌกๅๆๆดๅๅฝฑ็ๅบซ |
ๆฏๆด็ๅฝฑ็ๆ ผๅผ๏ผ15 ็จฎ๏ผ๏ผ
MP4 MOV AVI MKV FLV WMV WebM M4V 3GP TS MTS M2TS VOB OGV GIF
ๆฏๆด็ๅนณๅฐ๏ผ6 ๅคงๅนณๅฐ๏ผ๏ผ
| ๅนณๅฐ | ๅปบ่ญฐๆ้ท | ๅปบ่ญฐ่งฃๆๅบฆ | ็ซ้ขๆฏไพ | ๆๅคงๆชๆก |
|---|---|---|---|---|
| ๆ้ณ | 15-60 ็ง | 1080x1920 | 9:16 ็ดๅผ | 500MB |
| B็ซ | 1-10 ๅ้ | 1920x1080 | 16:9 ๆฉซๅผ | 8GB |
| YouTube | 5-30 ๅ้ | 3840x2160 | 16:9 ๆฉซๅผ | 256GB |
| ๅฐ็ด ๆธ | 30 ็ง-3 ๅ้ | 1080x1440 | 3:4 ็ดๅผ | 500MB |
| ๅฟซๆ | 15 ็ง-3 ๅ้ | 1080x1920 | 9:16 ็ดๅผ | 500MB |
| ๅฝฑ็่ | 30 ็ง-5 ๅ้ | 1080x1920 | 9:16 ็ดๅผ | 1GB |
- Python 3.8 ๆไปฅไธ็ๆฌ
- ็ก้ ไปปไฝ็ฌฌไธๆนไพ่ณด
ๆนๅผไธ๏ผ้้ pip ๅฎ่ฃ๏ผๆจ่ฆ๏ผ
pip install videoinsightๆนๅผไบ๏ผๅพๅๅง็ขผๅฎ่ฃ
git clone https://github.com/videoinsight/videoinsight.git
cd videoinsight
pip install -e .# ๅๆๅฎไธๅฝฑ็ๆชๆก
videoinsight analyze ./my_video.mp4
# ๅๆๆดๅ็ฎ้๏ผ่ชๅ้่ฟดๆๆ๏ผ
videoinsight analyze ./videos/
# ไปฅ JSON ๆ ผๅผ่ผธๅบไธฆๅฒๅญ่ณๆชๆก
videoinsight analyze ./my_video.mp4 -o report.json --format json
# ๅฐๆฏๅค้จๅฝฑ็
videoinsight compare ./video1.mp4 ./video2.mp4 ./video3.mp4
# ็ข็ Markdown ๅๆๅ ฑๅ
videoinsight report ./videos/ -o analysis.md
# ๆฅ็ๆฏๆด็ๅนณๅฐ่ๆ ผๅผ่ณ่จ
videoinsight info# ๆฅ็่ชชๆ่ณ่จ
videoinsight --help
# ๆฅ็็ๆฌ่
videoinsight -v
# ๅๆๆไปค -- ๆ ธๅฟๅ่ฝ
videoinsight analyze <่ทฏๅพ> [้ธ้
]
# ๅฐๆฏๆไปค -- ๅคๅฝฑ็ๆฉซๅๅฐๆฏ
videoinsight compare <่ทฏๅพ1> <่ทฏๅพ2> [...] [้ธ้
]
# ๅ ฑๅๆไปค -- ็ข็ๆๅฎๆ ผๅผ็ๅ ฑๅๆชๆก
videoinsight report <่ทฏๅพ> -o <่ผธๅบๆชๆก> [้ธ้
]
# ่ณ่จๆไปค -- ๆฅ็ๆฏๆด็ๅนณๅฐ่ๆ ผๅผ
videoinsight info [--platforms] [--formats]| ้ธ้ | ็ธฎๅฏซ | ่ชชๆ |
|---|---|---|
--output |
-o |
ๆๅฎ่ผธๅบๆชๆก่ทฏๅพ |
--format |
-f |
่ผธๅบๆ ผๅผ๏ผjsonใmarkdownใcsvใtable๏ผ้ ่จญ markdown๏ผ |
--verbose |
้กฏ็คบ่ฉณ็ดฐๅๆ้็จ | |
--config |
-c |
ๆๅฎ่ช่จ่จญๅฎๆช่ทฏๅพ๏ผJSON ๆ ผๅผ๏ผ |
--no-recursive |
ไธ้่ฟดๆๆๅญ็ฎ้ |
1. ๅฎๆชๆทฑๅบฆๅๆ
videoinsight analyze ./travel_vlog.mp4 --verbose่ผธๅบๅ ๅซ๏ผๅฝฑ็ๆ ผๅผใ็ทจ็ขผใ่งฃๆๅบฆใๆ้ทใไฝๅ ็ใๅน็ใๅ งๅฎนๆจ็ฑคใๅนณๅฐ้ฉ้ ๅบฆ่ฉๅๅๆไฝณ็ผๅธๅนณๅฐๆจ่ฆใ
2. ๆนๆฌกๅๆไธฆๅฏๅบ CSV
videoinsight analyze ./video_library/ -f csv -o video_analysis.csv่ชๅ้่ฟดๆๆ็ฎ้ไธๆๆๅฝฑ็ๆชๆก๏ผ็ข็ CSV ๆ ผๅผ็็ตๆงๅๅ ฑๅใ
3. ๅคๅฝฑ็ๅฐๆฏๅๆ
videoinsight compare ./channel_a/ ./channel_b/ -f json -o comparison.jsonๅฐๆฏๅ ฉๅ้ ป้็ๅฝฑ็ๅๆธๅไฝ๏ผๆถต่ๆ้ทใ่งฃๆๅบฆใๆชๆกๅคงๅฐใ็ทจ็ขผๆ ผๅผ็็ตฑ่จๅๆ่็ฐๅธธๅผๅตๆธฌใ
4. ่ช่จๆจ็ฑค่ฆๅ
ๅปบ็ซ่จญๅฎๆช my_rules.json๏ผ
[
{
"name": "ๅ็ๅไฝ",
"keywords": ["่ดๅฉ", "ๅปฃๅ", "ๅไฝ", "sponsor"],
"confidence": 0.85
},
{
"name": "็ณปๅๅ
งๅฎน",
"patterns": ["็ฌฌ\\d+ๆ", "EP\\d+", "Part\\s+\\d+"],
"confidence": 0.9
}
]ไฝฟ็จ่ช่จ่ฆๅ๏ผ
videoinsight analyze ./videos/ -c my_rules.json --verbose5. ๆฅ็ๅนณๅฐ่ฆๆ ผ่ณ่จ
# ๆฅ็ๆๆๆฏๆด็ๅนณๅฐ
videoinsight info --platforms
# ๆฅ็ๆๆๆฏๆด็ๅฝฑ็ๆ ผๅผ
videoinsight info --formats
# ๆฅ็ๅ
จ้จ่ณ่จ
videoinsight infoVideoInsight ็ๅๆๆต็จๅ็บๅๅ้ๆฎต๏ผ
่ผธๅ
ฅๅฝฑ็ๆชๆก/็ฎ้
โ
โผ
โโโโโโโโโโโโโโโ
โ ๅ
่ณๆๆทๅ โ ่งฃๆๆชๆกๆจ้ ญ โ ๆ ผๅผ/็ทจ็ขผ/่งฃๆๅบฆ/ๆ้ท/ไฝๅ
็/ๅน็
โโโโโโโโฌโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโ
โ ๆจ็ฑคๆบๆ
ง็ๆ โ ๆชๅๅๆ + ๅ
่ณๆ่ฆๅ โ ๅ
งๅฎน้กๅ/้ขจๆ ผ/ๅ่ณชๆจ็ฑค
โโโโโโโโฌโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโ
โ ็ผๅธ็ญ็ฅๅๆ โ ๅนณๅฐ่ฆๆ ผๅน้
โ ้ฉ้
ๅบฆ่ฉๅ + ๆไฝณๅนณๅฐๆจ่ฆ
โโโโโโโโฌโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโ
โ ๅ ฑๅ็ข็่ผธๅบ โ Markdown / JSON / CSV / ็ต็ซฏ่กจๆ ผ
โโโโโโโโโโโโโโโ
VideoInsight ็ๆ ธๅฟ่จญ่จๅฒๅญธๆฏ ใ่ผ้ไฝไธ็ฐก้ใ๏ผ
- ้ถไพ่ณดๅๅ -- ๅ
จ้จๅบๆผ Python ๆจๆบๅฝๅผๅบซ๏ผ
structใpathlibใjsonใcsvใargparse็ญ๏ผ๏ผไฝฟ็จ่ ็ก้ ๅฎ่ฃ ffmpegใffprobe ็ญ้้็ดๅทฅๅ ท๏ผ็ๆญฃๅๅฐ้็ฎฑๅณ็จ - ๆชๆกๆจ้ ญ่งฃๆ -- ้้็ดๆฅ่ฎๅๅฝฑ็ๆชๆก็ไบๅ ๆจ้ ญ่ณ่จ๏ผMP4 box ็ตๆงใAVI RIFF ๆจ้ ญใMKV/WebM EBML ็ตๆง๏ผ๏ผๅจไธ่งฃ็ขผๅฝฑ็็ๅๆไธๆทๅ้้ตๅ ่ณๆ
- ่ฆๅๅผๆๆจ็ฑค -- ๆจ็ฑค็ๆไธไพ่ณด AI ๆจกๅ๏ผ่ๆฏๅบๆผ็ฒพๅฟ่จญ่จ็่ฆๅ้ซ็ณป๏ผ้้ตๅญๆฏๅฐ + ๆญฃ่ฆ่กจ็คบๅผ + ๅ ่ณๆๆจๆท๏ผ๏ผ็ขบไฟ็ตๆ็ฉฉๅฎๅฏ้็พ
- ๅนณๅฐ่ฆๆ ผ่ณๆๅบซ -- ๅ งๅปบไธปๆตๅนณๅฐ็ๅฎๆดๆ่ก่ฆๆ ผ๏ผ้้ๅค็ถญๅบฆๅ ๆฌ่ฉๅๆผ็ฎๆณ๏ผๆ้ท 30%ใ่งฃๆๅบฆ 25%ใๆชๆกๅคงๅฐ 15%ใ็ทจ็ขผ 15%ใๅน็ 15%๏ผ็ตฆๅบๅฎข่ง็้ฉ้ ๅบฆ่ฉไผฐ
videoinsight/
โโโ cli.py # CLI ้ฒๅ
ฅ้ป๏ผargparse ๅฝไปคๅไป้ข
โโโ analyzer.py # ๆ ธๅฟๅๆๅผๆ๏ผ็ทจๆๅฎๆดๆตๆฐด็ท
โโโ metadata.py # ๅ
่ณๆๆทๅๅจ๏ผ่งฃๆ MP4/AVI/MKV/WebM ๆชๆกๆจ้ ญ
โโโ tagger.py # ๅ
งๅฎนๆจ็ฑค็ข็ๅจ๏ผ่ฆๅๅผๆ + ไฟก่ณดๅบฆ่ฉๅ
โโโ strategy.py # ็ผๅธ็ญ็ฅๅๆๅจ๏ผๅนณๅฐ่ฆๆ ผ่ณๆๅบซ + ่ฉๅๆผ็ฎๆณ
โโโ comparator.py # ็ซถๅๅฐๆฏๅๆๅจ๏ผ็ตฑ่จ่จ็ฎ + ็ฐๅธธๅผๅตๆธฌ
โโโ reporter.py # ๅ ฑๅ็ข็ๅจ๏ผๅคๆ ผๅผ่ผธๅบ
โโโ utils.py # ๅทฅๅ
ทๅฝๅผ้๏ผๆ ผๅผๅ/ๆๆ/็ตฑ่จ/้ฒๅบฆๆข
- AI ๆจ็ฑคๅขๅผท -- ๅฏ้ธๆดๅ่ผ้็ด AI ๆจกๅ๏ผๆๅๆจ็ฑคๆบ็ขบๅบฆ๏ผไฟๆ้ถไพ่ณด็บ้ ่จญๆจกๅผ๏ผ
- ๆนๆฌก่็ๆไฝณๅ -- ๅคๅท่ก็ท/้ๅๆญฅ IO ๅ ้ๅคง่ฆๆจกๅฝฑ็ๅบซๆๆ
- Web ไป้ข -- ๆไพๅบๆผ็่ฆฝๅจ็่ฆ่ฆบๅๅๆไป้ข
- ๆญทๅฒ่ถจๅข -- ๆฏๆดๅคๆฌกๅๆ็ตๆ็ๅฐๆฏ๏ผ่ฟฝ่นคๅฝฑ็ๅ่ณช่ฎๅ่ถจๅข
- ๅคๆ็ณป็ตฑ -- ๆฏๆด่ช่จๅๆๆจก็ต่่ผธๅบๆ ผๅผๅคๆ
- ๅนณๅฐ่ฆๆ ผ่ชๅๆดๆฐ -- ๅฎๆๅๆญฅๅๅนณๅฐๆๆฐๆ่ก่ฆๆ ผ
pip install videoinsightgit clone https://github.com/videoinsight/videoinsight.git
cd videoinsight
pip install -e .# ๅฎ่ฃๅปบๆงๅทฅๅ
ท
pip install build
# ๅปบๆง sdist ่ wheel
python -m build
# ๅปบๆง็ข็ฉไฝๆผ dist/ ็ฎ้
ls dist/
# videoinsight-1.0.0.tar.gz
# videoinsight-1.0.0-py3-none-any.whl# ๅท่กๅ
จ้จๆธฌ่ฉฆ
python -m pytest tests/
# ๅท่กๅฎไธๆธฌ่ฉฆๆจก็ต
python -m pytest tests/test_analyzer.py -v| ไฝๆฅญ็ณป็ตฑ | ๆฏๆด็ๆ |
|---|---|
| Windows | โ ๆฏๆด |
| macOS | โ ๆฏๆด |
| Linux | โ ๆฏๆด |
| Python ็ๆฌ | ๆฏๆด็ๆ |
|---|---|
| 3.8 | โ ๆฏๆด |
| 3.9 | โ ๆฏๆด |
| 3.10 | โ ๆฏๆด |
| 3.11 | โ ๆฏๆด |
| 3.12 | โ ๆฏๆด |
ๆๅๆญก่ฟไธฆๆ่ฌๆๆๅฝขๅผ็่ฒข็ป๏ผ็ก่ซๆฏๆไบค Bug ๅๅ ฑใๆน้ฒๅปบ่ญฐ๏ผ้ๆฏ็ดๆฅๆไบค็จๅผ็ขผใ
- Fork ๆฌๅฒๅญๅบซ
- ๅปบ็ซ็นๆงๅๆฏ๏ผ
git checkout -b feature/your-feature-name - ๆไบค่ฎๆด๏ผ
git commit -m "feat: add your feature description" - ๆจ้ๅๆฏ๏ผ
git push origin feature/your-feature-name - ๆไบค Pull Request
ๆๅๆก็จ Conventional Commits ่ฆ็ฏ๏ผ
feat:ๆฐๅ่ฝfix:ไฟฎๅพฉ Bugdocs:ๆไปถๆดๆฐrefactor:็จๅผ็ขผ้ๆงtest:ๆธฌ่ฉฆ็ธ้chore:ๅปบๆง/ๅทฅๅ ท้็ธ้
git clone https://github.com/videoinsight/videoinsight.git
cd videoinsight
pip install -e ".[dev]"
python -m pytest tests/ -vๅฆๆๅจไฝฟ็จ้็จไธญ้ๅฐไปปไฝๅ้ก๏ผ่ซ้้ GitHub Issues ๆไบค๏ผไธฆ็ก้้ไธ๏ผ
- ไฝๆฅญ็ณป็ตฑ่ Python ็ๆฌ
- ้็พๆญฅ้ฉ
- ๅฏฆ้่ผธๅบ่ๆๆ่ผธๅบ
- ๅฆๆๅฏ่ฝ๏ผ้ไธๅ้กๅฝฑ็ๆชๆก็่ณ่จ
ๆฌๅฐๆกๅบๆผ MIT License ้ๆบใ
MIT License
Copyright (c) 2024 VideoInsight Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
VideoInsight is a zero-dependency CLI tool for intelligent short video analysis, designed for content creators and video operations teams. By parsing video file headers, it automatically extracts metadata, generates content tags, evaluates platform compatibility, and produces professional analysis reports.
Whether you are an independent creator or part of an operations team, VideoInsight helps you quickly understand the technical parameters and content characteristics of your videos before publishing -- leading to smarter distribution decisions.
Key Highlights:
- Zero external dependencies -- Built entirely on the Python standard library. Just
pip installand go. No need for ffmpeg or any third-party tools. - 15 video formats -- Comprehensive coverage of mainstream video container formats.
- 6 major platforms -- Built-in spec database for Douyin, Bilibili, YouTube, Xiaohongshu, Kuaishou, and WeChat Channels.
- Multi-format reports -- Output in Markdown, JSON, CSV, or colorized terminal tables.
Terminal demo (screenshot coming soon)
| Module | Description |
|---|---|
| ๐ Video Metadata Extraction | Parses file headers to extract format, codec, resolution, duration, bitrate, frame rate, and more |
| ๐ท๏ธ Smart Content Tagging | Rule engine based on filename, directory structure, and metadata to auto-generate content type, style, and quality tags |
| ๐ Publishing Strategy Analysis | Intelligently matches the best publishing platform based on video parameters, with fit scores and optimization tips |
| ๐ Competitive Comparison | Cross-video comparison with duration/resolution/size distribution statistics and outlier detection |
| ๐ Multi-Format Reports | Output in Markdown, JSON, CSV, or colorized terminal tables |
| โก Batch Processing | Recursive directory scanning to analyze an entire video library at once |
Supported Video Formats (15):
MP4 MOV AVI MKV FLV WMV WebM M4V 3GP TS MTS M2TS VOB OGV GIF
Supported Platforms (6):
| Platform | Recommended Duration | Recommended Resolution | Aspect Ratio | Max File Size |
|---|---|---|---|---|
| Douyin | 15-60s | 1080x1920 | 9:16 Portrait | 500MB |
| Bilibili | 1-10min | 1920x1080 | 16:9 Landscape | 8GB |
| YouTube | 5-30min | 3840x2160 | 16:9 Landscape | 256GB |
| Xiaohongshu | 30s-3min | 1080x1440 | 3:4 Portrait | 500MB |
| Kuaishou | 15s-3min | 1080x1920 | 9:16 Portrait | 500MB |
| WeChat Channels | 30s-5min | 1080x1920 | 9:16 Portrait | 1GB |
- Python 3.8 or later
- No third-party dependencies required
Option 1: Install via pip (Recommended)
pip install videoinsightOption 2: Install from source
git clone https://github.com/videoinsight/videoinsight.git
cd videoinsight
pip install -e .# Analyze a single video file
videoinsight analyze ./my_video.mp4
# Analyze an entire directory (recursive scan)
videoinsight analyze ./videos/
# Output as JSON and save to file
videoinsight analyze ./my_video.mp4 -o report.json --format json
# Compare multiple videos
videoinsight compare ./video1.mp4 ./video2.mp4 ./video3.mp4
# Generate a Markdown analysis report
videoinsight report ./videos/ -o analysis.md
# View supported platforms and formats
videoinsight info# Show help
videoinsight --help
# Show version
videoinsight -v
# analyze -- Core functionality
videoinsight analyze <path> [options]
# compare -- Cross-video comparison
videoinsight compare <path1> <path2> [...] [options]
# report -- Generate a report file in the specified format
videoinsight report <path> -o <output-file> [options]
# info -- View supported platforms and formats
videoinsight info [--platforms] [--formats]| Option | Short | Description |
|---|---|---|
--output |
-o |
Specify the output file path |
--format |
-f |
Output format: json, markdown, csv, table (default: markdown) |
--verbose |
Show detailed analysis output | |
--config |
-c |
Path to a custom configuration file (JSON format) |
--no-recursive |
Do not scan subdirectories recursively |
1. Deep analysis of a single file
videoinsight analyze ./travel_vlog.mp4 --verboseThe output includes: video format, codec, resolution, duration, bitrate, frame rate, content tags, platform fit scores, and the best platform recommendation.
2. Batch analysis with CSV export
videoinsight analyze ./video_library/ -f csv -o video_analysis.csvAutomatically scans all video files in the directory (recursively) and generates a structured CSV report.
3. Multi-video comparison
videoinsight compare ./channel_a/ ./channel_b/ -f json -o comparison.jsonCompares the video parameter distributions of two channels, including statistical analysis and outlier detection for duration, resolution, file size, and codec.
4. Custom tag rules
Create a configuration file my_rules.json:
[
{
"name": "Brand Collaboration",
"keywords": ["sponsor", "ad", "partner", "collab"],
"confidence": 0.85
},
{
"name": "Series Content",
"patterns": ["Episode\\s+\\d+", "EP\\d+", "Part\\s+\\d+"],
"confidence": 0.9
}
]Use custom rules:
videoinsight analyze ./videos/ -c my_rules.json --verbose5. View platform specs
# List all supported platforms
videoinsight info --platforms
# List all supported video formats
videoinsight info --formats
# Show everything
videoinsight infoVideoInsight processes videos through four stages:
Input video file(s) / directory
โ
โผ
โโโโโโโโโโโโโโโโโโโโ
โ Metadata Extract โ Parse file headers โ format/codec/resolution/duration/bitrate/framerate
โโโโโโโโโโฌโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโ
โ Tag Generation โ Filename analysis + metadata rules โ content type/style/quality tags
โโโโโโโโโโฌโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโ
โ Strategy Analysis โ Platform spec matching โ fit score + best platform recommendation
โโโโโโโโโโฌโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโ
โ Report Output โ Markdown / JSON / CSV / Terminal table
โโโโโโโโโโโโโโโโโโโโ
VideoInsight is built on the philosophy of "lightweight without compromise":
-
Zero-dependency principle -- Everything is built on the Python standard library (
struct,pathlib,json,csv,argparse, etc.). No need to install heavy tools like ffmpeg or ffprobe. Truly install-and-run. -
File header parsing -- By directly reading binary video file headers (MP4 box structure, AVI RIFF headers, MKV/WebM EBML structure), VideoInsight extracts key metadata without decoding the actual video content.
-
Rule engine tagging -- Tag generation does not rely on AI models. Instead, it uses a carefully designed rule system (keyword matching + regex patterns + metadata inference) to ensure stable, reproducible results.
-
Platform spec database -- A built-in database of technical specifications for major platforms uses a multi-dimensional weighted scoring algorithm (duration 30%, resolution 25%, file size 15%, codec 15%, frame rate 15%) to provide objective compatibility assessments.
videoinsight/
โโโ cli.py # CLI entry point with argparse interface
โโโ analyzer.py # Core analysis engine orchestrating the full pipeline
โโโ metadata.py # Metadata extractor parsing MP4/AVI/MKV/WebM file headers
โโโ tagger.py # Content tag generator with rule engine + confidence scoring
โโโ strategy.py # Publishing strategy analyzer with platform spec DB + scoring
โโโ comparator.py # Competitive comparison with statistics + outlier detection
โโโ reporter.py # Report generator with multi-format output support
โโโ utils.py # Utility functions: formatting, scanning, statistics, progress bar
- AI-enhanced tagging -- Optional integration with lightweight AI models for improved tag accuracy (zero-dependency mode remains the default)
- Batch processing optimization -- Multi-threading / async IO for faster large-scale video library scanning
- Web interface -- Browser-based visual analysis dashboard
- Historical trends -- Compare results across multiple analysis runs to track video quality over time
- Plugin system -- Support for custom analysis modules and output format plugins
- Auto-updating platform specs -- Periodic synchronization with the latest platform specifications
pip install videoinsightgit clone https://github.com/videoinsight/videoinsight.git
cd videoinsight
pip install -e .# Install build tools
pip install build
# Build sdist and wheel
python -m build
# Build artifacts are in the dist/ directory
ls dist/
# videoinsight-1.0.0.tar.gz
# videoinsight-1.0.0-py3-none-any.whl# Run all tests
python -m pytest tests/
# Run a specific test module
python -m pytest tests/test_analyzer.py -v| OS | Status |
|---|---|
| Windows | โ Supported |
| macOS | โ Supported |
| Linux | โ Supported |
| Python Version | Status |
|---|---|
| 3.8 | โ Supported |
| 3.9 | โ Supported |
| 3.10 | โ Supported |
| 3.11 | โ Supported |
| 3.12 | โ Supported |
We welcome and appreciate contributions of all kinds -- whether it is a bug report, a feature suggestion, or a pull request.
- Fork this repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Commit your changes:
git commit -m "feat: add your feature description" - Push the branch:
git push origin feature/your-feature-name - Submit a Pull Request
We follow the Conventional Commits specification:
feat:New featurefix:Bug fixdocs:Documentation updaterefactor:Code refactoringtest:Test-related changeschore:Build/tooling changes
git clone https://github.com/videoinsight/videoinsight.git
cd videoinsight
pip install -e ".[dev]"
python -m pytest tests/ -vIf you encounter any issues, please file them via GitHub Issues and include:
- Your operating system and Python version
- Steps to reproduce
- Actual output vs. expected output
- Video file information, if applicable
This project is released under the MIT License.
MIT License
Copyright (c) 2024 VideoInsight Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.