带有音频和视频过滤器的 ffplay / ffmpeg 设置表
Posted
技术标签:
【中文标题】带有音频和视频过滤器的 ffplay / ffmpeg 设置表【英文标题】:ffplay / ffmpeg setup table with audio and video filters 【发布时间】:2016-06-29 16:16:06 【问题描述】:问候,
我想用 ffplay 创建一个表格,显示音频和视频监控,来自这样的信号:
很遗憾,我只能做视频部分:
ffplay -i bar.mxf -vf "split=4[a][b][c][d],[d]vectorscope=m=color3:g=color[dd],[a]waveform=m=1:d=0:r=0:c=7[aa],\[b]waveform=m=0:d=0:r=0:c=7[bb],[c][aa]vstack[V],[bb][dd]vstack[V2],[V][V2]hstack"
我不能把音频过滤器和视频过滤器放在一起,实际上我什至不能做音频部分,我有独立的音频过滤器但我不能把它放在一起。
SHOWVOLUME
ffplay -f lavfi "amovie=input.mka, asplit [a][out1]; [a] showvolume=f=255:b=4:w=720:h=68 [out0]"
EBUR128 响度
ffplay -f lavfi -i "amovie=55.mp4,ebur128=video=1:meter=18 [out0][out1]"
AVECTORSCOPE
ffplay -f lavfi "amovie=input.mp3, asplit [a][out1];
[a] avectorscope=zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7 [out0]"
如何在一行ffplay中设置上表(音视频)?
或者,我怎样才能在一行 ffplay 中只设置音频部分?
非常感谢
【问题讨论】:
【参考方案1】:这是单个 ffplay 命令中的全部要求:
ffplay -f lavfi
"amovie=in.mp4,asplit=3[sv][eb][av];
[sv]showvolume=b=4:w=720:h=68[sv-v];
[eb]ebur128=video=1:size=720x540:meter=18[eb-v][out1];
[av]avectorscope=s=720x540:zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7[av-v];
[sv-v][eb-v][av-v]vstack=3[1c];
movie=in.mp4,split=4[v][wf][wfc][vs];
[wf]waveform=m=1:d=0:r=0:c=7[wf-vus];
[wf-vus][v]scale2ref=iw:1220-ih[wf-va][sig];
[wf-va]setsar=1[wf-v];
[wfc]waveform=m=0:d=0:r=0:c=7,scale=610x610,setsar=1[wfc-v];
[vs]vectorscope=m=color3:g=color,scale=610x610,setsar=1[vs-v];
[sig][wf-v]vstack[2c];
[wfc-v][vs-v]vstack[3c];
[1c][2c][3c]hstack=3,scale=1280:-1[out0]"
堆栈过滤器的基本原理是它们堆叠的维度应该相同,因此已根据需要应用了缩放过滤器。 scale2ref 用于中间波形窗口,以便[2c]
的高度与[1c]
的高度匹配,当它们水平堆叠时。您必须确保视频的高度小于 1220。如果没有,请缩放 [v]
并将其提供给 scale2ref。
我建议您在过滤器和刻度中提供较小的尺寸,否则您将无法接近实时速度。
【讨论】:
Awesome Mulvya,不幸的是,正如你所说,ffplay 存在性能问题以上是关于带有音频和视频过滤器的 ffplay / ffmpeg 设置表的主要内容,如果未能解决你的问题,请参考以下文章