audio - 带有音频和视频过滤器的 ffplay / ffmpeg
问题描述
我试图为 ffplay 修改一个已经存在的代码几个小时,但我无法得到它。我找不到垂直和水平堆叠参数的手册。当我尝试将它用于我的需要时,我总是会遇到无效的参数错误。所以我在这里寻求帮助。
我的想法是基于:ffplay / ffmpeg setup table with audio and video filters
我修改了一点但想进一步修改但没有运气的工作代码是:
ffplay -f lavfi \
"amovie=in.mp4,asplit=3[sv][eb][av]; \
[sv]showvolume=b=4:f=0:ds=log:c=VOLUME: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=1920:-1[out0]"
我想把它改成那种风格——我还不能直接在这个问题中发布图片,所以我需要链接它:
我想让视频以 1920x1080 显示(保持纵横比,必要时缩小比例)。
解决方案
利用
ffplay -f lavfi \
"amovie=in.mp4,asplit=3[sv][eb][av]; \
[sv]showvolume=b=4:f=0:ds=log:c=VOLUME:w=400:h=200[sv-v]; \
[eb]ebur128=video=1:size=800x800:meter=18[eb-v][out1]; \
[eb-v]scale=400x400[eb-v]; \
[av]avectorscope=s=400x480: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,scale=-1:1080[v]; \
[1c][v]hstack=2[out0]"
音频假定为单声道;对于 N 个频道,将 showvolume 更改h
为 N/200。
推荐阅读
- ios - 在 Swift iOS 中创建输入管道时应用程序崩溃(信号 13)
- php - Zend_Mail 和 Mailtrap:错误的发件人地址
- python - 如何使用 pytest aiohttp 在 python 中运行异步 http 测试
- c# - 启动/停止“服务”任务的类的异步/等待版本是什么?
- c# - 将 Json 反序列化为 C# 对象
- reactjs - proxy_pass 从通配符子域通过 NGINX
- google-cloud-platform - GCLOUD:获取快照列表的名称
- javascript - 使用javascript为跨源iframe表单输入设置值属性
- reactjs - 反应 - onClick '预期的功能,收到的对象'
- ios - 尝试在我的项目中使用 UIKit 但出现错误