Python 输出视频没有声音

Python 输出视频没有声音,python,python-3.x,audio,video,moviepy,Python,Python 3.x,Audio,Video,Moviepy,当我在Moviepy中连接视频时,输出文件中没有声音,我尝试使用各种参数,但没有任何线索 这是我的代码: import moviepy.editor as mp import os dir_path = os.path.dirname(os.path.realpath(__file__)) clip1 = mp.VideoFileClip("V1.mp4") clip2 = mp.VideoFileClip(dir_path+"\\V2.mp4") clip3 = mp.VideoFileCl

当我在Moviepy中连接视频时,输出文件中没有声音,我尝试使用各种参数,但没有任何线索

这是我的代码:

import moviepy.editor as mp
import os

dir_path = os.path.dirname(os.path.realpath(__file__))
clip1 = mp.VideoFileClip("V1.mp4")
clip2 = mp.VideoFileClip(dir_path+"\\V2.mp4")
clip3 = mp.VideoFileClip(dir_path+"\\V3.mp4")

output_movie = 'new_movie1.mp4'

final_clip = mp.concatenate_videoclips([clip1,clip2,clip3])

final_clip.write_videofile(output_movie, remove_temp=False, bitrate="5000k",audio=True, audio_codec="aac",codec='mpeg4')

我尝试了
codec=“libx264”

我通过添加一个临时音频文件路径解决了这个问题。只需将最后一行代码更改为:

final_clip.write_videofile(output_movie, temp_audiofile='temp-audio.m4a', remove_temp=True, codec="libx264", audio_codec="aac")

您正在指定MoviePy可以存储其临时音频文件的位置。另外,将参数
remove_temp
更改为
True
,这样temp文件将自动清理。

我直接使用ffmpeg解决了这个问题。它使用moviepy中的临时音频文件和视频文件创建最终文件。我发现moviepy 1.0.1没有使用正确的参数调用ffmpeg,以将mp4视频的视频和音频结合起来。此链接帮助我使用ffmpeg:https://superuser.com/questions/277642/how-to-merge-audio-and-video-file-in-ffmpeg

final_clip.write_videofile(moviepy_outfile, temp_audiofile=temp_audiofile,codec="libx264",remove_temp=False,audio_codec='aac')

import subprocess as sp

command = ['ffmpeg',
           '-y', #approve output file overwite
           '-i', str(moviepy_outfile),
           '-i', str(temp_audiofile),
           '-c:v', 'copy',
           '-c:a', 'copy',
           '-shortest', 
           str(output_movie) ]

with open(ffmpeg_log, 'w') as f:
    process = sp.Popen(command, stderr=f)

我遇到了一个问题,在chrome/firefox上,在Iphone safari浏览器上播放的视频剪辑没有声音。。。添加这些参数解决了问题:)对我不起作用。