我正在用moviepy制作视频。在本地创建的最终视频文件具有音频。当我在heroku上运行相同的代码时,最终的视频没有音频。
首先,我认为不使用heroku上的 / tmp 目录可能是问题所在。我还按照建议将音频参数添加到 write_videofile 。两者都没有解决问题。
我正在使用heroku ffmpeg buildpack。
#Make soundtrack
soundtrack = AudioFileClip('https://storage.googleapis.com/ABC/music.mp3')
soundtrack = soundtrack.set_duration(final_clip.duration)
#Add soundtrack
final_clip = final_clip.set_audio(soundtrack)
#Write videofile
final_clip.write_videofile('tmp/video/combined_movie.mp4',
codec='libx264',
audio_codec='aac',
temp_audiofile='tmp/video/soundtrack-temp-audio.m4a',
remove_temp=False,
fps=10)
#Storing on google cloud
try:
upload_blob('ABC','tmp/video/combined_movie.mp4','tmp/video/combined_movie.mp4')
except:
print('error when uploading final video file to google storage.')
在控制台中看到:
Moviepy - Building video tmp/video/combined_movie.mp4.
MoviePy - Writing audio in %s
MoviePy - Done.
Moviepy - Writing video tmp/video/combined_movie.mp4
Moviepy - Done !
Moviepy - video ready tmp/video/combined_movie.mp4
Google Cloud Storage upload successful.
感谢您的帮助!
答案 0 :(得分:1)
终于找到了解决方法!
我只是派生了相同的buildpack,并将DOWNLOAD变量更改为ffmpeg版本4.1.3(与本地主机上安装的版本相同)。 只需在终端上运行以下命令:
heroku buildpacks:add https://github.com/merwane/heroku-buildpack-ffmpeg-latest.git