Skip to content

gitstq/VideoInsight

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

VideoInsight

่ฝป้‡็บง็Ÿญ่ง†้ข‘ๅ†…ๅฎนๆ™บ่ƒฝๅˆ†ๆž CLI ๅทฅๅ…ท
Lightweight Short Video Content Intelligence Analysis CLI

็ฎ€ไฝ“ไธญๆ–‡ ย |ย  ็น้ซ”ไธญๆ–‡ ย |ย  English

Python 3.8+ MIT License Version 1.0.0 CI


๐Ÿ‡จ๐Ÿ‡ณ ็ฎ€ไฝ“ไธญๆ–‡


๐ŸŽ‰ ้กน็›ฎไป‹็ป

VideoInsight ๆ˜ฏไธ€ๆฌพ้›ถไพ่ต–็š„็ปˆ็ซฏ็Ÿญ่ง†้ข‘ๅˆ†ๆžๅทฅๅ…ท๏ผŒไธ“ไธบๅ†…ๅฎนๅˆ›ไฝœ่€…ๅ’Œ่ง†้ข‘่ฟ่ฅไบบๅ‘˜ๆ‰“้€ ใ€‚ๅฎƒ้€š่ฟ‡่งฃๆž่ง†้ข‘ๆ–‡ไปถๅคดไฟกๆฏ๏ผŒ่‡ชๅŠจๆๅ–ๅ…ƒๆ•ฐๆฎใ€็”Ÿๆˆๅ†…ๅฎนๆ ‡็ญพใ€ๅˆ†ๆžๅนณๅฐ้€‚้…ๅบฆ๏ผŒๅนถ่พ“ๅ‡บไธ“ไธš็š„ๅˆ†ๆžๆŠฅๅ‘Šใ€‚

ๆ— ่ฎบไฝ ๆ˜ฏ็‹ฌ็ซ‹ๅˆ›ไฝœ่€…่ฟ˜ๆ˜ฏ่ฟ่ฅๅ›ข้˜Ÿๆˆๅ‘˜๏ผŒVideoInsight ้ƒฝ่ƒฝๅธฎๅŠฉไฝ ๅœจๅ‘ๅธƒๅ‰ๅฟซ้€Ÿไบ†่งฃ่ง†้ข‘็š„ๆŠ€ๆœฏๅ‚ๆ•ฐๅ’Œๅ†…ๅฎน็‰นๅพ๏ผŒไปŽ่€Œๅšๅ‡บๆ›ดๆ˜Žๆ™บ็š„ๅ‘ๅธƒๅ†ณ็ญ–ใ€‚

ๆ ธๅฟƒไบฎ็‚น๏ผš

  • ้›ถๅค–้ƒจไพ่ต– -- ็บฏ Python ๆ ‡ๅ‡†ๅบ“ๅฎž็Žฐ๏ผŒpip install ๅณ็”จ๏ผŒๆ— ้œ€ๅฎ‰่ฃ… ffmpeg ็ญ‰็ฌฌไธ‰ๆ–นๅทฅๅ…ท
  • 15 ็ง่ง†้ข‘ๆ ผๅผ -- ๅ…จ้ข่ฆ†็›–ไธปๆต่ง†้ข‘ๅฎนๅ™จๆ ผๅผ
  • 6 ๅคงๅนณๅฐๆ”ฏๆŒ -- ๅ†…็ฝฎๆŠ–้Ÿณใ€B็ซ™ใ€YouTubeใ€ๅฐ็บขไนฆใ€ๅฟซๆ‰‹ใ€่ง†้ข‘ๅท็š„่ง„ๆ ผๆ•ฐๆฎๅบ“
  • ๅคšๆ ผๅผๆŠฅๅ‘Š -- ๆ”ฏๆŒ Markdownใ€JSONใ€CSVใ€็ปˆ็ซฏๅฝฉ่‰ฒ่กจๆ ผๅ››็ง่พ“ๅ‡บๆ ผๅผ

