gpt4 book ai didi

ffmpeg showwaves - 更改图像顶部波形的颜色

转载 作者:行者123 更新时间:2023-12-04 23:05:13 26 4
gpt4 key购买 nike

我需要 ffmpeg 的帮助。

我写了这段代码:

@echo off  
for %%F in (*.opus *.ogg) do
(
ffmpeg -y -i "%%F" -loop 1 -i "default.jpg" -filter_complex "
[0:a]showwaves=s=2560x1440:mode=cline:r=30,colorkey=0x000000:0.01:0.1,format=yuva420p[v];
[1:v][v]overlay[outv]" -map "[outv]" -pix_fmt yuv420p -map 0:a -vcodec libvpx-vp9 -lossless 1 -speed 8 -acodec copy -shortest "%%~nF.webm"
)

它的作用是,对于每个 .opus 或 .ogg 音频文件,它将输出一个带有 default.jpg 背景图像(全白)的视频,并在其顶部显示一个波形,并播放音频。
问题是,我会将波形的颜色更改为黑色,但即使在阅读文档后我也不明白 colorkey 的工作原理......

基本上,我想获得这样的东西(但波形为黑色): https://www.youtube.com/watch?v=k9arneFijG8

提前致谢。

最佳答案

您可以使用 colors showwaves 中的选项筛选:

ffmpeg -i input.opus -loop 1 -framerate 30 -i default.jpg -filter_complex "[0:a]aformat=channel_layouts=mono,showwaves=s=2560x1440:mode=cline:r=30:colors=black[v];[1:v][v]overlay=format=auto:x=(W-w)/2:y=(H-h)/2,format=yuv420p[outv]" -map "[outv]" -map 0:a -c:v libvpx-vp9 -c:a copy -shortest output.webm
或者,既然你说 default.jpg完全是白色的,你可以让 ffmpeg 生成白色背景,而不是使用 color源过滤器:
ffmpeg -y -i input.opus -f lavfi -i color=size=2560x1440:rate=30:color=white -filter_complex "[0:a]aformat=channel_layouts=mono,showwaves=size=2560x1440:mode=cline:rate=30:colors=black[v];[1:v][v]overlay=format=auto:x=(W-w)/2:y=(H-h)/2,format=yuv420p[outv]" -map "[outv]" -map 0:a -c:v libvpx-vp9 -c:a copy -shortest output.webm
  • color=size=2560x1440:rate=30:color=white制作一个 2560x1440 的白色背景,帧速率为 30。
  • aformat=channel_layouts=mono使用 aformat 制作音频单声道在将其提供给 showwaves 之前进行过滤,以便每个 channel 有一个组合波形而不是一个波形。这不会影响将放在输出文件中的音频。
  • [1:v][v]overlay=format=auto:x=(W-w)/2:y=(H-h)/2overlay筛选。它将使用 -i color ( [1:v] ) 作为背景和前景是来自名为 [v] 的 aformat + showwaves 过滤器链(通过逗号连接的一组线性过滤器的统称)的输出.不喜欢的可以随便起个名字[v] . format叠加选项将选择最好看的色彩空间,x=(W-w)/2以 x 轴为中心,y=(H-h)/2以 y 轴为中心。
  • format=yuv420pformat过滤并使过滤器图形的输出( 所有过滤器的 的统称)为 yuv420p 像素格式,以实现播放兼容性。虽然它具有相同的名称,但这是一个 过滤器 并且不同于 format 选项 在覆盖过滤器中。
  • [outv]是我给所有过滤器的最终输出的任意名称。
  • -map "[outv]" -map 0:a告诉 ffmpeg 只包含过滤器输出和来自 input.opus 的音频到输出文件中。
  • 关于ffmpeg showwaves - 更改图像顶部波形的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61111568/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com