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

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

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อยากทราบว่าปรับขนาด listbox
โดย Ittichai_chupol จ 09 มี.ค. 2020 5:07 pm บอร์ด HTML CSS
1
718
จ 09 มี.ค. 2020 5:08 pm โดย Ittichai_chupol
ความเจ็บนี้ไม่มีเสียง
โดย noppadonsk ศ 06 มี.ค. 2020 4:49 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
847
ศ 06 มี.ค. 2020 4:49 pm โดย noppadonsk
การเก็บ log เมื่อมีการ แยก รวม ที่ดิน
โดย blackbullx16 ศ 06 มี.ค. 2020 4:47 pm บอร์ด SQL - Database
4
1264
ศ 27 มี.ค. 2020 4:11 pm โดย blackbullx16
วิธีการการเขียน css เพื่อปรีบความกว้างในการสแดงประโยค
โดย Ittichai_chupol ศ 06 มี.ค. 2020 1:40 pm บอร์ด CSS Knowledge
0
442
ศ 06 มี.ค. 2020 1:40 pm โดย Ittichai_chupol
วิธีการการเขียน css เพื่อปรีบความกว้างในการสแดงประโยค
โดย Ittichai_chupol ศ 06 มี.ค. 2020 10:34 am บอร์ด CSS Knowledge
1
1141
ศ 06 มี.ค. 2020 5:17 pm โดย Riyaaa
ทิป การใช้งานโปรแกรมนาโน nano บน Linux ทั้ง Ubuntu CentOS ไปบรรทัดสุดท้ายของ ไฟล์
โดย mindphp ศ 06 มี.ค. 2020 3:08 am บอร์ด Linux - Web Server
0
456
ศ 06 มี.ค. 2020 3:08 am โดย mindphp
อยากทราบวิธีการการแก้ไขไม่ให้ตัวอักษรอยู่ภายใต้ปุ่ม
โดย Ittichai_chupol พฤ 05 มี.ค. 2020 6:47 pm บอร์ด HTML CSS
1
547
พฤ 05 มี.ค. 2020 6:51 pm โดย thatsawan
เรียกให้ดูหรูหรา
โดย noppadonsk พฤ 05 มี.ค. 2020 6:31 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
285
พฤ 05 มี.ค. 2020 6:31 pm โดย noppadonsk
ประสบการณ์เรื่องที่พัก เสียเงินค่าเช่าไปวันๆ
โดย jataz2 พฤ 05 มี.ค. 2020 5:52 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
231
พฤ 05 มี.ค. 2020 5:52 pm โดย jataz2
เรียกใช้งาน pip ใน python 3.7 บน ubuntu ไม่ได้ครับ
โดย chatee supasand พฤ 05 มี.ค. 2020 10:49 am บอร์ด Programming - C/C++ & java & Python
1
964
พฤ 05 มี.ค. 2020 11:41 am โดย mindphp
สอบถามเรื่องพัฒนาเว็บไซต์โดยใช้ PHP ช่วยเข้ามาตอบหรืออธิบายขั้นตอนการทำงานให้ฟังหน่อยได้ไหมครับตอนนี้ไปไม่ถูกแล้ว
โดย gangger00 อ 03 มี.ค. 2020 1:03 pm บอร์ด Programming - PHP
0
239
อ 03 มี.ค. 2020 1:03 pm โดย gangger00
แก้ปัญหา gnutls_handshake() failed: Decrypt error ติดตั้ง packet ใหม่บน Ubuntu 14
โดย mindphp จ 02 มี.ค. 2020 5:05 pm บอร์ด Linux - Web Server
0
425
จ 02 มี.ค. 2020 5:05 pm โดย mindphp
การแก้ปัญหาไวรัส
โดย noppadonsk จ 02 มี.ค. 2020 4:42 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
237
จ 02 มี.ค. 2020 4:42 pm โดย noppadonsk
สอบถาม อยากไม่ให้หน้ากระดาษแบ่งหน้าต้องทำอย่างไรครับ ใน wkhtmltopdf
โดย jirawoot จ 02 มี.ค. 2020 11:56 am บอร์ด Programming - C/C++ & java & Python
2
1615
พ 04 มี.ค. 2020 10:24 am โดย jirawoot
วิธีการสร้างนึกค่า value มาจาก input โดยใช้ javascript ในกรณีที่ไม่มี class กับ id
โดย Ittichai_chupol ศ 28 ก.พ. 2020 4:40 pm บอร์ด Jquery & Ajax Knowledge
0
1226
ศ 28 ก.พ. 2020 4:40 pm โดย Ittichai_chupol
รีวิวเปรียบเทียบ เครื่องปริ้นเล็ก Printer Slip Better BT5890T Vs Printer Slip VENUS PRT-058
โดย chatee supasand ศ 28 ก.พ. 2020 4:20 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
1793
ศ 28 ก.พ. 2020 4:20 pm โดย chatee supasand
แกกล้าดียังไง
โดย noppadonsk ศ 28 ก.พ. 2020 10:06 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
331
ศ 28 ก.พ. 2020 10:06 am โดย noppadonsk
ข้อดีของ เว็บบอร์ด คือจับตัว IO ได้ง่าย
โดย mindphp พฤ 27 ก.พ. 2020 8:12 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
353
พฤ 27 ก.พ. 2020 8:12 pm โดย mindphp
อยากทราบวิธีการแก้ไขปัญหา Uncaught TypeError: Cannot read property '0' of undefined ใน javascript
โดย Ittichai_chupol พฤ 27 ก.พ. 2020 8:04 pm บอร์ด Programming - PHP
2
758
ศ 06 มี.ค. 2020 4:18 pm โดย tanvishah
การเขียนโค้ดมีความเสี่ยง
โดย noppadonsk พฤ 27 ก.พ. 2020 6:19 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
279
พฤ 27 ก.พ. 2020 6:19 pm โดย noppadonsk