python合并视频和音频时候出问题了
本帖最后由 kognzhezhi 于 2023-10-15 09:33 编辑下载的音频和视频,合并完视频播放的时候 有的视频播放一会画面就卡住了,但是声音还是有,这种情况是怎么回事呢?
当时合并了好几个视频,其他的视频可以画面和声音同步,只有几个会出现上面的情况,我也分别检查了合并之前的视频和音频都没有什么问题
下面是合并代码
video_clip=VideoFileClip(f'd:/video_temp/{i}.m4s')
audio_clip=AudioFileClip(f'd:/audio_temp/{i}.mp3')
final_clip=video_clip.set_audio(audio_clip)
final_clip.write_videofile(f'd:/video/{i}.mp4')
print(f"{i}+'视频合并完成'") 本帖最后由 cxb2468 于 2023-7-20 07:56 编辑
afx.audio_loop( audio_clip, duration=video_clip.duration)
audio_clip_add = CompositeAudioClip([video_audio_clip,audio)
视频时间和音频时间 同步了吗?Moviepy 当视频画面卡住而声音仍然有的情况,可能是由于视频帧率与音频采样率不匹配引起的。
视频通常有一个固定的帧率,而音频则有一个固定的采样率。如果视频和音频的帧率或采样率不一致,就会导致播放时出现画面卡顿的情况。这可能会发生在合并多个视频时,因为不同的视频可能来自不同的源,它们的帧率和采样率可能会有所不同。
为了解决这个问题,您可以尝试使用MoviePy库中的`set_fps`函数来设置视频的帧率,或使用`set_fps`函数来设置音频的采样率,使它们保持一致。具体做法如下:
```python
from moviepy.editor import *
# 读取视频和音频文件
video_clip = VideoFileClip(f'd:/video_temp/{i}.m4s')
audio_clip = AudioFileClip(f'd:/audio_temp/{i}.mp3')
# 设置视频帧率和音频采样率一致
video_clip = video_clip.set_fps(audio_clip.fps)
# 合并视频和音频
final_clip = video_clip.set_audio(audio_clip)
# 保存最终合成的视频文件
final_clip.write_videofile(f'd:/video/{i}.mp4')
print(f"{i}+'视频合并完成'")
```
通过将视频的帧率设置为音频的采样率,或将音频的采样率设置为视频的帧率,可以确保视频和音频的时长一致,从而避免画面卡顿的问题。
如果问题仍然存在,请确保视频和音频的格式与编码没有问题,并且视频文件本身没有损坏。您还可以尝试使用其他视频播放器来测试是否有相同的问题。有时候视频播放器本身可能会导致画面卡顿的问题。 cxb2468 发表于 2023-7-20 07:52
afx.audio_loop( audio_clip, duration=video_clip.duration) 视频时间和音频时间 同步了吗?
没有哎,我试试这个代码 低调到没话说 发表于 2023-7-20 07:56
当视频画面卡住而声音仍然有的情况,可能是由于视频帧率与音频采样率不匹配引起的。
视频通常有一个固定 ...
好的谢谢,我试试 低调到没话说 发表于 2023-7-20 07:56
当视频画面卡住而声音仍然有的情况,可能是由于视频帧率与音频采样率不匹配引起的。
视频通常有一个固定 ...
这是AI回答的吧~~{:1_918:} kognzhezhi 发表于 2023-7-20 08:14
好的谢谢,我试试
这,说了个寂寞 XiaoZouYu 发表于 2023-7-20 09:39
这,说了个寂寞
他这个说的不对么 别用python 用ffmpeg 合 九楼的老哥说的是一个好的办法,可以用python下载视频,但是合并视频python总会出问题,建议用ffmpeg,可以在python中用subprocess.run()调用
页:
[1]
2