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

วิธีการคำนวณเวลาของวีดีโอในภาษา 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 ทำค้นหาเฉพาะข้อมูลที่มีค่าตรงตามที่ตรงการ
โดย Ittichai_chupol อ 03 ธ.ค. 2019 6:19 pm บอร์ด Jquery & Ajax Knowledge
0
82
อ 03 ธ.ค. 2019 6:19 pm โดย Ittichai_chupol
การเขียน do while loop ในภาษา C
โดย Grammanano อ 03 ธ.ค. 2019 5:24 pm บอร์ด Share Knowledge
0
87
อ 03 ธ.ค. 2019 5:24 pm โดย Grammanano
บทความ Draft ภาพนับว่าละเมิดลิขสิทธิ์หรือไม่
โดย noppadonsk อ 03 ธ.ค. 2019 4:47 pm บอร์ด Share Knowledge
0
38
อ 03 ธ.ค. 2019 4:47 pm โดย noppadonsk
Module "Weather Forcecast" การพยากรณ์อากาศสำหรับประเทศไทยล่วงหน้า
โดย prmindphp อ 03 ธ.ค. 2019 4:43 pm บอร์ด MindPHP News & Feedback
0
201
อ 03 ธ.ค. 2019 4:43 pm โดย prmindphp
การเขียน while loop ในภาษา C
โดย Grammanano อ 03 ธ.ค. 2019 4:29 pm บอร์ด Share Knowledge
0
45
อ 03 ธ.ค. 2019 4:29 pm โดย Grammanano
ออนไลน์มาร์เก็ตติ้ง กับ ดิจิตอลมาเก็ตติ้ง แตกต่างกันอย่างไร
โดย noppadonsk อ 03 ธ.ค. 2019 4:16 pm บอร์ด Share Knowledge
0
44
อ 03 ธ.ค. 2019 4:16 pm โดย noppadonsk
มาทำความรู้จักกับ FYI (For your Information) FYI คืออะไร
โดย noppadonsk อ 03 ธ.ค. 2019 3:54 pm บอร์ด Share Knowledge
0
101
อ 03 ธ.ค. 2019 3:54 pm โดย noppadonsk
font ที่นิยมในการออกแบบให้ปัง
โดย noppadonsk อ 03 ธ.ค. 2019 3:38 pm บอร์ด Graphic design
0
84
อ 03 ธ.ค. 2019 3:38 pm โดย noppadonsk
จะ preg_match ยังไงให้ได้แค่ชื่อรูปครับ
โดย jamepiyawat อ 03 ธ.ค. 2019 3:03 pm บอร์ด Programming - PHP
2
142
อ 03 ธ.ค. 2019 3:20 pm โดย jamepiyawat
วิธีการการใช้ Node.js เพื่อสำหรับทำ Restful API
โดย Grammanano อ 03 ธ.ค. 2019 2:54 pm บอร์ด Jquery & Ajax Knowledge
0
137
อ 03 ธ.ค. 2019 2:54 pm โดย Grammanano
วิธีการใช้งาน Adobe permier pro เพื่อตัดต่อคลิปวีดิโอให้น่าสนใจ
โดย noppadonsk อ 03 ธ.ค. 2019 2:53 pm บอร์ด Graphic design
0
106
อ 03 ธ.ค. 2019 2:53 pm โดย noppadonsk
Module "Login" ของ MooZiicart ใช้งานง่ายเพียงติดตั้ง
โดย prmindphp อ 03 ธ.ค. 2019 11:43 am บอร์ด MindPHP News & Feedback
0
404
อ 03 ธ.ค. 2019 11:43 am โดย prmindphp
การเขียน if/else ในภาษา C
โดย Grammanano อ 03 ธ.ค. 2019 11:43 am บอร์ด Programming - C/C++ & java & Python
1
366
พ 11 ธ.ค. 2019 4:28 pm โดย Pragatisatpute
ออกแบบแบนเนอร์ให้เหมาะกับธุรกิจออนไลน์
โดย noppadonsk อ 03 ธ.ค. 2019 11:40 am บอร์ด Share Knowledge
0
38
อ 03 ธ.ค. 2019 11:40 am โดย noppadonsk
สร้างงานสวยด้วยASPECT RATIO
โดย noppadonsk อ 03 ธ.ค. 2019 11:03 am บอร์ด Share Knowledge
0
169
อ 03 ธ.ค. 2019 11:03 am โดย noppadonsk
วิธีแก้ไขรูปแบบวันที่ ในเอกสาร google sheet
โดย thatsawan อ 03 ธ.ค. 2019 10:47 am บอร์ด Microsoft Office Knowledge & line & Etc
1
109
อ 03 ธ.ค. 2019 1:35 pm โดย chatee supasand
สอบถาม ปุ่มส่งค่า Activityไปยังหน้าอื่นและกลับมาหน้าหลัก
โดย Dhanaporn Promchatsoonthorn จ 02 ธ.ค. 2019 10:01 pm บอร์ด Mobile Programming - Android, iOS, Window Phone
0
84
จ 02 ธ.ค. 2019 10:01 pm โดย Dhanaporn Promchatsoonthorn
วิธีการเพิ่ม - ลบ ช่องกรอกข้อมูล โดยใช้ jquery เพื่อปรับเพิ่มลดช่องกรอกข้อมูลได้ตามต้องการ
โดย Ittichai_chupol จ 02 ธ.ค. 2019 5:03 pm บอร์ด Jquery & Ajax Knowledge
0
98
จ 02 ธ.ค. 2019 5:03 pm โดย Ittichai_chupol
ขอความอนุเคราะห์เรื่อง การเขียนคิวรี่ข้อมูลในเดือน
โดย 9kitti จ 02 ธ.ค. 2019 1:39 pm บอร์ด SQL - Database
1
108
จ 02 ธ.ค. 2019 2:22 pm โดย mindphp
วิธีเดินทางจากสุราษฎร์ธานี (เกาะสมุย) มา กทม.
โดย Grammanano จ 02 ธ.ค. 2019 12:21 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
133
จ 02 ธ.ค. 2019 3:49 pm โดย thatsawan