ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

วิธีการคำนวณเวลาของวีดีโอในภาษา python

          ในภาษา Python มีวีธีการคำนวณเวลา โดยจะการใช้ Json เข้ามาเกี่ยวข้องด้วยโดยจะเก็บข้อมูลต่าง แล้วจะมี library ที่ชื่อว่า subprocess เกี่ยวข้อง โดยการคำนวณเวลาในไฟล์เวลานั้นจะต้องทำการเรียกใช้หรือทำการ import เข้ามาใช้งานก่อนถึงจะทำงานได้

ก่อนที่จะไปเขียนมารู้จักความหมายพวกนี้กันก่อน

          JSON (JavaScript Object Notation) รูปแบบการรับส่งข้อมูลคอมพิเตอร์ขนาดเล็ก เป็นภาษาที่อ่าน, เขียน และสร้างเป็นภาษาโปรแกรมที่เข้าใจง่าย ถูกสร้างขึ้นมาโดย ดักกลาส คลอฟอร์ด ต้นกำเนิดอยู่ในรูปแบบ ของ RFC 4627 and ECMA-404 JSON เป็นรูปแบบข้อความภาษาอิสระ

ขั้นตอนการเขียน

ให้ทำการ import library module ก่อน

import subprocess as sp
import json

จากนั้นให้สร้างฟังก์ชั่น probe

def probe(vid_file_path):

    if type(vid_file_path) != str:
        raise Exception('Gvie ffprobe a full file path of the video')
        return

    command = ["ffprobe",
            "-loglevel",  "quiet",
            "-print_format", "json",
             "-show_format",
             "-show_streams",
             vid_file_path
             ]

    pipe = sp.Popen(command, stdout=sp.PIPE, stderr=sp.STDOUT)
    out, err = pipe.communicate()
    return json.loads(out)

สร้างฟังก์ชั่น duration เพื่อไว้สำหรับหาระยะเวลาของวีดีโอ

def duration(vid_file_path):
    _json = probe(vid_file_path)

    if 'format' in _json:
        if 'duration' in _json['format']:
            return float(_json['format']['duration'])

    if 'streams' in _json:
        # commonly stream 0 is the video
        for s in _json['streams']:
            if 'duration' in s:
                return float(s['duration'])

จากนั้นทำการเรียกใช้ฟังก์ชั่น duration

# -*- coding=utf-8 -*-

import subprocess as sp
import json

def probe(vid_file_path):

    if type(vid_file_path) != str:
        raise Exception('Gvie ffprobe a full file path of the video')
        return

    command = ["ffprobe",
            "-loglevel",  "quiet",
            "-print_format", "json",
             "-show_format",
             "-show_streams",
             vid_file_path
             ]

    pipe = sp.Popen(command, stdout=sp.PIPE, stderr=sp.STDOUT)
    out, err = pipe.communicate()
    return json.loads(out)

def duration(vid_file_path):
    _json = probe(vid_file_path)

    if 'format' in _json:
        if 'duration' in _json['format']:
            return float(_json['format']['duration'])

    if 'streams' in _json:
        # commonly stream 0 is the video
        for s in _json['streams']:
            if 'duration' in s:
                return float(s['duration'])

time_vdo= duration('content2language.mp4') # pathของวีดีโอ
end_minute=int(time_vdo/60)
end_second = int(time_vdo%60)
print 'นาที : %d' %end_minute
print 'วินาที : %d' %end_second

 ผลที่ได้ก็จะเป็น นาทีและ วินาทีของวีดีโอ ก็ทำอันที่เรียบร้อย

 

 

 

อ้างอิง

