首页 > 解决方案 > ffmpeg - 如何在同时录制窗口应用程序时过滤视频

问题描述

我在录制 Window 应用程序并与其他过滤器视频一起过滤(叠加、音频混合...)时遇到问题。

这段代码完美地工作:

ffmpeg -rtbufsize 1500M -f dshow -i audio="virtual-audio-capturer" -f gdigrab -framerate 30 -draw_mouse 0 -i title="Main" -vf crop=850:480:156:100 -pix_fmt yuv420p -profile:v baseline -y ok.mp4   (With Main is my Application)

但是下面的代码没有:

ffmpeg  -rtbufsize 1500M -f dshow -y -i audio="virtual-audio-capturer" -f gdigrab -framerate 30 -draw_mouse 0 -i title="Main" -vf crop=850:480:156:100 -pix_fmt yuv420p -profile:v baseline -stream_loop 999 -i "filter/filter.mp4" -filter_complex "[2:v]scale=385:216, setdar=dar=16/9[v1]; [2:v]scale=385:216, setdar=dar=16/9[v2]; [v1][v2]blend=shortest=1:all_opacity=1[v3]; movie=filter/nds_bg.mp4:loop=999,setpts=N/(FRAME_RATE*TB), scale=640:360[v4] ;[v4][v3]overlay=shortest=1:x=20:y=130;[2:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,asetrate=8.5/10*44100,atempo=10/8.5,lowpass=f=2500,highpass=f=400,volume
=3,bass=g=-30,equalizer=f=10.5:width_type=o:width=1:g=-30, equalizer=f=31.5:width_type=o:width=1:g=-
30,equalizer=f=63:width_type=o:width=1:g=-10, equalizer=f=125:width_type=o:width=1:g=-20,equalizer=f=250:width_type=o:width=1:g=-1.5,equalizer=f=500:width_type=o:width=1:g=-20,equalizer=f=1000:width_type=o:width=1:g=-20,equalizer=f=8000:width_type=o:width=3:g=1,equalizer=f=16000:width_type=o:width=3:g=1" -vcodec libx264 -pix_fmt yuv420p -r 26 -g 30 -b:30 
800k -shortest -acodec libmp3lame -b:a 128k -preset:v ultrafast -ar 44100 -f flv -bufsize 3000k -s 640x360 out.mp4

我认为这段代码需要先输出到视频

ffmpeg -rtbufsize 1500M -f dshow -y -i audio="virtual-audio-capturer" -f gdigrab -framerate 30 -draw_mouse 0 -i title="Main" -vf crop=850:480:156:100 -pix_fmt yuv420p -profile:v baseline

请告诉我如何合并这些代码或任何解决方案。太感谢了!

标签: filtermergeffmpegrecord

解决方案


推荐阅读