最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python爬取視頻時長場景實踐示例

 更新時間:2022年07月23日 14:46:23   作者:三爺  
這篇文章主要為大家介紹了Python獲取視頻時長場景實踐示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

簡介:

在視頻相關測試場景下,例如:有時需要知道全部視頻的匯總時長,顯然一個個打開并且手工計算耗時耗力,我們可以通過編寫腳本進行快速匯總。

獲取視頻時長的方式

1、通過subprocess進行獲取。

2、通過moviepy庫中VideoFileClip獲取。

3、通過cv2庫獲取。

安裝

1、subprocess:無需安裝,Python內置。

2、moviepy:pip install moviepy。

3、cv2:pip install opencv-python

準備工序:

1、當前項目新增videos目錄。

2、you-get 下載幾個視頻。python:超實用下載工具you-get

如:下載了兩個短視頻

獲取視頻時長的3種方式對比

import cv2
import time
import subprocess
from moviepy.editor import VideoFileClip
def video_duration_1(filename):
    start = time.time()
    result = subprocess.run(["ffprobe", "-v", "error", "-show_entries",
                             "format=duration", "-of",
                             "default=noprint_wrappers=1:nokey=1", filename],
                            stdout=subprocess.PIPE,
                            stderr=subprocess.STDOUT)
    end = time.time()
    spend = end - start
    print("獲取視頻時長方法1耗時:", spend)
    return float(result.stdout)
def video_duration_2(filename):
    start = time.time()
    clip = VideoFileClip(filename)
    end = time.time()
    spend = end - start
    print("獲取視頻時長方法2耗時:", spend)
    return float(clip.duration)
def video_duration_3(filename):
    start = time.time()
    cap = cv2.VideoCapture(filename)
    if cap.isOpened():
        rate = cap.get(5)
        frame_num = cap.get(7)
        duration = frame_num / rate
        end = time.time()
        spend = end - start
        print("獲取視頻時長方法3耗時:", spend)
        return duration
    return -1
if __name__ == '__main__':
    file = r".\videos\mda-mkbhvebqej3cw9yh.mp4"
    video_time_1 = video_duration_1(file)
    print(video_time_1)
    print("*" * 100)
    video_time_2 = video_duration_2(file)
    print(video_time_2)
    print("*" * 100)
    video_time_3 = video_duration_3(file)
    print(video_time_3)

執(zhí)行源碼:

結論:

1、三種方式均可以正常獲取視頻時長,并且準確。

2、推薦使用cv2獲取視頻時長,耗時最短。

實踐案例:獲取文件夾內全部視頻總時長

import cv2
import os
def video_duration(dir_name):
    sum_duration = 0
    for root, dirs, files in os.walk(dir_name, topdown=False):
        for filename in files:
            cap = cv2.VideoCapture(dir_name + "\\" + filename)
            if cap.isOpened():
                rate = cap.get(5)
                frame_num = cap.get(7)
                duration = frame_num / rate
                sum_duration += duration
    return sum_duration
if __name__ == '__main__':
    file = r".\videos"
    total_video_time = video_duration(file)
    print(f"{file} 目錄下全部視頻總時長為:{total_video_time}秒")

以上就是Python獲取視頻時長場景實踐示例的詳細內容,更多關于Python獲取視頻時長的資料請關注腳本之家其它相關文章!

相關文章

  • Python3 導入上級目錄中的模塊實例

    Python3 導入上級目錄中的模塊實例

    今天小編就為大家分享一篇Python3 導入上級目錄中的模塊實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • 深入理解python Matplotlib庫的高級特性

    深入理解python Matplotlib庫的高級特性

    Matplotlib是一款極其強大的Python數(shù)據(jù)可視化庫,這篇文章中,我們將深入討論 Matplotlib 的一些高級特性,包括對象導向接口、自定義顏色映射和樣式、動態(tài)圖形等,感興趣的小伙伴跟著小編一起來探討吧
    2023-07-07
  • Python實現(xiàn)簡單登錄驗證

    Python實現(xiàn)簡單登錄驗證

    這篇文章主要為大家詳細介紹了Python實現(xiàn)簡單登錄驗證的相關資料,需要的朋友可以參考下
    2016-04-04
  • 淺談Python的list中的選取范圍

    淺談Python的list中的選取范圍

    今天小編就為大家分享一篇淺談Python的list中的選取范圍,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python THREADING模塊中的JOIN()方法深入理解

    Python THREADING模塊中的JOIN()方法深入理解

    這篇文章主要介紹了Python THREADING模塊中的JOIN()方法深入理解,本文用簡潔易懂的語言總結了對JOIN()方法的理解,不同于其它文章,需要的朋友可以參考下
    2015-02-02
  • Python對稱的二叉樹多種思路實現(xiàn)方法

    Python對稱的二叉樹多種思路實現(xiàn)方法

    這篇文章主要介紹了Python對稱的二叉樹多種思路實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • python3實現(xiàn)表白神器

    python3實現(xiàn)表白神器

    這篇文章主要為大家詳細介紹了python3實現(xiàn)表白神器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • python 進程間數(shù)據(jù)共享multiProcess.Manger實現(xiàn)解析

    python 進程間數(shù)據(jù)共享multiProcess.Manger實現(xiàn)解析

    這篇文章主要介紹了python 進程間數(shù)據(jù)共享multiProcess.Manger實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Python assert關鍵字原理及實例解析

    Python assert關鍵字原理及實例解析

    這篇文章主要介紹了Python assert關鍵字原理及實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • jupyter notebook更換皮膚主題的實現(xiàn)

    jupyter notebook更換皮膚主題的實現(xiàn)

    這篇文章主要介紹了jupyter notebook更換皮膚主題的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01

最新評論

右玉县| 常山县| 利川市| 连平县| 沭阳县| 怀集县| 浦东新区| 原阳县| 伊川县| 积石山| 忻城县| 锡林郭勒盟| 松阳县| 乌恰县| 昆山市| 丰城市| 师宗县| 哈尔滨市| 象山县| 枣强县| 尚义县| 西乡县| 兴业县| 微博| 密山市| 永城市| 栖霞市| 新龙县| 清水县| 丘北县| 安宁市| 仁化县| 西乌珠穆沁旗| 凭祥市| 峨山| 收藏| 增城市| 乌审旗| 浦县| 榆树市| 昭平县|