метод для склеивания аудио с видео:
def mix_audio(self):
streamer_audio = VideoFileClip("streamer" + self.id + ".mp4").audio.subclip(0, self.duration)
game_audio = VideoFileClip("game" + self.id + ".mp4").audio.subclip(0, self.duration)
player_audio = VideoFileClip("player" + self.id + ".mp4").audio.subclip(0, self.duration)
output = VideoFileClip("output" + self.id + ".avi")
output_audio = CompositeAudioClip([streamer_audio, game_audio, player_audio])
output.audio = output_audio
output.write_videofile("new" + self.id + ".avi", codec='mpeg4')
исполнение:
>>> a.mix_audio()
[MoviePy] >>>> Building video new4.avi
[MoviePy] Writing audio in new4TEMP_MPY_wvf_snd.mp3
100%|████████████████████████████████████████| 442/442 [00:01<00:00, 361.28it/s]
[MoviePy] Done.
[MoviePy] Writing video new4.avi
100%|████████████████████████████████████████▉| 600/601 [00:09<00:00, 60.65it/s]
[MoviePy] Done.
[MoviePy] >>>> Video ready: new4.avi
Т.е. он сначала записывает аудио, это происходит быстро и все ок, но потом начинает перезаписывать видео и в моих реалиях это может затянуться на очень долгое время.
(кодек видео на входе совпадает с кодеком, который я передал для записи)
Вопросы:
Может ли moviepy тупо склеить аудио и видео без рендеринга видео?
Слышал, что это может сделать ffmpeg, так ли это?