VideoInsight ็ปˆ็ซฏๆผ”็คบ
็ปˆ็ซฏ่ฟ่กŒๆ•ˆๆžœ็คบๆ„๏ผˆๆˆชๅ›พๅพ…่กฅๅ……๏ผ‰


โœจ ๆ ธๅฟƒ็‰นๆ€ง

ๅŠŸ่ƒฝๆจกๅ— ่ฏดๆ˜Ž
๐Ÿ“Š ่ง†้ข‘ๅ…ƒๆ•ฐๆฎๆๅ– ่งฃๆžๆ–‡ไปถๅคด๏ผŒๆๅ–ๆ ผๅผใ€็ผ–็ ใ€ๅˆ†่พจ็އใ€ๆ—ถ้•ฟใ€ๆฏ”็‰น็އใ€ๅธง็އ็ญ‰ไฟกๆฏ
๐Ÿท๏ธ ๅ†…ๅฎนๆ ‡็ญพๆ™บ่ƒฝ็”Ÿๆˆ ๅŸบไบŽๆ–‡ไปถๅใ€็›ฎๅฝ•็ป“ๆž„ๅ’Œๅ…ƒๆ•ฐๆฎ็š„่ง„ๅˆ™ๅผ•ๆ“Ž๏ผŒ่‡ชๅŠจ็”Ÿๆˆๅ†…ๅฎน็ฑปๅž‹ใ€้ฃŽๆ ผใ€่ดจ้‡็ญ‰ๆ ‡็ญพ
๐Ÿ“ˆ ๅ‘ๅธƒ็ญ–็•ฅๅˆ†ๆž ๆ นๆฎ่ง†้ข‘ๅ‚ๆ•ฐๆ™บ่ƒฝๅŒน้…ๆœ€ไฝณๅ‘ๅธƒๅนณๅฐ๏ผŒๆไพ›้€‚้…ๅบฆ่ฏ„ๅˆ†ๅ’Œไผ˜ๅŒ–ๅปบ่ฎฎ
๐Ÿ” ็ซžๅ“ๅฏนๆฏ”ๅˆ†ๆž ๆ‰น้‡่ง†้ข‘ๆจชๅ‘ๅฏนๆฏ”๏ผŒๅŒ…ๅซๆ—ถ้•ฟ/ๅˆ†่พจ็އ/ๅคงๅฐๅˆ†ๅธƒ็ปŸ่ฎกๅŠๅผ‚ๅธธๅ€ผๆฃ€ๆต‹
๐Ÿ“‹ ๅคšๆ ผๅผๆŠฅๅ‘Š ๆ”ฏๆŒ 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 --verbose

5. ๆŸฅ็œ‹ๅนณๅฐ่ง„ๆ ผไฟกๆฏ

# ๆŸฅ็œ‹ๆ‰€ๆœ‰ๆ”ฏๆŒ็š„ๅนณๅฐ
videoinsight info --platforms

# ๆŸฅ็œ‹ๆ‰€ๆœ‰ๆ”ฏๆŒ็š„่ง†้ข‘ๆ ผๅผ
videoinsight info --formats

# ๆŸฅ็œ‹ๅ…จ้ƒจไฟกๆฏ
videoinsight info

ๅˆ†ๆžๆตๆฐด็บฟ

VideoInsight ็š„ๅˆ†ๆžๆต็จ‹ๅˆ†ไธบๅ››ไธช้˜ถๆฎต๏ผš

