ffplay / ffmpeg setup table with audio and video filters

不羁的心 提交于 2019-12-07 16:12:29

Here's the entire requirement in a single ffplay command:

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]"

The basic principle of the stack filters is that the dimension along which they are stacked should be the same, so scale filters have been applied as needed. The scale2ref is used for the middle waveform window so that the height of the [2c] matches that of [1c], when they are horizontally stacked. You'll have to make sure that the video's height is less than 1220. If not, scale [v] and feed that to scale2ref.

I suggest you supply smaller sizes in filters and scale, else you won't get close to realtime speed.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!