视频提取音频与添加

MoviePy是一个用于视频编辑Python库:切割、拼接、标题插入,视频合成(即非线性编辑),视频处理和自定义效果的创造。moviepy可以读写所有常见的音频和视频格式,如GIF,并且可以在Windows / Mac / Linux等不同系统上使用.

提取视频里面音频文件:

from moviepy.editor import *

def video_wav(video_path, wav_path):
    video = VideoFileClip(video_path) 
    audio = video.audio
    audio.write_audiofile(wav_path)

            if '.mp4' in fileStringB64Enc.split('/')[-1]:
                f1 = open('demo.mp4', 'wb')
                f1.write(reg.read())
                f1.close()
                video_path = 'demo.mp4'
                fileStringB64Enc = 'demo.wav'
                video_wav(video_path, fileStringB64Enc)
            else:
                print('输入的为None')
if __name__ == '__main__':

或者直接使用ffmpeg也是可以的

import os, sys
import subprocess
from scipy.io import wavfile
 
def ffmpeg_VideoToAudio(VideoPath):
    files = os.listdir(VideoPath)
    files_list = [VideoPath + f for f in files if f.endswith(('.mpg'))]
    for file in files_list:
        wavName=os.path.splitext(file)[0]
        wavNameNew=wavName
        strcmd="ffmpeg -i " + file + " -vn -ar 16000 -ac 1 -f wav " + wavNameNew + ".wav"+ " -y"
        subprocess.call(strcmd,shell=True)
 
VideoPath='./'
ffmpeg_VideoToAudio(VideoPath)

提取 demo.mp4 的音频部分,然后把提取到的音频添加到 test.mp4 里,输出新的mp4文件:

from moviepy.editor import *

videoclip_1 = VideoFileClip("demo.mp4")
videoclip_2 = VideoFileClip("test.mp4")

audio_1 = videoclip_1.audio

videoclip_3 = videoclip_2.set_audio(audio_1)

videoclip_3.write_videofile("new.mp4")

你可能感兴趣的:(python,linux)