่พ“ๅ…ฅ่ง†้ข‘ๆ–‡ไปถ/็›ฎๅฝ•
      โ”‚
      โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ๅ…ƒๆ•ฐๆฎๆๅ–   โ”‚  ่งฃๆžๆ–‡ไปถๅคด โ†’ ๆ ผๅผ/็ผ–็ /ๅˆ†่พจ็އ/ๆ—ถ้•ฟ/ๆฏ”็‰น็އ/ๅธง็އ
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
       โ”‚
       โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ๆ ‡็ญพๆ™บ่ƒฝ็”Ÿๆˆ โ”‚  ๆ–‡ไปถๅๅˆ†ๆž + ๅ…ƒๆ•ฐๆฎ่ง„ๅˆ™ โ†’ ๅ†…ๅฎน็ฑปๅž‹/้ฃŽๆ ผ/่ดจ้‡ๆ ‡็ญพ
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
       โ”‚
       โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ๅ‘ๅธƒ็ญ–็•ฅๅˆ†ๆž โ”‚  ๅนณๅฐ่ง„ๆ ผๅŒน้… โ†’ ้€‚้…ๅบฆ่ฏ„ๅˆ† + ๆœ€ไฝณๅนณๅฐๆŽจ่
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
       โ”‚
       โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ๆŠฅๅ‘Š็”Ÿๆˆ่พ“ๅ‡บ โ”‚  Markdown / JSON / CSV / ็ปˆ็ซฏ่กจๆ ผ
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ’ก ่ฎพ่ฎกๆ€่ทฏไธŽ่ฟญไปฃ่ง„ๅˆ’

่ฎพ่ฎก็†ๅฟต

VideoInsight ็š„ๆ ธๅฟƒ่ฎพ่ฎกๅ“ฒๅญฆๆ˜ฏ "่ฝป้‡ไฝ†ไธ็ฎ€้™‹"๏ผš

  1. ้›ถไพ่ต–ๅŽŸๅˆ™ -- ๅ…จ้ƒจๅŸบไบŽ Python ๆ ‡ๅ‡†ๅบ“๏ผˆstructใ€pathlibใ€jsonใ€csvใ€argparse ็ญ‰๏ผ‰๏ผŒ็”จๆˆทๆ— ้œ€ๅฎ‰่ฃ… ffmpegใ€ffprobe ็ญ‰้‡้‡็บงๅทฅๅ…ท๏ผŒ็œŸๆญฃๅšๅˆฐๅผ€็ฎฑๅณ็”จ
  2. ๆ–‡ไปถๅคด่งฃๆž -- ้€š่ฟ‡็›ดๆŽฅ่ฏปๅ–่ง†้ข‘ๆ–‡ไปถ็š„ไบŒ่ฟ›ๅˆถๅคด้ƒจไฟกๆฏ๏ผˆMP4 box ็ป“ๆž„ใ€AVI RIFF ๅคดใ€MKV/WebM EBML ็ป“ๆž„๏ผ‰๏ผŒๅœจไธ่งฃ็ ่ง†้ข‘็š„ๅ‰ๆไธ‹ๆๅ–ๅ…ณ้”ฎๅ…ƒๆ•ฐๆฎ
  3. ่ง„ๅˆ™ๅผ•ๆ“Žๆ ‡็ญพ -- ๆ ‡็ญพ็”Ÿๆˆไธไพ่ต– AI ๆจกๅž‹๏ผŒ่€Œๆ˜ฏๅŸบไบŽ็ฒพๅฟƒ่ฎพ่ฎก็š„่ง„ๅˆ™ไฝ“็ณป๏ผˆๅ…ณ้”ฎ่ฏๅŒน้… + ๆญฃๅˆ™ๆจกๅผ + ๅ…ƒๆ•ฐๆฎๆŽจๆ–ญ๏ผ‰๏ผŒ็กฎไฟ็ป“ๆžœ็จณๅฎšๅฏๅค็Žฐ
  4. ๅนณๅฐ่ง„ๆ ผๆ•ฐๆฎๅบ“ -- ๅ†…็ฝฎไธปๆตๅนณๅฐ็š„ๅฎŒๆ•ดๆŠ€ๆœฏ่ง„ๆ ผ๏ผŒ้€š่ฟ‡ๅคš็ปดๅบฆๅŠ ๆƒ่ฏ„ๅˆ†็ฎ—ๆณ•๏ผˆๆ—ถ้•ฟ 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 ็•Œ้ข -- ๆไพ›ๅŸบไบŽๆต่งˆๅ™จ็š„ๅฏ่ง†ๅŒ–ๅˆ†ๆž็•Œ้ข
  • ๅކๅฒ่ถ‹ๅŠฟ -- ๆ”ฏๆŒๅคšๆฌกๅˆ†ๆž็ป“ๆžœ็š„ๅฏนๆฏ”๏ผŒ่ฟฝ่ธช่ง†้ข‘่ดจ้‡ๅ˜ๅŒ–่ถ‹ๅŠฟ
  • ๆ’ไปถ็ณป็ปŸ -- ๆ”ฏๆŒ่‡ชๅฎšไน‰ๅˆ†ๆžๆจกๅ—ๅ’Œ่พ“ๅ‡บๆ ผๅผๆ’ไปถ
  • ๅนณๅฐ่ง„ๆ ผ่‡ชๅŠจๆ›ดๆ–ฐ -- ๅฎšๆœŸๅŒๆญฅๅ„ๅนณๅฐๆœ€ๆ–ฐๆŠ€ๆœฏ่ง„ๆ ผ

