Moviepy:在Heroku上运行时,书面视频文件中没有音频 [英] Moviepy: no audio in written videofile when running on heroku
问题描述
我正在用moviepy制作视频.在本地创建的最终视频文件具有音频.当我在heroku上运行相同的代码时,最终的视频没有音频.
I am making videos with moviepy. Created locally, the final videofile has audio. When I run the same code on heroku, the final video has no audio.
首先,我认为不使用heroku上的/tmp 目录可能是问题所在.我还按照建议将音频参数添加到 write_videofile .两者都没有解决问题.
First, I thought not using the /tmp directory on heroku might be the issue. I also followed advice to add audio parameters to write_videofile. Both didn't solve the problem.
我正在使用heroku ffmpeg buildpack .
I am using the 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.
感谢您的帮助!
推荐答案
终于找到了解决方案!
我只是派生了相同的buildpack,并将DOWNLOAD变量更改为ffmpeg版本4.1.3(与本地主机上安装的版本相同). 只需在您的终端上运行以下命令:
I simply forked the same buildpack and changed the DOWNLOAD variable to ffmpeg version 4.1.3 (same version installed on my localhost). Just run this command on your terminal:
heroku buildpacks:add https://github.com/merwane/heroku-buildpack-ffmpeg-latest.git
这篇关于Moviepy:在Heroku上运行时,书面视频文件中没有音频的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!