我正在尝试组合一个视频(没有声音)和它的单独的音频文件
我尝试过ffmpeg ffmpeg -i video.mp4 -i audio.mp4 -c copy output.mp4,它工作得很好。
我正在尝试从ffmpeg-python获得同样的输出,但没有成功。有关于如何做到这一点的帮助吗?
发布于 2019-12-19 06:40:06
我也有同样的问题。
以下是在您的环境中拥有pip install ffmpeg-python后的python代码:
import ffmpeg
input_video = ffmpeg.input('./test/test_video.webm')
input_audio = ffmpeg.input('./test/test_audio.webm')
ffmpeg.concat(input_video, input_audio, v=1, a=1).output('./processed_folder/finished_video.mp4').run()v=1:设置输出视频流的数量,也就是每段的视频流数量。默认值为1。
a=1:设置输出音频流的数量,也就是每段音频流的数量。默认值为0。
有关ffmpeg.concat的详细信息,请查看:https://ffmpeg.org/ffmpeg-filters.html#concat。
您可以在此处查看更多示例:https://github.com/kkroening/ffmpeg-python/issues/281
希望这能有所帮助!
PS。如果您正在使用MacOS,并且在运行代码时出现错误:FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg',那么只需在您的终端中使用brew install ffmpeg即可。
发布于 2019-12-15 20:40:12
您可以使用subprocess
import subprocess
subprocess.run("ffmpeg -i video.mp4 -i audio.mp4 -c copy output.mp4")您还可以使用fstrings将变量名用作输入:
videofile = "video.mp4"
audiofile = "audio.mp4"
outputfile = "output.mp4"
codec = "copy"
subprocess.run(f"ffmpeg -i {videofile} -i {audiofile} -c {codec} {outputfile}")发布于 2020-09-18 18:46:09
import ffmpeg
input_video = ffmpeg.input("../resources/video_with_audio.mp4")
added_audio = ffmpeg.input("../resources/dance_beat.ogg").audio.filter('adelay', "1500|1500")
merged_audio = ffmpeg.filter([input_video.audio, added_audio], 'amix')
(ffmpeg
.concat(input_video, merged_audio, v=1, a=1)
.output("mix_delayed_audio.mp4")
.run(overwrite_output=True))您可以查看此链接https://github.com/kkroening/ffmpeg-python/issues/281#issuecomment-546724993
https://stackoverflow.com/questions/56973205
复制相似问题