亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python基于moviepy實現(xiàn)音視頻剪輯

 更新時間:2021年06月15日 11:34:34   作者:ratiger  
為了方便學習和復習,需要把一些長音視頻剪成一些小片段。本文介紹如何用Python實現(xiàn),把音視頻中的某一些片段剪出來。

實踐步驟

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

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

2.定義輸入輸出

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

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

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

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

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

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.重新設計和實現(xiàn),直接使用moviepy.video.io.ffmpeg_tools里的函數(shù):ffmpeg_extract_subclip(源音視頻文件,起,止,輸出名)。

  • 這個函數(shù)中輸入的起止時間參數(shù)只能是數(shù)字,不能是字符串,而庫基本使用的接口函數(shù)傳入的是字符串??丛创a發(fā)現(xiàn)是有個把時間字符串轉換成數(shù)字的裝飾器的,一步步找就可以找到那個轉換的函數(shù)了。

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

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

7.優(yōu)化:一次處理多個時間段

  1. 輸入由一個起止時間,變?yōu)橐唤M起止時間
  2. 循環(huán)處理每一組起止時間
  3. 輸出的文件名按順序拼接

8.優(yōu)化:每段時間配上名字

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

9.優(yōu)化:輸入輸出的合法性校驗

  • 校驗輸入地址是合法文件
  • 校驗時間段(沒什么必要)
    • 不可以小于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', '項目經(jīng)歷'),
    ('17:37','24:40', 'HTTPS'),
    ('24:40','28:10', '實現(xiàn)讀寫鎖'),
]

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)

參考

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

相關文章

  • 簡單實現(xiàn)python進度條腳本

    簡單實現(xiàn)python進度條腳本

    這篇文章主要教大家如何簡單實現(xiàn)python進度條,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 使用python執(zhí)行shell腳本 并動態(tài)傳參 及subprocess的使用詳解

    使用python執(zhí)行shell腳本 并動態(tài)傳參 及subprocess的使用詳解

    這篇文章主要介紹了使用python執(zhí)行shell腳本 并動態(tài)傳參 及subprocess的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python中的xmltodict模塊詳解

    Python中的xmltodict模塊詳解

    這篇文章主要介紹了Python中的xmltodict模塊詳解,xmltodict一般我們用 json、yaml 轉換成 dict 可能多一些,xml 轉到 dict 可能用得不多,不過,還是可以來看一看,需要的朋友可以參考下
    2023-07-07
  • Pytorch中Tensor與各種圖像格式的相互轉化詳解

    Pytorch中Tensor與各種圖像格式的相互轉化詳解

    這篇文章主要介紹了Pytorch中Tensor與各種圖像格式的相互轉化詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • Python實現(xiàn)識別圖片和掃描PDF中的文字

    Python實現(xiàn)識別圖片和掃描PDF中的文字

    在處理掃描的PDF和圖片時,文字信息往往無法直接編輯、搜索或復制,這給信息提取和分析帶來了諸多不便,所以本文將介紹如何使用Python及相關OCR庫實現(xiàn)對圖片和掃描PDF中文字的識別,需要的可以了解下
    2025-02-02
  • django 取消csrf限制的實例

    django 取消csrf限制的實例

    這篇文章主要介紹了django 取消csrf限制的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 淺析python中while循環(huán)和for循環(huán)

    淺析python中while循環(huán)和for循環(huán)

    在本篇文章里小編給各位整理的是關于python中while和for循環(huán)知識點詳解,有興趣的朋友們可以學習下。
    2019-11-11
  • 如何利用Python將html轉為pdf、word文件

    如何利用Python將html轉為pdf、word文件

    網(wǎng)絡上存在很多將HTML轉換為PDF的軟件和工具,但是大家都知道收費,所以下面這篇文章主要給大家介紹了關于如何利用Python將html轉為pdf、word文件的相關資料,文中通過示例代碼介紹介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • python使用requests+excel進行接口自動化測試的實現(xiàn)

    python使用requests+excel進行接口自動化測試的實現(xiàn)

    在當今的互聯(lián)網(wǎng)時代中,接口自動化測試越來越成為軟件測試的重要組成部分,本文就來介紹了python使用requests+excel進行接口自動化測試的實現(xiàn),感興趣的可以了解一下
    2023-11-11
  • pytorch機器學習softmax回歸的簡潔實現(xiàn)

    pytorch機器學習softmax回歸的簡潔實現(xiàn)

    這篇文章主要介紹了為大家介紹了pytorch機器學習中softmax回歸的簡潔實現(xiàn)方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10

最新評論