python 音頻和視頻合并自動(dòng)裁剪
環(huán)境
python3.11,pycharm
python對(duì)于音頻和視頻的合并以及自動(dòng)裁剪,方法(庫(kù))很多,下面是常用的幾個(gè)方法
方法
方法1:使用moviepy庫(kù)合并視頻音頻
如果沒(méi)有安裝,可以使用pip安裝:
pip install moviepy
使用moviepy合并視頻和音頻
from moviepy.editor import AudioFileClip, VideoFileClip, CompositeVideoClip
def merge_and_trim_audio_video(video_file, audio_file, output_file):
# 讀取視頻和音頻文件
video = VideoFileClip(video_file)
audio = AudioFileClip(audio_file)
# 獲取視頻和音頻的時(shí)長(zhǎng)
video_duration = video.duration
audio_duration = audio.duration
# 如果音頻比視頻長(zhǎng),裁剪音頻
if audio_duration > video_duration:
audio = audio.subclip(0, video_duration)
# 如果視頻比音頻長(zhǎng),你可能想要重復(fù)音頻或保持視頻靜音,這里我們選擇裁剪視頻
elif video_duration > audio_duration:
video = video.subclip(0, audio_duration)
# 合并音頻和視頻
final_clip = video.set_audio(audio)
# 寫(xiě)入輸出文件
final_clip.write_videofile(output_file, codec='libx264', audio_codec='aac')
# 使用示例
merge_and_trim_audio_video(r'D:\test\video.mp4', r'D:\test\眉飛色舞.mp3', r'D:\test\output.mp4')
期間如果碰到生成臨時(shí)文件無(wú)權(quán)限寫(xiě)c盤(pán)問(wèn)題,使用管理員權(quán)限重新開(kāi)啟pycharm即可
方法2:使用ffmpeg-python庫(kù)裁剪視頻
import ffmpeg # 裁剪視頻的命令 input_file = r'D:\test\output.mp4' output_file = r'D:\test\output-2.mp4' start_time = 10 # 裁剪開(kāi)始時(shí)間(秒) duration = 20 # 裁剪持續(xù)時(shí)間(秒) ffmpeg.input(input_file, ss=start_time).output(output_file, t=duration).run()
這里是生成一個(gè)從10秒到20秒的新視頻
方法3:使用pydub庫(kù)裁剪音頻
from pydub import AudioSegment
# 加載音頻文件
audio = AudioSegment.from_file("r'D:\test\眉飛色舞.mp3'")
# 裁剪音頻
start_time = 10 # 開(kāi)始裁剪的時(shí)間(毫秒)
duration = 2000 # 裁剪持續(xù)時(shí)間(毫秒)
audio = audio[start_time:start_time+duration]
# 導(dǎo)出裁剪后的音頻
audio.export("r'D:\test\眉飛色舞-cut.mp3'", format="mp3")到此這篇關(guān)于python 音頻和視頻合并自動(dòng)裁剪 的文章就介紹到這了,更多相關(guān)python 音頻和視頻合并裁剪 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python寫(xiě)文件時(shí)覆蓋原來(lái)的實(shí)例方法
這篇文章主要介紹了python寫(xiě)文件時(shí)覆蓋原來(lái)的實(shí)例方法,對(duì)此有興趣的朋友們可以參考下。2020-07-07
Python實(shí)戰(zhàn)案例之可增刪改查的員工管理系統(tǒng)
本實(shí)戰(zhàn)案例主要對(duì)MySQL進(jìn)行一些基本操作,通過(guò)完成本實(shí)驗(yàn)任務(wù),要求學(xué)生熟練掌握MySQL的增刪改查,并對(duì)MySQL的增刪改查基本操作進(jìn)行管理員工的信息,需要的朋友跟著小編往下看吧2021-10-10
用python基于appium模塊開(kāi)發(fā)一個(gè)自動(dòng)收取能量的小助手
大家都有了解過(guò)螞蟻森林吧,本篇文章帶給你自動(dòng)收取螞蟻森林能量的思路與方法,基于appium模塊開(kāi)發(fā)一個(gè)自動(dòng)收取能量的小助手,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的價(jià)值2021-09-09
詳解Python+Turtle繪制奧運(yùn)標(biāo)志的實(shí)現(xiàn)
turtle庫(kù)是Python標(biāo)準(zhǔn)庫(kù)之一,是入門(mén)級(jí)的圖形繪制函數(shù)庫(kù)。本文就將利用turtle庫(kù)繪制一個(gè)奧運(yùn)標(biāo)志—奧運(yùn)五環(huán),感興趣的可以學(xué)習(xí)一下2022-02-02
Python爬蟲(chóng)之BeautifulSoup的基本使用教程
Beautiful Soup提供一些簡(jiǎn)單的、python式的函數(shù)用來(lái)處理導(dǎo)航、搜索、修改分析樹(shù)等功,下面這篇文章主要給大家介紹了關(guān)于Python爬蟲(chóng)之BeautifulSoup的基本使用教程,需要的朋友可以參考下2022-03-03
Python循環(huán)語(yǔ)句中else的用法總結(jié)
這篇文章給大家整理了關(guān)于Python中循環(huán)語(yǔ)句中else的用法,包括常規(guī)的 if else 用法、if else 快捷用法、與 for 關(guān)鍵字一起用、與 while 關(guān)鍵字一起用以及與 try except 一起用的用法總結(jié),有需要的朋友們可以參考借鑒。2016-09-09
python使用rsa非對(duì)稱加密過(guò)程解析
這篇文章主要介紹了python使用rsa非對(duì)稱加密過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12

