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

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

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
R - เพิ่ม Exception ตอน push ข้อมความ ไปที่ Line หรือ รับข้อความจาก Line ไม่ได้
โดย mindphp อ 24 ธ.ค. 2019 7:06 am บอร์ด MD-CRM - Tester
0
4
อ 24 ธ.ค. 2019 7:06 am โดย mindphp
B - เวลาใน Logs ไม่ตรง
โดย mindphp อ 24 ธ.ค. 2019 5:57 am บอร์ด MlineCRM Line + MD-CRM
0
3
อ 24 ธ.ค. 2019 5:57 am โดย mindphp
วางแผนเงินออมได้ง่ายๆ ด้วยโปรแกรมคำนวณหามูลค่าเงินในอนาคต
โดย prmindphp จ 23 ธ.ค. 2019 7:28 pm บอร์ด MindPHP News & Feedback
0
52
จ 23 ธ.ค. 2019 7:28 pm โดย prmindphp
ปฏิทินประจําปี 2563 ธีมแคมป์ กางเต้นท์ เดินป่า สายลุยๆไม่ควรพลาด
โดย noppadonsk จ 23 ธ.ค. 2019 5:10 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
617
พ 01 ม.ค. 2020 3:24 pm โดย mindphp
วิธีการปรับเปลี่ยนค่าการแสดงผลในหน้าแสดงบอร์ด ใน phpbb
โดย Ittichai_chupol ส 21 ธ.ค. 2019 5:48 pm บอร์ด PHP Knowledge
0
59
ส 21 ธ.ค. 2019 5:48 pm โดย Ittichai_chupol
จะทำอย่างไรจะแสดงข้อมูลในจำนวนตารางที่คงที่ได้ครับ
โดย jamepiyawat ส 21 ธ.ค. 2019 1:51 pm บอร์ด Programming - PHP
1
82
ส 21 ธ.ค. 2019 2:07 pm โดย thatsawan
วิธีการส่งค่า จาก Event หนึ่งไปยัง Event หนึ่ง ใน phpbb
โดย Ittichai_chupol ศ 20 ธ.ค. 2019 6:59 pm บอร์ด PHP Knowledge
0
59
ศ 20 ธ.ค. 2019 6:59 pm โดย Ittichai_chupol
โปรแกรมคำนวณหาจำนวนเงินผ่อนชำระ ตัวช่วยในการคำนวณเงินผ่อนเพื่อใช้ประกอบการตัดสินใจ
โดย prmindphp ศ 20 ธ.ค. 2019 5:58 pm บอร์ด MindPHP News & Feedback
0
58
ศ 20 ธ.ค. 2019 5:58 pm โดย prmindphp
ปฏิทินประจำปี 2563 ดอกไม้มงคลพืชสวยงาม -โหลดมาใช้กันเลยฟรี
โดย noppadonsk ศ 20 ธ.ค. 2019 1:55 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
3624
อ 24 ธ.ค. 2019 8:17 pm โดย mindphp
excel แบบวันที่เวลา ลงdatabase
โดย Anonymous ศ 20 ธ.ค. 2019 1:54 pm บอร์ด Programming - PHP
1
67
ศ 20 ธ.ค. 2019 2:03 pm โดย mindphp
ขอcode แปลงหน่วยนิ้ว เป็นเซ็นติเมตร ภาษา Java
โดย Anonymous ศ 20 ธ.ค. 2019 9:39 am บอร์ด Programming - PHP
0
1703
ศ 20 ธ.ค. 2019 9:39 am โดย บุคคลทั่วไป
โปรแกรมคำนวณสินเชื่อบ้าน เครื่องมือที่จะช่วยให้คุณคำนวณสินเชื่อบ้านได้ง่ายและรวดเร็ว
โดย prmindphp พฤ 19 ธ.ค. 2019 6:59 pm บอร์ด MindPHP News & Feedback
0
1716
พฤ 19 ธ.ค. 2019 6:59 pm โดย prmindphp
วิธีการแการแก้ไขข้อมูลโพสต์ ในระหว่างขั้นตอนการกดโพสต์ ของ phpbb
โดย Ittichai_chupol พฤ 19 ธ.ค. 2019 5:11 pm บอร์ด PHP Knowledge
0
529
พฤ 19 ธ.ค. 2019 5:11 pm โดย Ittichai_chupol
วิธีการใช้งานปรับลบข้อมูลลายเซ็นของ phpbb โดยใช้ Event ใน phpbb
โดย Ittichai_chupol พฤ 19 ธ.ค. 2019 2:57 pm บอร์ด PHP Knowledge
0
970
พฤ 19 ธ.ค. 2019 2:57 pm โดย Ittichai_chupol
ปฏิทินประจําปี 2563 ภูติผีปีศาจ - แจกฟรี
โดย noppadonsk พฤ 19 ธ.ค. 2019 2:16 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
1167
ส 04 ม.ค. 2020 4:38 am โดย mindphp
วิธีการใช้ JQuery เก็บ cookie เพื่อลดขั้นตอนการเปลี่ยนภาษาของแต่ละ user ใน phpbb
โดย Ittichai_chupol พฤ 19 ธ.ค. 2019 11:24 am บอร์ด Jquery & Ajax Knowledge
0
980
พฤ 19 ธ.ค. 2019 11:24 am โดย Ittichai_chupol
ปฏิทินประจําปี 2563 คริสมาสเพิ่มความหวาน และ สดใส - โหลดเก็บไว้ได้เลย
โดย noppadonsk พ 18 ธ.ค. 2019 6:31 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
2110
พ 01 ม.ค. 2020 3:11 pm โดย mindphp
ปฏิทินวันหยุด 2563 วันหยุดราชการ วันหยุดใน ปฏิทิน 2563 / 2020 ปฏิทิน 2563 พร้อมวันหยุดราชการ
โดย noppadonsk พ 18 ธ.ค. 2019 6:20 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
16
369
อ 14 ม.ค. 2020 3:32 pm โดย LEG
วิธีการปรับเปลี่ยนตัวอักษรให้เป็น พิมพ์ใหญ่ - พิมพ์เล็ก ทั้งมด
โดย Ittichai_chupol พ 18 ธ.ค. 2019 5:27 pm บอร์ด CSS Knowledge
0
50
พ 18 ธ.ค. 2019 5:27 pm โดย Ittichai_chupol
วิธีการปรับแก้ไขส่วนการแสดงผลหน้าสมาชิก ใน phpbb
โดย Ittichai_chupol พ 18 ธ.ค. 2019 5:07 pm บอร์ด PHP Knowledge
0
37
พ 18 ธ.ค. 2019 5:07 pm โดย Ittichai_chupol