python 使用MoviePy时输出视频中没有音频

brgchamk  于 2023-10-14  发布在  Python
关注(0)|答案(4)|浏览(303)

我正在尝试使用MoviePy进行基本的视频编辑。问题是,当我保存视频时,没有声音。下面是基本代码。任何帮助超级赞赏-谢谢!

from moviepy.editor import * 
clip =VideoFileClip("video.mp4").subclip(0,5)
clip.write_videofile("audio.mp4")
3pmvbmvn

3pmvbmvn1#

据我所知,当你从一个mp4文件中提取一个VideoFileClip时,你只提取视频,而不是音频。要将音频添加到其中,您可以执行相同的操作,但使用AudioFileClip并将其添加到VideoClip:

from moviepy.editor import * 
clip = VideoFileClip("video.mp4").subclip(0,5)
audio = AudioFileClip("video.mp4")
clip.audio  = audio.cutout(5,audio.duration) #adds the audio file and removes whatever comes after 5 seconds
clip.write_videofile("audio.mp4")
u5rb5r59

u5rb5r592#

我使用了下面的解决方案,因为无论我做了什么,Movibooks都会给我错误。我使用ffmpeg命令。效果更好。

!ffmpeg -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -c:v copy -shortest output.mp4
stszievb

stszievb3#

audio_codec解决了这个问题。我认为audio_codec默认为None

final_clip.write_videofile("output/output.mp4", fps=24, audio_codec="aac")
9nvpjoqh

9nvpjoqh4#

使用子进程并调用ffmpeg。

import subprocess

# Paths to input video, input audio (MP3), and output video
input_video = "video.mp4"
input_audio = "audio.mp3"

# FFmpeg command to overwrite the audio in the video with the new audio
ffmpeg_command = f'ffmpeg -i {input_video} -i {input_audio} -c:v copy -c:a aac -strict experimental -map 0:v -map 1:a -shortest output_video.mp4'

# Run the FFmpeg command
subprocess.call(ffmpeg_command, shell=True)

相关问题