๐Ÿ“ฆ ๅฎ‰่ฃ…ไธŽๆ‰“ๅŒ…

ไปŽ PyPI ๅฎ‰่ฃ…

pip install videoinsight

ไปŽๆบ็ ๅฎ‰่ฃ…๏ผˆๅผ€ๅ‘ๆจกๅผ๏ผ‰

git 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 ๆŠฅๅ‘Šใ€ๆ”น่ฟ›ๅปบ่ฎฎ๏ผŒ่ฟ˜ๆ˜ฏ็›ดๆŽฅๆไบคไปฃ็ ใ€‚

ๅฆ‚ไฝ•่ดก็Œฎ

  1. Fork ๆœฌไป“ๅบ“
  2. ๅˆ›ๅปบ็‰นๆ€งๅˆ†ๆ”ฏ๏ผšgit checkout -b feature/your-feature-name
  3. ๆไบคๆ›ดๆ”น๏ผšgit commit -m "feat: add your feature description"
  4. ๆŽจ้€ๅˆ†ๆ”ฏ๏ผšgit push origin feature/your-feature-name
  5. ๆไบค Pull Request

ๆไบค่ง„่Œƒ

ๆˆ‘ไปฌ้‡‡็”จ Conventional Commits ่ง„่Œƒ๏ผš

  • feat: ๆ–ฐๅŠŸ่ƒฝ
  • fix: ไฟฎๅค Bug
  • docs: ๆ–‡ๆกฃๆ›ดๆ–ฐ
  • 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ใ€็ต‚็ซฏๅฝฉ่‰ฒ่กจๆ ผๅ››็จฎ่ผธๅ‡บๆ ผๅผ

VideoInsight ็ต‚็ซฏๆผ”็คบ
็ต‚็ซฏๅŸท่กŒๆ•ˆๆžœ็คบๆ„๏ผˆๆˆชๅœ–ๅพ…่ฃœๅ……๏ผ‰


โœจ ๆ ธๅฟƒ็‰นๆ€ง

