首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用Vapoursynth向FFMPEG发送音频?

如何用Vapoursynth向FFMPEG发送音频?
EN

Stack Overflow用户
提问于 2022-01-04 21:46:52
回答 1查看 429关注 0票数 0

Vapoursynth在9月份正式增加了音频支持,并在此之前进行了测试。由于它现在支持音频,我希望将一些老的Avisynth项目转换为Vapoursynth。部分原因在于我对Python的熟悉程度,部分原因是在我选择的linux发行版中使用QTGMC建立Vapoursynth要容易得多。

无论如何,我的问题是,当我运行脚本并将结果传输到FFMPEG时,FFMPEG只获取视频流,而不是音频流。从脚本的角度来看,看起来我应该做好所有的事情,但是关于处理音频的文档太少了,我无法确定。我倾向于使用vspipe命令来解决一个问题,但我不确定需要做些什么才能说“这条流中有音频”

下面是脚本,后面跟着vspipe/ffmpeg命令:

代码语言:javascript
复制
import vapoursynth as vs
import havsfunc as haf
import math
core = vs.core

# Assume NTSC standard framerate and 48kHz as default
def framesToSamples(frameNum, framerate=29.97, samplerate=48000):
    return math.floor((samplerate/framerate)*frameNum)  

video = core.ffms2.Source(r'Home Movies 1 - 1989.avi', format=vs.YUV422P8)
audio = core.bas.Source(r'Home Movies 1 - 1989.avi', track=1)

video = video[71:217640]
audio = audio[framesToSamples(71):framesToSamples(217640)]

video = core.cnr2.Cnr2(video,"ooo",8,16,191,100,255,32,255,False) #VHS
video = haf.QTGMC(video, Preset="Very Slow", EZDenoise=2.0, TrueMotion=True, ChromaMotion=True, TFF=False)
video = core.std.Crop(video,4,0,4,6)
video = core.resize.Lanczos(video, 352, 240, format=vs.YUV422P10)

video.set_output(0)
audio.set_output(1)

以及转换的命令:

代码语言:javascript
复制
vspipe -c y4m "Home Movies 1 - 1989.vpy" - | ffmpeg -i pipe: -c:v libx265 -preset fast -crf 24 -c:a libopus -b:a 96k -ac 1 Test.mkv
EN

回答 1

Stack Overflow用户

发布于 2022-01-05 12:44:52

据我所见,vspipe可以选择一个输出流,但不能同时输出。结果就是你不得不做这样的事情:

代码语言:javascript
复制
vspipe -o 1 -c wav "Home Movies 1 - 1989.vpy" - | ffmpeg -i pipe: -c:a libopus -b:a 96k -ac 1 audio.opus
vspipe -o 0 -c y4m "Home Movies 1 - 1989.vpy" - | ffmpeg -i pipe: -i audio.opus -c:v libx265 -preset ultrafast -crf 24 -c:a copy "Home Movies 1 - 1989.mkv"
rm audio.opus

第一次运行将产生音频并将其放入临时文件。然后,第二次运行处理视频并将音频复制到最后的视频文件中。一旦完成,就可以删除临时音频文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70585437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档