gpt4 book ai didi

python ffmpeg : overlaying videos is dropping all audio

转载 作者:行者123 更新时间:2023-11-28 18:03:50 24 4
gpt4 key购买 nike

我正在使用 ffmpeg-python ( source ) 创建效果,您可以在其中添加模糊背景以填充高垂直视频的两侧,如下所示:blurred video background

问题是输出没有附加音频。由于剪辑相同,我想在最终输出中保留其中一个剪辑的音频。我怎样才能保留音频? (但是,我不想叠加两者的音频并获得回声效果!)

这是我正在使用的函数:

import ffmpeg
def add_blurred_bg():
HEIGHT = 720
WIDTH = 1280
in_file = ffmpeg.input('input.mp4')
probe = ffmpeg.probe('input.mp4')
video_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'video'), None)
iw=int(video_stream['width'])
ih=int(video_stream['height'])
nw = HEIGHT*iw/ih
(
ffmpeg
.overlay(
in_file.filter('scale', WIDTH, -2).crop(0,(WIDTH*HEIGHT/nw-HEIGHT)/2,WIDTH,HEIGHT).filter('gblur', sigma=40),
in_file.filter('scale', -2, HEIGHT),
x=(WIDTH-nw)/2
)
.output('output.mp4')
.run()
)

最佳答案

您是否必须保持音频风格?你能把音频和视频混在一起吗?如果是这样,这就是一个困惑但有效的示例:

import ffmpeg
import os

def add_blurred_bg():
HEIGHT = 720
WIDTH = 1280
inp = 'input.mp4'
os.system("ffmpeg -i " + inp + " -f mp3 -ab 192000 -vn music.mp3")
print("extracting audio...")
in_file = ffmpeg.input(inp)
probe = ffmpeg.probe('input.mp4')
video_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'video'), None)
iw=int(video_stream['width'])
ih=int(video_stream['height'])
nw = HEIGHT*iw/ih
(
ffmpeg
.overlay(
in_file.filter('scale', WIDTH, -2).crop(0,(WIDTH*HEIGHT/nw-HEIGHT)/2,WIDTH,HEIGHT).filter('gblur', sigma=40),
in_file.filter('scale', -2, HEIGHT),
x=(WIDTH-nw)/2
)
.output('outputPartial.mp4')
.run()
)
print("bluring...")
os.system("ffmpeg -i outputPartial.mp4 -i music.mp3 -shortest -c:v copy -c:a aac -b:a 256k output.mp4")
print("mixing...")
os.remove("outputPartial.mp4")
os.remove("music.mp3")
print("cleaning up...")
print("done!")

我不知道你为什么会遇到这个问题,但这里有一个解决方法。

第 1 步:提取音乐

第 2 步: 模糊视频

第 3 步:混合音频和视频

第 4 步:清理

关于 python ffmpeg : overlaying videos is dropping all audio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54738913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com