ๅŠŸ่ƒฝๆจก็ต„ ่ชชๆ˜Ž
๐Ÿ“Š ๅฝฑ็‰‡ๅ…ƒ่ณ‡ๆ–™ๆ“ทๅ– ่งฃๆžๆช”ๆกˆๆจ™้ ญ๏ผŒๆ“ทๅ–ๆ ผๅผใ€็ทจ็ขผใ€่งฃๆžๅบฆใ€ๆ™‚้•ทใ€ไฝๅ…ƒ็އใ€ๅน€็އ็ญ‰่ณ‡่จŠ
๐Ÿท๏ธ ๅ…งๅฎนๆจ™็ฑคๆ™บๆ…ง็”Ÿๆˆ ๅŸบๆ–ผๆช”ๅใ€็›ฎ้Œ„็ตๆง‹่ˆ‡ๅ…ƒ่ณ‡ๆ–™็š„่ฆๅ‰‡ๅผ•ๆ“Ž๏ผŒ่‡ชๅ‹•็”Ÿๆˆๅ…งๅฎน้กžๅž‹ใ€้ขจๆ ผใ€ๅ“่ณช็ญ‰ๆจ™็ฑค
๐Ÿ“ˆ ็™ผๅธƒ็ญ–็•ฅๅˆ†ๆž ๆ นๆ“šๅฝฑ็‰‡ๅƒๆ•ธๆ™บๆ…งๅŒน้…ๆœ€ไฝณ็™ผๅธƒๅนณๅฐ๏ผŒๆไพ›้ฉ้…ๅบฆ่ฉ•ๅˆ†่ˆ‡ๅ„ชๅŒ–ๅปบ่ญฐ
๐Ÿ” ็ซถๅ“ๅฐๆฏ”ๅˆ†ๆž ๆ‰น้‡ๅฝฑ็‰‡ๆฉซๅ‘ๅฐๆฏ”๏ผŒๆถต่“‹ๆ™‚้•ท/่งฃๆžๅบฆ/ๅคงๅฐๅˆ†ไฝˆ็ตฑ่จˆๅŠ็•ฐๅธธๅ€ผๅตๆธฌ
๐Ÿ“‹ ๅคšๆ ผๅผๅ ฑๅ‘Š ๆ”ฏๆด 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 --verbose

5. ๆŸฅ็œ‹ๅนณๅฐ่ฆๆ ผ่ณ‡่จŠ

# ๆŸฅ็œ‹ๆ‰€ๆœ‰ๆ”ฏๆด็š„ๅนณๅฐ
videoinsight info --platforms

# ๆŸฅ็œ‹ๆ‰€ๆœ‰ๆ”ฏๆด็š„ๅฝฑ็‰‡ๆ ผๅผ
videoinsight info --formats

# ๆŸฅ็œ‹ๅ…จ้ƒจ่ณ‡่จŠ
videoinsight info

ๅˆ†ๆžๆตๆฐด็ทš

VideoInsight ็š„ๅˆ†ๆžๆต็จ‹ๅˆ†็‚บๅ››ๅ€‹้šŽๆฎต๏ผš

่ผธๅ…ฅๅฝฑ็‰‡ๆช”ๆกˆ/็›ฎ้Œ„
      โ”‚
      โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ๅ…ƒ่ณ‡ๆ–™ๆ“ทๅ–   โ”‚  ่งฃๆžๆช”ๆกˆๆจ™้ ญ โ†’ ๆ ผๅผ/็ทจ็ขผ/่งฃๆžๅบฆ/ๆ™‚้•ท/ไฝๅ…ƒ็އ/ๅน€็އ
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
       โ”‚
       โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ๆจ™็ฑคๆ™บๆ…ง็”Ÿๆˆ โ”‚  ๆช”ๅๅˆ†ๆž + ๅ…ƒ่ณ‡ๆ–™่ฆๅ‰‡ โ†’ ๅ…งๅฎน้กžๅž‹/้ขจๆ ผ/ๅ“่ณชๆจ™็ฑค
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
       โ”‚
       โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ็™ผๅธƒ็ญ–็•ฅๅˆ†ๆž โ”‚  ๅนณๅฐ่ฆๆ ผๅŒน้… โ†’ ้ฉ้…ๅบฆ่ฉ•ๅˆ† + ๆœ€ไฝณๅนณๅฐๆŽจ่–ฆ
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
       โ”‚
       โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ๅ ฑๅ‘Š็”ข็”Ÿ่ผธๅ‡บ โ”‚  Markdown / JSON / CSV / ็ต‚็ซฏ่กจๆ ผ
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ’ก ่จญ่จˆๆ€่ทฏ่ˆ‡่ฟญไปฃ่ฆๅŠƒ

่จญ่จˆ็†ๅฟต

