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