怎麼把多張照片合成背景音樂?實現的思路:将準備好的圖片通過opencv讀取出來,并将其設置好幀數等參數後合成為無聲視頻最後通過moviepy編輯視頻将背景音樂加入到視頻中,今天小編就來說說關于怎麼把多張照片合成背景音樂?下面更多詳細答案一起來看看吧!
實現的思路:将準備好的圖片通過opencv讀取出來,并将其設置好幀數等參數後合成為無聲視頻。最後通過moviepy編輯視頻将背景音樂加入到視頻中。
開始之前還是需要說明一下非标準庫的來源,因為有些庫的名稱和需要導入模塊的名稱不一定就是一樣的。
import os # python标準庫,不需要安裝,用于系統文件操作相關
import cv2 # python非标準庫,pip install opencv-python 多媒體處理
from PIL import Image # python非标準庫,pip install pillow,圖像處理
import moviepy.editor as mov # python非标準庫,pip install moviepy,多媒體編輯
要使用到什麼模塊已經叙述了,若是沒有的話安裝一下就可以了。接下來第一步就是将圖片素材準備好來編寫如何将圖片轉換成視頻。
def image_to_video(image_path, media_path):
'''
圖片合成視頻函數
:param image_path: 圖片路徑
:param media_path: 合成視頻保存路徑
:return:
'''
# 獲取圖片路徑下面的所有圖片名稱
image_names = os.listdir(image_path)
# 對提取到的圖片名稱進行排序
image_names.sort(key=lambda n: int(n[:-4]))
# 設置寫入格式
fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', 'V')
# 設置每秒幀數
fps = 2 # 由于圖片數目較少,這裡設置的幀數比較低
# 讀取第一個圖片獲取大小尺寸,因為需要轉換成視頻的圖片大小尺寸是一樣的
image = Image.open(image_path image_names[0])
# 初始化媒體寫入對象
media_writer = cv2.VideoWriter(media_path, fourcc, fps, image.size)
# 遍曆圖片,将每張圖片加入視頻當中
for image_name in image_names:
im = cv2.imread(os.path.join(image_path, image_name))
media_writer.write(im)
print(image_name, '合并完成!')
# 釋放媒體寫入對象
media_writer.release()
print('無聲視頻寫入完成!')
向合成後的無聲視頻中添加背景音樂,背景音樂可以選擇從另外一段視頻中提取音頻。最後将提取到的音頻文件添加到該無聲視頻中。
def set_music():
'''
合成視頻設置背景音樂函數
:return:
'''
print('開始添加背景音樂!')
# 初始化視頻文件對象
clip = mov.VideoFileClip('/media.mp4')
# 從某個視頻中提取一段背景音樂
audio = mov.AudioFileClip('/source.mp4').subclip(0, 83)
# 将背景音樂寫入.mp3文件
audio.write_audiofile('/background.mp3')
# 向合成好的無聲視頻中添加背景音樂
clip = clip.set_audio(audio)
# 保存視頻
clip.write_videofile('/media.mp4')
print('背景音樂添加完成!')
# image_to_video('/images/', '/media.mp4')
set_music()
上述代碼塊已經過素材完成測試,運行沒有任何報錯直接copy使用即可。
最後,分享一下我從視頻中提取出來的輕音樂聽起來還挺好聽。
background音頻:00:0001:23
點擊下面的連接,查看曆史文章
如何實現根據照片獲取地理位置及如何防禦照片洩漏地理位置!python如何實現網絡測試,了解一下speedtest-cli...
模型已經寫好了,怎麼表白就看你的了!
又是櫻花盛開的季節,使用小烏龜來畫一顆櫻花樹吧!Python 讀取PDF文件為文本字符并轉換為音頻...python 獲取最新房價信息-以北京房價為例
辦公自動化:Image圖片轉換成PDF文檔存儲...python做一個微型美顔圖片處理器,十行代碼即可完成...用python做一個文本翻譯器,自動将中文翻譯成英文,超方便的!
python 表情包下載器,輕松下載上萬個表情包、鬥圖不用愁...小王,給這2000個客戶發一下節日祝福的郵件...python 一行命令開啟網絡間的文件共享...
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!