VideoInsight ็š„ๆ ธๅฟƒ่จญ่จˆๅ“ฒๅญธๆ˜ฏ ใ€Œ่ผ•้‡ไฝ†ไธ็ฐก้™‹ใ€๏ผš

  1. ้›ถไพ่ณดๅŽŸๅ‰‡ -- ๅ…จ้ƒจๅŸบๆ–ผ Python ๆจ™ๆบ–ๅ‡ฝๅผๅบซ๏ผˆstructใ€pathlibใ€jsonใ€csvใ€argparse ็ญ‰๏ผ‰๏ผŒไฝฟ็”จ่€…็„ก้ ˆๅฎ‰่ฃ ffmpegใ€ffprobe ็ญ‰้‡้‡็ดšๅทฅๅ…ท๏ผŒ็œŸๆญฃๅšๅˆฐ้–‹็ฎฑๅณ็”จ
  2. ๆช”ๆกˆๆจ™้ ญ่งฃๆž -- ้€้Ž็›ดๆŽฅ่ฎ€ๅ–ๅฝฑ็‰‡ๆช”ๆกˆ็š„ไบŒๅ…ƒๆจ™้ ญ่ณ‡่จŠ๏ผˆMP4 box ็ตๆง‹ใ€AVI RIFF ๆจ™้ ญใ€MKV/WebM EBML ็ตๆง‹๏ผ‰๏ผŒๅœจไธ่งฃ็ขผๅฝฑ็‰‡็š„ๅ‰ๆไธ‹ๆ“ทๅ–้—œ้ตๅ…ƒ่ณ‡ๆ–™
  3. ่ฆๅ‰‡ๅผ•ๆ“Žๆจ™็ฑค -- ๆจ™็ฑค็”Ÿๆˆไธไพ่ณด AI ๆจกๅž‹๏ผŒ่€Œๆ˜ฏๅŸบๆ–ผ็ฒพๅฟƒ่จญ่จˆ็š„่ฆๅ‰‡้ซ”็ณป๏ผˆ้—œ้ตๅญ—ๆฏ”ๅฐ + ๆญฃ่ฆ่กจ็คบๅผ + ๅ…ƒ่ณ‡ๆ–™ๆŽจๆ–ท๏ผ‰๏ผŒ็ขบไฟ็ตๆžœ็ฉฉๅฎšๅฏ้‡็พ
  4. ๅนณๅฐ่ฆๆ ผ่ณ‡ๆ–™ๅบซ -- ๅ…งๅปบไธปๆตๅนณๅฐ็š„ๅฎŒๆ•ดๆŠ€่ก“่ฆๆ ผ๏ผŒ้€้Žๅคš็ถญๅบฆๅŠ ๆฌŠ่ฉ•ๅˆ†ๆผ”็ฎ—ๆณ•๏ผˆๆ™‚้•ท 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 ไป‹้ข -- ๆไพ›ๅŸบๆ–ผ็€่ฆฝๅ™จ็š„่ฆ–่ฆบๅŒ–ๅˆ†ๆžไป‹้ข
  • ๆญทๅฒ่ถจๅ‹ข -- ๆ”ฏๆดๅคšๆฌกๅˆ†ๆž็ตๆžœ็š„ๅฐๆฏ”๏ผŒ่ฟฝ่นคๅฝฑ็‰‡ๅ“่ณช่ฎŠๅŒ–่ถจๅ‹ข
  • ๅค–ๆŽ›็ณป็ตฑ -- ๆ”ฏๆด่‡ช่จ‚ๅˆ†ๆžๆจก็ต„่ˆ‡่ผธๅ‡บๆ ผๅผๅค–ๆŽ›
  • ๅนณๅฐ่ฆๆ ผ่‡ชๅ‹•ๆ›ดๆ–ฐ -- ๅฎšๆœŸๅŒๆญฅๅ„ๅนณๅฐๆœ€ๆ–ฐๆŠ€่ก“่ฆๆ ผ

๐Ÿ“ฆ ๅฎ‰่ฃ่ˆ‡ๆ‰“ๅŒ…

ๅพž PyPI ๅฎ‰่ฃ

pip install videoinsight

