将音频添加到剪辑中



我有以下代码,并且在视频输出中没有接收到声音。我用的是MoviePy软件包。

from moviepy.editor import *  
picture = VideoFileClip("/Users/name/Desktop/trial.jpg", audio=False).set_duration(50)
txt_clip = TextClip("Hey",fontsize = 150, color='white')
txt_clip = txt_clip.set_pos('center').set_duration(10)
audio = AudioFileClip("/Users/name/Desktop/music.mp3").subclip(0,50)
video_with_new_audio = picture.set_audio(audio)
final_video = CompositeVideoClip([video_with_new_audio,txt_clip])
final_video.write_videofile("trial.mp4")

可能是什么问题?:c

可能是缺少MP3编解码器吗;LAME";等你的代码在Windows:上运行

from moviepy.editor import *  
picture = VideoFileClip("img.jpg", audio=False).set_duration(20)
txt_clip = TextClip("Hey",fontsize = 150, color='white')
txt_clip = txt_clip.set_pos('center').set_duration(10)
audio = AudioFileClip(r"C:UsersPublicMusicSample MusicKalimba.mp3").subclip(0,20)
video_with_new_audio = picture.set_audio(audio)
final_video = CompositeVideoClip([video_with_new_audio,txt_clip])
final_video.write_videofile("trial.mp4")

这就是输出:trial.mp4

你能运行ffprobe trial.mp4ffmpeg -i trial.mp4并显示输出吗?

这是ffprobe在我的视频上的输出:

ffprobe z:trial.mp4 
(...)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'z:trial.mp4':
Metadata:
major_brand     : isom
minor_version   : 512
compatible_brands: isomiso2avc1mp41
encoder         : Lavf58.29.100
Duration: 00:00:20.04, start: 0.000000, bitrate: 236 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 822x556,
100 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name    : VideoHandler
Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 12
7 kb/s (default)
Metadata:
handler_name    : SoundHandler

这可能是相关的,ffmpeg设置和moviepy的版本:在moviepy 中没有连接剪辑的音频

对于许多有这个问题的人,我发现,你只需要添加音频编解码器。

result.write_videofile("output.mp4",fps=24,audio_dec='aac'(

最新更新