stackoverflow.(2551).How to get the duration of a video in Python?.[ออนไลน์].เข้าถึงได้จาก https://stackoverflow.com/questions/3844430/how-to-get-the-duration-of-a-video-in-python. [19 ส.ค. 2562]

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธีการ ใช้งาน Jquery คำนวณเลขฐาน 2 8 16
โดย Ittichai_chupol พ 04 ธ.ค. 2019 6:58 pm บอร์ด Jquery & Ajax Knowledge
0
951
พ 04 ธ.ค. 2019 6:58 pm โดย Ittichai_chupol
การใช้บอร์ด Arduino ต่อกับเซ็นเซอร์สี TCS3200
โดย Grammanano พ 04 ธ.ค. 2019 6:54 pm บอร์ด Share Knowledge
0
15
พ 04 ธ.ค. 2019 6:54 pm โดย Grammanano
คำสั่ง cmd และโปรแกรมที่ใช้สำหรับการเขียน python
โดย Grammanano พ 04 ธ.ค. 2019 6:02 pm บอร์ด M098 - อนงค์นาท ไฝขาว
5
32
ส 07 ธ.ค. 2019 4:52 pm โดย Grammanano
Google One เปิดสำรองข้อมูลบนระบบ Android
โดย noppadonsk พ 04 ธ.ค. 2019 5:42 pm บอร์ด Share Knowledge
0
20
พ 04 ธ.ค. 2019 5:42 pm โดย noppadonsk
แคปหน้าจอเว็ป แล้วแปลงเป็นไฟล์ PDF บนChrome
โดย noppadonsk พ 04 ธ.ค. 2019 5:28 pm บอร์ด Share Knowledge
0
19
พ 04 ธ.ค. 2019 5:28 pm โดย noppadonsk
วิธี ซ่อนไฟล์ใน Google Drive หายังไงก็ไม่เจอ
โดย noppadonsk พ 04 ธ.ค. 2019 5:16 pm บอร์ด Share Knowledge
0
20
พ 04 ธ.ค. 2019 5:16 pm โดย noppadonsk
รู้รึยังการใส่เพลงใน Google Slides
โดย noppadonsk พ 04 ธ.ค. 2019 4:41 pm บอร์ด Share Knowledge
0
15
พ 04 ธ.ค. 2019 4:41 pm โดย noppadonsk
คู่มือการเลือกใช้ไฟล์สำหรับงานออกแบบ
โดย noppadonsk พ 04 ธ.ค. 2019 4:20 pm บอร์ด Graphic design
0
15
พ 04 ธ.ค. 2019 4:20 pm โดย noppadonsk
แนะนำเทมเพลต MooZii Opencart - Template MooZiicart สร้างเว็บไซต์ให้สวยได้ด้วยตัวเอง
โดย prmindphp พ 04 ธ.ค. 2019 4:04 pm บอร์ด MindPHP News & Feedback
1
983
พ 04 ธ.ค. 2019 5:02 pm โดย mindphp
MEMPHIS STYLE กราฟิกที่เรียบง่ายช่วยให้งานโดดเด่น
โดย noppadonsk พ 04 ธ.ค. 2019 3:58 pm บอร์ด Graphic design
0
947
พ 04 ธ.ค. 2019 3:58 pm โดย noppadonsk
ตัวอย่างการใช้บอร์ด Arduino ต่อกับจอแสดงผล OLED
โดย Grammanano พ 04 ธ.ค. 2019 3:57 pm บอร์ด Share Knowledge
0
12
พ 04 ธ.ค. 2019 3:57 pm โดย Grammanano
VDO - แนะนำการใช้งาน Module Weather Forcecast
โดย numtan5839 พ 04 ธ.ค. 2019 12:08 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
13
72
ส 07 ธ.ค. 2019 12:06 pm โดย numtan5839
การสืบทอด (Inheritance) ใน JAVA
โดย Grammanano พ 04 ธ.ค. 2019 1:48 pm บอร์ด Share Knowledge
0
13
พ 04 ธ.ค. 2019 1:48 pm โดย Grammanano
พาส่อง ต้นไม้เรียกทรัพย์ เริ่มต้น 10.- ที่ตลาดต้นไม้จตุจักร
โดย promotions พ 04 ธ.ค. 2019 11:50 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
727
พ 04 ธ.ค. 2019 11:50 am โดย promotions
งานประจำวันที่ 4 ธันวาคม 2562
โดย numtan5839 พ 04 ธ.ค. 2019 10:09 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
19
พ 04 ธ.ค. 2019 7:46 pm โดย numtan5839
งานประจำวันที่ 4 ธันวาคม 2562
โดย noppadonsk พ 04 ธ.ค. 2019 10:05 am บอร์ด MT36 - นายนพดล สุชญากูล
3
20
พ 04 ธ.ค. 2019 6:52 pm โดย noppadonsk
งานประจำวันที่ 4 ธันวาคม 2562
โดย Grammanano พ 04 ธ.ค. 2019 10:01 am บอร์ด M098 - อนงค์นาท ไฝขาว
1
8
พ 04 ธ.ค. 2019 7:03 pm โดย Grammanano
การเขียน for loop ในภาษา C
โดย Grammanano อ 03 ธ.ค. 2019 6:24 pm บอร์ด Share Knowledge
1
968
อ 03 ธ.ค. 2019 7:15 pm โดย chatee supasand
วิธีการทำ pulgin ให้ copy รูปภาพที่อยู่ในโฟนเดอร์ images ของ joomla
โดย jamepiyawat อ 03 ธ.ค. 2019 6:23 pm บอร์ด Joomla Developing Knowledge
0
962
อ 03 ธ.ค. 2019 6:23 pm โดย jamepiyawat
วิธีการใช้ JQuery ทำค้นหาเฉพาะข้อมูลที่มีค่าตรงตามที่ตรงการ
โดย Ittichai_chupol อ 03 ธ.ค. 2019 6:19 pm บอร์ด Jquery & Ajax Knowledge
0
7
อ 03 ธ.ค. 2019 6:19 pm โดย Ittichai_chupol