Showfreqs和showwaves在背景图像?

时间:2015-12-01 20:33:27

标签: linux ffmpeg

我想让FFMPEG将我的播客音频导出到我可以上传到视觉上有趣的youtube的文件中。

目前我使用的是以下一段代码,我并未完全掌握:

    <packages>
      <package id="Microsoft.Bcl" version="1.1.10" targetFramework="net45" />
      <package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net45" />
      <package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="net45" />
      <package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net45" />
      <package id="NUnit" version="3.0.0" targetFramework="net45" />
      <package id="Xamarin.UITest" version="1.2.0" targetFramework="net45" />
    </packages>

我想要做的是设置一个(品牌)背景图像,并在上半部分上显示showfreqs,并在下半部分上显示showwaves。

这可能,如果可以的话,你能给我一个详细的例子吗?

(我在使用arch linux)

1 个答案:

答案 0 :(得分:6)

enter image description here

ffmpeg -i music.mp3 -loop 1 -i image.jpg -filter_complex \
"[0:a]showfreqs=mode=line:ascale=log:fscale=log:s=1280x518[sf]; \
 [0:a]showwaves=s=1280x202:mode=p2p[sw]; \
 [sf][sw]vstack[fg]; \
 [1:v]scale=1280:-1,crop=iw:720[bg]; \
 [bg][fg]overlay=shortest=1:format=auto,format=yuv420p,drawtext=fontfile=/usr/share/fonts/TTF/Vera.ttf:fontcolor=white:x=10:y=10:text='\"Rated80s Prophets Prey\" by Comics On Film'[out]" \
-map "[out]" -map 0:a -c:v libx264 -preset fast -crf 18 -c:a libopus output.mkv
  • vstack垂直堆叠两个效果。这比使用叠加更容易,也更快。

  • 示例背景图片尺寸过大,因此scalecrop将图片设为1280x720。

  • 然后使用叠加过滤器将vstacked效果分层到背景上方,格式过滤器使更多像素格式与非基于FFmpeg的播放器兼容(如果只是上传到YouTube,则可以将其删除),最后{{ 3}}制作文字。

  • 如果你得到[overlay] Unable to parse option value "auto"你的版本太旧而你应该升级。有关链接,请参阅drawtext页面。