好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > python基于moviepy實現音視頻剪輯

python基于moviepy實現音視頻剪輯

熱門標簽:聊城語音外呼系統 騰訊地圖標注沒法顯示 商家地圖標注海報 地圖標注自己和別人標注區別 打電話機器人營銷 南陽打電話機器人 海外網吧地圖標注注冊 ai電銷機器人的優勢 孝感營銷電話機器人效果怎么樣

實踐步驟

1.尋找合適的Python庫(安裝是否麻煩、使用是否簡便、執行會不會太久)

  • moviepy 音視頻庫。分析需要用的API:代碼示例

2.定義輸入輸出

  • 輸入:一個音視頻文件的地址,需要剪出來的時間段
  • 輸出:剪輯片段的文件

3.設計執行流程并一步步實現(定義函數,與使用具體API相關)

  1. 讀入并創建clip對象。
  2. 剪輯subclip,輸入時間參數可以是時間格式的字符串。
  3. 導出write_videofile。

4.結論:時間太久,片段多長就花了多久的時間;CPU全跑滿了。

stackoverflowConcat videos too slow using Python MoviePY 里面有個答案說,調用包里封裝的ffmpeg函數會快一些:

You have some functions that perform direct calls to ffmpeg: github.com/Zulko/movie… And are therefore extremely efficient, for simple tasks such as yours.

5.重新設計和實現,直接使用moviepy.video.io.ffmpeg_tools里的函數:ffmpeg_extract_subclip(源音視頻文件,起,止,輸出名)。

  • 這個函數中輸入的起止時間參數只能是數字,不能是字符串,而庫基本使用的接口函數傳入的是字符串。看源碼發現是有個把時間字符串轉換成數字的裝飾器的,一步步找就可以找到那個轉換的函數了。

6.結論:時間快了很多,幾乎是幾秒內就完成。

  • 但并不明白為什么快了這么多

7.優化:一次處理多個時間段

  1. 輸入由一個起止時間,變為一組起止時間
  2. 循環處理每一組起止時間
  3. 輸出的文件名按順序拼接

8.優化:每段時間配上名字

  1. 輸入除了每一組的起止時間,還有后綴名
  2. 文件名+后綴得到輸出的文件名

9.優化:輸入輸出的合法性校驗

  • 校驗輸入地址是合法文件
  • 校驗時間段(沒什么必要)
    • 不可以小于0
    • 不可以大于視頻時間
    • 起小于止

完整代碼

需要pip install moviepy

簡單的使用

from moviepy.editor import VideoFileClip, concatenate_videoclips

clipOri = VideoFileClip("E:/2020-03-29 19-31-39.mkv")


#截取兩個subclip再拼接
#time_length = int(clipOri.duration) 這句可以獲取片子的時
#超過時長會報錯,時長默認用秒,也可以寫得更細,(00:03:50.54)->3分50秒

cut1 = clipOri.subclip(0, 7053)
cut2 = clipOri.subclip(7059, 8941)

finalClip = concatenate_videoclips([cut1,cut2])

finalClip.write_videofile("E:/acut.mp4")
import os
import moviepy.video.io.ffmpeg_tools as fftool
from moviepy.tools import cvsecs

def add_suffix(file_name, suffix): # 文件名拼接后綴
    index = file_name.rfind('.') # 最后一個點號
    res = file_name[:index] + '_' + suffix + file_name[index:]
    return res

# 輸入
file_name = r"./XXX.mkv"
output_arr = [
    ('04:20','05:07', '自我介紹'),
    ('05:07','17:47', '項目經歷'),
    ('17:37','24:40', 'HTTPS'),
    ('24:40','28:10', '實現讀寫鎖'),
]

if not os.path.isfile(file_name): # 校驗
    print("不合法的輸入", file_name)

for startStr, endStr, suffix in output_arr:
    start = cvsecs(startStr)
    end = cvsecs(endStr)
    
    if start  0 or start >= end: # 校驗
        print("不合法的時間",startStr, endStr)
        continue

    full_output_name = add_suffix(file_name, suffix)
    print('處理文件:', file_name, '時間:', startStr, '-', endStr)
    fftool.ffmpeg_extract_subclip(file_name,start,end,full_output_name) # 剪輯并輸出
    print('處理功成功,輸出:',full_output_name)

參考

  • moviepy的文檔
    • moviepy中文文檔
    • 英文文檔
    • GitHub地址
  • 博文:用moviepy將視頻剪掉一段
  • stack overflow Concat videos too slow using Python MoviePY

以上就是python基于moviepy實現音視頻剪輯的詳細內容,更多關于python moviepy實現音視頻剪輯的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • python用moviepy對視頻進行簡單的處理
  • MoviePy常用剪輯類及Python視頻剪輯自動化
  • MoviePy簡介及Python視頻剪輯自動化
  • Python視頻編輯庫MoviePy的使用
  • Python使用pydub模塊轉換音頻格式以及對音頻進行剪輯
  • Python竟然能剪輯視頻
  • 用python進行視頻剪輯

標簽:迪慶 聊城 南寧 揚州 楊凌 牡丹江 撫州 六盤水

巨人網絡通訊聲明:本文標題《python基于moviepy實現音視頻剪輯》,本文關鍵詞  python,基于,moviepy,實現,音視頻,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python基于moviepy實現音視頻剪輯》相關的同類信息!
  • 本頁收集關于python基于moviepy實現音視頻剪輯的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 下面被添得好爽好想要| 久久久无码AV精品亚洲星娜美| 欧美一级片播放| 女主浪荡h肉辣文np| 美女用震蛋到呻吟的视频| 看全色黄大色黄女片爽在线看| 年轻女教师三级| 无限看片直播| 老少亂伦一区二区三区| 免费观看欧美成人AA片爱我多深| 欧美粗黑巨大gay| 欧美在线小视频| 天堂WWW在线а√天堂 | 男女上下抽搐视频免费观看| 久久夜色精品国产噜噜小说| 九九九九热精品免费视频| 亚洲国产综合精品尤物在线| 熟女阿?BBBBBB| 农村三级毛片| 久久精品一本到99热免费| 嗯啊啊哈| 日韩欧美猛交XXXXX无码| 张天爱大尺度未删减版视频| 日本天堂免费观看| 做爰全过程一进一出抽搐爽小说| 久久99精品久久久久婷婷| 高情商最动人的祝福语| a级毛片基地| 非洲一区二区三区不卡| 久久精品露脸对白国产 | 欧美白人最猛性xxxxx| 啊轻点灬大巴太粗太长了视频| 国模美心超大胆| 亚洲影视一区二区| 国产精品好好热在线观看| ?国产精品海角社区在线观看| 91精品久久久久久蜜桃| 男人jj插女人bb| 艳母视频| 99re66精品视频在线观看| 精品久久久久久久成人热91 |