ๅพžๅŽŸๅง‹็ขผๅฎ‰่ฃ๏ผˆ้–‹็™ผๆจกๅผ๏ผ‰

git 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 ๅ›žๅ ฑใ€ๆ”น้€ฒๅปบ่ญฐ๏ผŒ้‚„ๆ˜ฏ็›ดๆŽฅๆไบค็จ‹ๅผ็ขผใ€‚

ๅฆ‚ไฝ•่ฒข็ป

  1. Fork ๆœฌๅ„ฒๅญ˜ๅบซ
  2. ๅปบ็ซ‹็‰นๆ€งๅˆ†ๆ”ฏ๏ผšgit checkout -b feature/your-feature-name
  3. ๆไบค่ฎŠๆ›ด๏ผšgit commit -m "feat: add your feature description"
  4. ๆŽจ้€ๅˆ†ๆ”ฏ๏ผšgit push origin feature/your-feature-name
  5. ๆไบค Pull Request

ๆไบค่ฆ็ฏ„

ๆˆ‘ๅ€‘ๆŽก็”จ Conventional Commits ่ฆ็ฏ„๏ผš

  • feat: ๆ–ฐๅŠŸ่ƒฝ
  • fix: ไฟฎๅพฉ Bug
  • docs: ๆ–‡ไปถๆ›ดๆ–ฐ
  • 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.

๐Ÿ‡ฌ๐Ÿ‡ง English


๐ŸŽ‰ Introduction

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 install and 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.

VideoInsight terminal demo
Terminal demo (screenshot coming soon)


โœจ Core Features

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

๐Ÿš€ Quick Start

Prerequisites

  • Python 3.8 or later
  • No third-party dependencies required

Installation

Option 1: Install via pip (Recommended)

pip install videoinsight

Option 2: Install from source

git clone https://github.com/videoinsight/videoinsight.git
cd videoinsight
pip install -e .

Up and Running in 3 Minutes

# 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

๐Ÿ“– Detailed Usage Guide

Command Reference

# 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]

Global Options

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

Usage Examples

1. Deep analysis of a single file

videoinsight analyze ./travel_vlog.mp4 --verbose

The 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.csv

Automatically 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.json

Compares 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 --verbose

5. View platform specs

# List all supported platforms
videoinsight info --platforms

# List all supported video formats
videoinsight info --formats

# Show everything
videoinsight info

Analysis Pipeline

VideoInsight 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
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ’ก Design Philosophy & Roadmap

Design Principles

VideoInsight is built on the philosophy of "lightweight without compromise":

  1. 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.

  2. 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.

  3. 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.

  4. 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.

Technical Architecture

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

Roadmap

  • 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

๐Ÿ“ฆ Installation & Packaging

Install from PyPI

pip install videoinsight

Install from source (development mode)

git clone https://github.com/videoinsight/videoinsight.git
cd videoinsight
pip install -e .

Build distribution packages

# 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 tests

# Run all tests
python -m pytest tests/

# Run a specific test module
python -m pytest tests/test_analyzer.py -v

System Compatibility

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

๐Ÿค Contributing

We welcome and appreciate contributions of all kinds -- whether it is a bug report, a feature suggestion, or a pull request.

How to Contribute

  1. Fork this repository
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Commit your changes: git commit -m "feat: add your feature description"
  4. Push the branch: git push origin feature/your-feature-name
  5. Submit a Pull Request

Commit Convention

We follow the Conventional Commits specification:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation update
  • refactor: Code refactoring
  • test: Test-related changes
  • chore: Build/tooling changes

Setting Up the Development Environment

git clone https://github.com/videoinsight/videoinsight.git
cd videoinsight
pip install -e ".[dev]"
python -m pytest tests/ -v

Reporting Issues

If 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

๐Ÿ“„ License

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.

About

๐ŸŽฌ Lightweight Short Video Content Intelligence Analysis CLI - ้›ถไพ่ต–็Ÿญ่ง†้ข‘ๅ†…ๅฎนๆ™บ่ƒฝๅˆ†ๆžๅทฅๅ…ท

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages