Skip to content

PlusMagi's Blog By Pitt Phunsanit

Plus emotional magic to the knowledge of logic.

  • About’s Pitt
Close Button
PlusMagi's Blog By Pitt Phunsanit automation,computer science,Documentation,engineering,macOS,Operating Systems,Python,SecDevOps รวมความยาว video

รวมความยาว video

2008-09-102008-09-10| phunsanitphunsanit| 0 Comment | 10:00
Categories:
  • automation
  • computer science
  • Documentation
  • engineering
  • macOS
  • Operating Systems
  • Python
  • SecDevOps

ากต้องการรวมความยาวของวิดีโอทั้งหมดในโฟลเดอร์ เช่น /Users/Shared/meetings บน macOS คุณสามารถใช้คำสั่งบน Terminal ได้หลายวิธีครับ โดยวิธีที่แม่นยำที่สุดคือการใช้ ffprobe (ซึ่งมาพร้อมกับ ffmpeg) หรือจะใช้คำสั่ง mdls ที่มีอยู่แล้วในเครื่อง macOS ก็ได้ครับ


ใช้ mdls (สะดวกที่สุด ไม่ต้องติดตั้งโปรแกรมเพิ่ม)

macOS มีระบบ Spotlight คอยเก็บ Metadata ของไฟล์อยู่แล้ว สามารถรันคำสั่งนี้บน Terminal เพื่อหาความยาวรวม (วินาที) แล้วแปลงเป็น ชั่วโมง:นาที:วินาที ได้ทันที
find /Users/Shared/meetings -type f ( -name ".mp4" -o -name ".mov" -o -name "*.mkv" ) -print0 | xargs -0 mdls -name kMDItemDurationSeconds | awk '{sum += $3} END {printf "%02d:%02d:%02d\n", sum/3600, (sum%3600)/60, sum%60}'
หมายเหตุ: สามารถเพิ่มหรือลดนามสกุลไฟล์วิดีโอในเครื่องหมาย \( ... \) ได้ตามต้องการ เช่น -name "*.avi"


ใช้ ffprobe (แม่นยำที่สุด สำหรับสาย Dev)

หากในเครื่องมี ffmpeg ติดตั้งอยู่แล้ว (เช่น ติดตั้งผ่าน Homebrew) วิธีนี้จะเช็กจากตัวไฟล์วิดีโอโดยตรงและแม่นยำมากครับ
find /Users/Shared/meetings -type f ( -name ".mp4" -o -name ".mov" -o -name "*.mkv" ) -print0 | xargs -0 -I {} ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "{}" | awk '{sum += $1} END {printf "%02d:%02d:%02d\n", sum/3600, (sum%3600)/60, sum%60}'


ใช้สคริปต์ Python (อ่านง่ายและปรับแต่งต่อสะดวก)

หากต้องการผลลัพธ์ที่ละเอียดขึ้น สามารถสร้างไฟล์สคริปต์ Python สั้น ๆ (ใช้ตัวอ่าน metadata พื้นฐานของ macOS) รันคำสั่งนี้ใน Terminal ได้เลยครับ

python3 -c '
import os, subprocess
total_seconds = 0
path = "/Users/Shared/meetings"
extensions = (".mp4", ".mov", ".mkv", ".avi")

for root, dirs, files in os.walk(path):
    for file in files:
        if file.lower().endswith(extensions):
            filepath = os.path.join(root, file)
            try:
                # ดึงเวลาเป็นวินาทีผ่าน mdls
                output = subprocess.check_output(f"mdls -name kMDItemDurationSeconds \"{filepath}\"", shell=True).decode()
                if "kMDItemDurationSeconds =" in output:
                    sec = float(output.split("=")[1].strip())
                    total_seconds += sec
            except:
                pass

hours = int(total_seconds // 3600)
minutes = int((total_seconds % 3600) // 60)
seconds = int(total_seconds % 60)
print(f"เวลาทั้งหมด: {hours} ชั่วโมง {minutes} นาที {seconds} วินาที (รวม {total_seconds:.2f} วินาที)")
'

อ่านเพิ่มเติม

  • VLC Media Player: ดู video ได้ทุกเรื่อง ทุกไฟล์
  • ดูดโหลด video, MP3 โดย yt-dlp
  • yt-dlp: Options
Tags: avi, bashrc, Command Line, ffmpeg, ffprobe, macOS, mdls, Metadata, Terminal, Video, video processing, zshrc

แนะแนวเรื่อง

PREVIOUS Previous post: Data Warehouse (คลังข้อมูล)
NEXT Next post: Sci-Fi: Stream Punk

Projects

  • Statement Columns Mapping Helper
  • PlusMagi Blocks
  • PlusMagi Site Search
  • PlusMagi Tags Reindex
  • jQuery Plus Repeater

Recent Posts

  • มือถือไม่เปิดเครื่องเอง เมื่อถึงเวลาปลุก
  • A-10 Thunderbolt II: ตำนานหมูป่าหุ้มเกราะ ผู้ครองน่านฟ้าสนับสนุนภาคพื้นดิน
  • เจาะลึก Lockheed Martin F-35 Lightning II: พลิกโฉมสงครามทางอากาศยุคที่ 5 และการประชันสมรรถนะของ 3 รุ่นย่อย
  • สถิติไร้พ่ายบนขอบอวกาศ: เจาะลึกตำนาน Lockheed SR-71 Blackbird
  • ย้อนรอย Lockheed Martin F-22 Raptor: ราชาแห่งการครองอากาศยุคที่ 5 ที่ไม่มีวันส่งออก

Archives

Categories

  • applied mathematics (302)
    • agriculture (20)
    • Astronomy (27)
    • Botany (93)
    • chemistry (42)
    • Cosmology (4)
    • Environmental Science (22)
    • physics (3)
    • statistics (2)
  • business (2,129)
    • Accounting (136)
    • Business Analysis (912)
    • collaboration (120)
    • Corporate Governance (4)
    • Finance (107)
    • Governance (10)
    • Marketing (67)
    • Operations Management (2)
    • Real Estate (31)
    • risk management (2)
  • computer science (3,067)
    • AI (494)
    • Biology (211)
      • Environment (54)
    • Cloud Computing (1,265)
    • Computer Engineering (29)
    • Data Transformation (208)
    • Data Visualization (66)
    • information retrieval (2)
    • Information Science (37)
    • Information Technology (88)
    • library science (3)
    • Mathematics (47)
    • technology (9)
    • เทคโนโลยี (194)
  • Design (337)
    • UX/UI (53)
  • engineering (1,293)
    • architecture (1,045)
    • Automotive (59)
    • Bioengineering (34)
    • Building Engineering (135)
    • Civil Engineering (94)
    • Electrical Engineering (10)
    • Mechanical Engineering (3)
    • Safety Engineering (3)
    • transportation (3)
    • urban planning (9)
  • Humanities (1,130)
    • Academia (709)
    • Archaeology (28)
    • art (160)
    • Communication (158)
    • Culture (183)
    • Education (4)
    • history (115)
    • Linguistics (20)
    • Literature (101)
    • media studies (3)
    • military history (3)
    • Religion (4)
    • social science (4)
    • Sociology (2)
    • Spirituality (2)
  • Law (314)
  • Life (2,163)
    • Accessibility (32)
    • Cartoon (146)
    • D.I.Y (78)
    • Health (203)
      • Safety (127)
    • Mindset (311)
    • Movies (200)
    • Philosophy (246)
    • Psychology (1,377)
      • Behavioral Science (1,249)
      • Cognitive Science (501)
    • Sci-Fi (93)
    • Tips and Tricks (60)
    • พุทธ (7)
  • management (875)
    • knowledge management (278)
      • Documentation (81)
    • productivity (5)
    • Project Management (16)
    • strategy (4)
  • Network (437)
    • IOT (27)
    • Nginx (27)
  • Operating Systems (613)
    • Linux (206)
    • macOS (151)
      • Homebrew (25)
    • Shell Script (45)
      • Oh My ZSH (5)
    • Windows (98)
      • PowerShell (25)
  • Programming (2,853)
    • .NET (199)
      • .NET Core EF (12)
      • C# (147)
    • API (838)
      • REST (8)
    • Database (705)
      • MariaDB (34)
      • MySql (66)
      • Oracle Database (24)
      • PostgreSQL (21)
      • RDBMS (55)
      • SQL Server (76)
        • T-SQL (26)
    • Programming Language (7)
    • Programming Languages (391)
      • Java (96)
      • PHP (238)
      • Python (13)
      • Rust (31)
    • Software Architecture (9)
    • Software Engineering (84)
    • System Analyst (SA) (66)
    • system architecture (5)
    • system design (7)
    • System Modeling (3)
    • Systems Programming (2)
    • Testing (140)
      • Automated Testing (127)
    • Web (2,566)
      • Apache HTTP Server (58)
      • Backend (2,363)
        • Laravel (54)
        • Spring Boot (15)
      • Frontend (382)
        • Angular (16)
        • CSS (67)
        • JavaScript (194)
        • jQuery (57)
        • Tabulator (24)
        • Tailwind CSS (4)
        • Vue.js (6)
      • WordPress (40)
  • SecDevOps (1,106)
    • automation (496)
    • CI/CD (349)
    • Docker (119)
    • GIT (56)
    • Hardware (84)
    • SVN (6)
    • system (248)
      • System Administration (37)
  • Security (629)
    • Authentication (248)
    • Cryptography (43)
    • Cybersecurity (349)
  • Uncategorized (1)

Sirat WordPress Theme By VWThemes

Scroll Up
Go to mobile version