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

วิธีการคำนวณเวลาของวีดีโอในภาษา 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]

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
TensorFlow ออกรุ่น 2.0 ณ ปัจจุบัน
โดย chatee supasand ศ 29 พ.ย. 2019 6:34 pm บอร์ด Share Knowledge
0
56
ศ 29 พ.ย. 2019 6:34 pm โดย chatee supasand
CSS การใช้ rotate() เพื่อทำให้ icon หมุน เมื่อนำเมาส์ไปชี้
โดย bankjittapol ศ 29 พ.ย. 2019 6:26 pm บอร์ด CSS Knowledge
0
38
ศ 29 พ.ย. 2019 6:26 pm โดย bankjittapol
วิธีการปรับแก้ไขข้อมูลก่อนส่งไปแสดงแจ้งเตือน ของ phpbb
โดย Ittichai_chupol ศ 29 พ.ย. 2019 5:49 pm บอร์ด PHP Knowledge
0
62
ศ 29 พ.ย. 2019 5:49 pm โดย Ittichai_chupol
วิธีการใช้ JQuery สำหรับเพิ่มลูกเล่นการสไล เพื่อปรับเปลี่ยนสีของ Form
โดย Ittichai_chupol ศ 29 พ.ย. 2019 4:51 pm บอร์ด Jquery & Ajax Knowledge
0
33
ศ 29 พ.ย. 2019 4:51 pm โดย Ittichai_chupol
การ import ไฟล์ sql ที่มีขนาดใหญ่ ลงใน phpMyAdmin
โดย bankjittapol ศ 29 พ.ย. 2019 4:31 pm บอร์ด SQL Knowledge
0
745
ศ 29 พ.ย. 2019 4:31 pm โดย bankjittapol
วิธีการปรับขยายช่อง textbox เมื่อมีการ focus เพื่อจะเพื่อที่จะประหยัดพื้นที่หน้าเว็บเวลาไม่ได้ใช้งาน textbox
โดย Ittichai_chupol ศ 29 พ.ย. 2019 2:47 pm บอร์ด CSS Knowledge
0
31
ศ 29 พ.ย. 2019 2:47 pm โดย Ittichai_chupol
ภาพอบรม-27/11/2019
โดย numtan5839 พฤ 28 พ.ย. 2019 11:39 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
10
50
ศ 06 ธ.ค. 2019 6:33 pm โดย thatsawan
งานประจำวันที่ 29 พฤศจิกายน 2562
โดย numtan5839 ศ 29 พ.ย. 2019 9:21 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
4
18
ส 30 พ.ย. 2019 12:54 pm โดย mindphp
วิธีการ ปรับเปลี่ยน class ของ css ด้วย Javascript เพื่อว่าสะดวกต่อการเปลี่ยนค่า css หลายค่าพร้อมกัน
โดย Ittichai_chupol พฤ 28 พ.ย. 2019 6:22 pm บอร์ด Jquery & Ajax Knowledge
0
62
พฤ 28 พ.ย. 2019 6:22 pm โดย Ittichai_chupol
CSS คำสั่ง background การกำหนดรายละเอียดของพื้นหลัง
โดย bankjittapol พฤ 28 พ.ย. 2019 6:03 pm บอร์ด CSS Knowledge
0
58
พฤ 28 พ.ย. 2019 6:03 pm โดย bankjittapol
VDO - Introducing the new Mindphp.com Webboard system function (phpbb v.3.2)
โดย numtan5839 พฤ 28 พ.ย. 2019 5:37 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
12
พ 04 ธ.ค. 2019 8:34 pm โดย mindphp
Microsoft ประกาศ ยุติการพัฒนาแอพ Cortana ในมือถือแล้ว ยกเว้น USA !!!!
โดย chatee supasand พฤ 28 พ.ย. 2019 5:19 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
36
พฤ 28 พ.ย. 2019 5:19 pm โดย chatee supasand
อยากทราบวิธีปรับขนาดรูปให้คงสัดส่วนเอาไว้ครับ
โดย jamepiyawat พฤ 28 พ.ย. 2019 4:12 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
3
52
ศ 29 พ.ย. 2019 9:30 am โดย tsukasaz
อยากทราบวิธีตัด tag p ที่แทรกอยู่ระหว่างโค๊ดออก ต้องทำอย่างไร
โดย bankjittapol พฤ 28 พ.ย. 2019 3:01 pm บอร์ด Programming - PHP
1
29
พฤ 28 พ.ย. 2019 3:07 pm โดย tsukasaz
วิธีการการใช้ jquery เข้ามาปรับแก้ไขการแสดงของรูปภาพ เพื่อขยายและขยับตำแหน่ง ของ รูปภาพ
โดย Ittichai_chupol พฤ 28 พ.ย. 2019 2:55 pm บอร์ด Jquery & Ajax Knowledge
0
30
พฤ 28 พ.ย. 2019 2:55 pm โดย Ittichai_chupol
อยากทรายคำสั่งที่จะทราบขนาดรูปภาพ ครับ
โดย jamepiyawat พฤ 28 พ.ย. 2019 1:55 pm บอร์ด Programming - PHP
4
60
พฤ 28 พ.ย. 2019 3:28 pm โดย jamepiyawat
oracle spool file without whitespace
โดย jataz2 พฤ 28 พ.ย. 2019 10:22 am บอร์ด SQL - Database
0
30
พฤ 28 พ.ย. 2019 10:22 am โดย jataz2
งานประจำวันที่ 28 พฤศจิกายน 2562
โดย numtan5839 พฤ 28 พ.ย. 2019 10:13 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
13
พฤ 28 พ.ย. 2019 7:37 pm โดย numtan5839
New Logo !!! Microsoft Edge เปิดตัว โลโก้ใหม่ เผยออกตัวจริง ต้นปีหน้า
โดย chatee supasand พ 27 พ.ย. 2019 6:43 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
40
พ 27 พ.ย. 2019 6:43 pm โดย chatee supasand
CSS การใช้รูปภาพแสดงที่ Tag List
โดย bankjittapol พ 27 พ.ย. 2019 6:34 pm บอร์ด CSS Knowledge
0
32
พ 27 พ.ย. 2019 6:34 pm โดย bankjittapol