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

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

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ข้อมูลไม่ขึ้นมาแสดง รบกวนช่วยดูโค้ดให้ทีคะ คือทำหน้าแบบฟอร์ม แล้วต้องการแก้ไขข้อมูลตามไอดี
โดย Jakkrit Saengngoenon พฤ 09 ก.ค. 2020 1:24 pm บอร์ด Programming - PHP
0
1
พฤ 09 ก.ค. 2020 1:24 pm โดย Jakkrit Saengngoenon
งานประจำวันที่ 9 กรกฏาคม 2563
โดย Phakakrong พฤ 09 ก.ค. 2020 9:40 am บอร์ด M105 - ผกากรอง กุสาวดี
0
9
พฤ 09 ก.ค. 2020 9:40 am โดย Phakakrong
สรุปผลการเรียน Process help desk
โดย Phakakrong พ 08 ก.ค. 2020 7:05 pm บอร์ด M105 - ผกากรอง กุสาวดี
1
7
พฤ 09 ก.ค. 2020 10:29 am โดย Phakakrong
ISO 29110 คืออะไร มาตรฐานที่ให้การรับรองคุณภาพการบริหารงาน หรือผลิตภัณฑ์ซอร์ฟแวร์ มีขั้นตอนการขออย่างไหร่
โดย natthanit.r2538 พ 08 ก.ค. 2020 7:02 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
20
พ 08 ก.ค. 2020 9:59 pm โดย UoIU112
การ Link ข้อมูลข้าม Sheet /ข้ามไฟล์ ใน Excel แบบง่ายๆ
โดย Phakakrong พ 08 ก.ค. 2020 6:55 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
8
พ 08 ก.ค. 2020 6:55 pm โดย Phakakrong
ข้อควรรู้เกี่ยวกับการลดหย่อนภาษีด้วยเงินบริจาคมูลนิธิ
โดย medalezga พ 08 ก.ค. 2020 1:55 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
12
พ 08 ก.ค. 2020 1:55 pm โดย medalezga
แนะนำ 10 โปรแกรมตัดต่อวิดีโอบน PC ทั้งฟรีและเสียเงิน
โดย Phakakrong พ 08 ก.ค. 2020 1:30 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
13
พ 08 ก.ค. 2020 1:30 pm โดย Phakakrong
งานประจำวันที่ 8 กรกฏาคม 2563
โดย Phakakrong พ 08 ก.ค. 2020 9:28 am บอร์ด M105 - ผกากรอง กุสาวดี
3
41
พ 08 ก.ค. 2020 7:16 pm โดย Phakakrong
SMS Gateway คืออะไร
โดย natthanit.r2538 อ 07 ก.ค. 2020 5:11 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
27
พ 08 ก.ค. 2020 5:15 pm โดย natthanit.r2538
ใบเสนอราคา (Quotation) คืออะไร
โดย Phakakrong อ 07 ก.ค. 2020 4:55 pm บอร์ด Share Knowledge
0
30
อ 07 ก.ค. 2020 4:55 pm โดย Phakakrong
วิธีการเดินทางจากอำเภอเชียงคำ จ.พะเยา มา กรุงเทพมหานคร
โดย Phakakrong อ 07 ก.ค. 2020 12:03 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
34
อ 07 ก.ค. 2020 12:03 pm โดย Phakakrong
Note
โดย Phakakrong อ 07 ก.ค. 2020 11:16 am บอร์ด M105 - ผกากรอง กุสาวดี
1
7
พ 08 ก.ค. 2020 10:09 am โดย Phakakrong
list ความรู้ที่มี ว่าเคยเรียน หรือ เคยทำอะไรมาบ้าง
โดย Phakakrong อ 07 ก.ค. 2020 11:01 am บอร์ด M105 - ผกากรอง กุสาวดี
3
25
อ 07 ก.ค. 2020 3:27 pm โดย Phakakrong
ให้เขียนประวัติ และ Job description ที่เคยทำมาแต่ละบริษัท โดยระบุประเภทธุรกิจที่เคยทำมา
โดย Phakakrong อ 07 ก.ค. 2020 11:01 am บอร์ด M105 - ผกากรอง กุสาวดี
3
22
พ 08 ก.ค. 2020 2:26 pm โดย Phakakrong
Work's on Hand ผกากรอง กุสาวดี M105
โดย Phakakrong อ 07 ก.ค. 2020 11:00 am บอร์ด M105 - ผกากรอง กุสาวดี
0
8
อ 07 ก.ค. 2020 11:00 am โดย Phakakrong
งานประจำวันที่ 7 กรกฏาคม 2563
โดย Phakakrong อ 07 ก.ค. 2020 10:58 am บอร์ด M105 - ผกากรอง กุสาวดี
3
60
พ 08 ก.ค. 2020 9:25 am โดย Phakakrong
ฟอร์มรับเงิน Omise เราสามารถเปลี่ยน logo ได้มั้ยคะ
โดย thatsawan ศ 03 ก.ค. 2020 6:03 pm บอร์ด Programming - PHP
1
33
พฤ 09 ก.ค. 2020 11:21 am โดย mindphp
input type="date" ไม่เเสดงเป็นปฎิทินวันที่ให้ใน safari แก้ไขยังไงคะ
โดย thatsawan พฤ 02 ก.ค. 2020 2:31 pm บอร์ด HTML CSS
0
53
พฤ 02 ก.ค. 2020 2:31 pm โดย thatsawan
การสร้าง bot messenger ของ facebook โดยใช้ pymessenger
โดย jirawoot พฤ 02 ก.ค. 2020 1:44 pm บอร์ด Python Knowledge
0
54
พฤ 02 ก.ค. 2020 1:44 pm โดย jirawoot
Q - ทดลองทำเอกสารยื่นแบบผ่านเน็ตแล้ว ไฟล์ txt ใช้ไม่ได้
โดย natthanit.r2538 พ 01 ก.ค. 2020 4:59 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
3
64
พ 01 ก.ค. 2020 5:41 pm โดย natthanit.r2538