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

python3獲取視頻文件播放時長的三種方法

 更新時間:2024年04月19日 11:22:12   作者:小龍在山東  
這篇文章主要介紹了python3獲取視頻文件播放時長的三種方法,VideoFileClip,CV2以及FFmpeg這三種方法,文章通過代碼示例給大家講解的非常詳細,需要的朋友可以參考下

方法一:VideoFileClip

from moviepy.editor import VideoFileClip


def get_duration_from_moviepy(url):
    clip = VideoFileClip(url)
    return clip.duration

方法二:CV2

最快。

下載安裝:https://github.com/opencv/opencv/releases

pip install opencv-python
import cv2


def get_duration_from_cv2(filename):
  cap = cv2.VideoCapture(filename)
  if cap.isOpened():
    rate = cap.get(5)
    frame_num =cap.get(7)
    duration = frame_num/rate
    return duration
  return -1

方法三:FFmpeg

pip install ffmpy3
import ffmpy3


def get_duration_from_ffmpeg(url):
    tup_resp = ffmpy3.FFprobe(
        inputs={url: None},
        global_options=[
            '-v', 'quiet',
            '-print_format', 'json',
            '-show_format', '-show_streams'
        ]
    ).run(stdout=subprocess.PIPE)

    meta = json.loads(tup_resp[0].decode('utf-8'))
    return meta['format']['duration']

速度比較

import json
import subprocess
import time
import cv2
import ffmpy3
from moviepy.editor import VideoFileClip


ls = [
"https://test/1.mp4",
"http://test/2.mp4",
"https://test/3.mp4"
]


def get_duration_from_cv2(filename):
  cap = cv2.VideoCapture(filename)
  if cap.isOpened():
    rate = cap.get(5)
    frame_num =cap.get(7)
    duration = frame_num/rate
    return duration
  return -1


def get_duration_from_moviepy(url):
    clip = VideoFileClip(url)
    return clip.duration


def get_duration_from_ffmpeg(url):
    tup_resp = ffmpy3.FFprobe(
        inputs={url: None},
        global_options=[
            '-v', 'quiet',
            '-print_format', 'json',
            '-show_format', '-show_streams'
        ]
    ).run(stdout=subprocess.PIPE)

    meta = json.loads(tup_resp[0].decode('utf-8'))
    return meta['format']['duration']


for u in ls:
    t1 = time.time()
    p = get_duration_from_cv2(u)
    t2 = time.time()
    print('CV2 Duration: ', p, ' Time: ', t2 - t1)

    t1 = time.time()
    p = get_duration_from_moviepy(u)
    t2 = time.time()
    print('Moviepy Duration: ', p, ' Time: ', t2 - t1)

    t1 = time.time()
    p = get_duration_from_ffmpeg(u)
    t2 = time.time()
    print('FFMPEG Duration: ', p, ' Time: ', t2 - t1)
    print()

參考

https://ffmpy3.readthedocs.io/en/latest/

到此這篇關于python3獲取視頻文件播放時長的三種方法的文章就介紹到這了,更多相關python3獲取視頻播放時長內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python簡單實現(xiàn)計算過期時間的方法

    python簡單實現(xiàn)計算過期時間的方法

    這篇文章主要介紹了python簡單實現(xiàn)計算過期時間的方法,涉及Python時間操作的相關技巧,需要的朋友可以參考下
    2015-06-06
  • python 實用工具狀態(tài)機transitions

    python 實用工具狀態(tài)機transitions

    這篇文章主要介紹了python 實用工具狀態(tài)機transitions的使用,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-11-11
  • Pytorch 如何實現(xiàn)常用正則化

    Pytorch 如何實現(xiàn)常用正則化

    這篇文章主要介紹了Pytorch 實現(xiàn)常用正則化的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 通過Python的filestools庫給圖片添加全圖水印的示例詳解

    通過Python的filestools庫給圖片添加全圖水印的示例詳解

    這篇文章主要介紹了通過Python的filestools庫給圖片添加全圖水印,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • Python實現(xiàn)自動玩連連看的腳本分享

    Python實現(xiàn)自動玩連連看的腳本分享

    最近女朋友在玩連連看,玩了一個星期了還沒通關,真的是菜。實在是看不過去了,直接用python寫了個腳本代碼可以自動玩連連看,感興趣的可以了解一下
    2022-04-04
  • Python 基礎教程之包和類的用法

    Python 基礎教程之包和類的用法

    這篇文章主要介紹了Python 基礎教程之包和類的用法的相關資料,需要的朋友可以參考下
    2017-02-02
  • python如何與前端交互舉例詳解

    python如何與前端交互舉例詳解

    在Web開發(fā)中前端與后端之間的數(shù)據(jù)交互,下面這篇文章主要給大家介紹了關于python如何與前端交互的相關資料,文章通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-08-08
  • 部署Django到阿里云服務器教程示例

    部署Django到阿里云服務器教程示例

    這篇文章主要介紹了部署Django到阿里云服務器教程示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • Django發(fā)送郵件和itsdangerous模塊的配合使用解析

    Django發(fā)送郵件和itsdangerous模塊的配合使用解析

    這篇文章主要介紹了Django發(fā)送郵件和itsdangerous模塊的配合使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • 深入了解Python中的變量類型標注

    深入了解Python中的變量類型標注

    變量類型注解是用來對變量和函數(shù)的參數(shù)返回值類型做注解,讓調(diào)用方減少類型方面的錯誤,也可以提高代碼的可讀性和易用性。本文就來和大家聊聊Python中的變量類型標注吧
    2023-04-04

最新評論

叶城县| 平湖市| 宣汉县| 若尔盖县| 巴塘县| 新巴尔虎左旗| 山东| 瑞昌市| 青川县| 丰都县| 柯坪县| 井陉县| 西盟| 青铜峡市| 四子王旗| 河北省| 怀柔区| 临海市| 宁波市| 沭阳县| 恭城| 多伦县| 亚东县| 江川县| 个旧市| 鄢陵县| 平陆县| 洪雅县| 伊宁县| 唐海县| 黑水县| 旌德县| 安福县| 通河县| 岐山县| 资阳市| 湖南省| 山东省| 西安市| 高清| 民乐县|