Jalena Blog

  • 首页
  • 程序开发
    • Java
    • Spring
    • SpringBoot
    • SpringMvc
    • Python
    • Odoo
    • C#
    • SQL
    • Web
    • Linux
  • 移动设备
    • Android
    • Router
  • 杂七杂八
    • 我的废话
    • 音频
    • 视频
    • 常用软件
  • 关于
  1. 首页
  2. 归档
  3. 非线性编辑
  4. Conversion
  5. 正文

FFmpeg 为视频添加水印

2014-07-11

说起来这个功能确实是非常适用的,作为一名影视后期从业人员,我们经常需要输出输出输出,但是有些情况下我们只需要将成片输出一次就行,毕竟从软件里面输出是很耗费时间的一件事情,后续的东西我们完全可以在成片的基础上来操作,例如发送给客户的小样~

最近总是需要将视频压缩后发送给客户,况且不是成片所以需要添加水印,如果从新用软件再来输出一次非常耗时间,索性就折腾下FFmpeg这个水印添加功能~

"D:\Program Files\FFmpeg\bin\ffmpeg.exe" -y -i %1 -vcodec libx264 -vprofile high -preset slow -b:v 900k -maxrate 1200k -bufsize 1000k -vf scale=trunc(oh*a/2)*2:480 -threads 0 -acodec libvo_aacenc -b:a 128k %1.mp4

以上代码只是将视频输出为h.264的mp4格式。现在需要在原来的基础上为其添加水印~参考网络我们得到以下四种方式,分别是左上,右上,左下,右下。

  1. 旧版本使用vhook参数来实现添加水印功能,新版本一律使用-vf参数来实现且水印尺寸不能超过视频尺寸
  2. windows下如果使用C:\graphics\watermarklogo.png” 则必须修改为 “/graphics/watermarklogo.png”
  3. 使用该批处理则直接将水印放到需转换文件的目录即可
  4. 不能同时存在两个-vf参数,以上使用-vf scale=trunc(oh*a/2)*2:480来缩放尺寸则需要改为-s 854x480

参考代码:

REM Top left corner
ffmpeg -i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv
REM Top right corner
ffmpeg -i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]" outputvideo.flv
REM Bottom left corner
ffmpeg -i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" outputvideo.flv
REM Bottom right corner
ffmpeg -i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]" outputvideo.flv

main_w (main video width)
main_h (main video height)
overlay_w (overlay video width)
overlay_h (overlay video hieght)

最终我们得到的代码就是

REM mp4  (H.264 / ACC)
"D:\Program Files\FFmpeg\bin\ffmpeg.exe" -y -i %1 -vcodec libx264 -vprofile high -preset slow -b:v 1500k -maxrate 1200k -bufsize 1000k -s 854x480 -vf "movie=watermark.png [logo];[in][logo] overlay=main_w-overlay_w-30:main_h-overlay_h-30 [out]" -threads 0 -acodec libvo_aacenc -b:a 128k %1.mp4

更多FFmpeg文章:https://jalena.bcsytv.com/archives/tag/ffmpeg

标签: ffmpeg
最后更新:2016-02-12

Jalena

原创内容,转载请注明出处! 部分内容来自网络,请遵守法律适用!

点赞
< 上一篇
下一篇 >

文章评论

  • 这美

    还是习惯从视频软件里面添加,edius啥的,就是edius的编码包,貌似也挺方便的

    2014-07-16
    回复
    • Anonymous

      @这美 如果大批量的话你就没那么方便了!

      2014-07-17
      回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复

    【腾讯云】云服务器特惠热卖中
    文章目录
    • 参考代码:
    标签聚合
    java Centos odoo 其他 生活 wordpress docker MySql
    分类
    • Android / 4篇
    • C# / 10篇
    • Codec / 9篇
    • Conversion / 14篇
    • Editing / 16篇
    • Java / 47篇
    • Javascript / 3篇
    • Linux / 29篇
    • Odoo / 25篇
    • Python / 6篇
    • SQL / 30篇
    • Web / 3篇
    • Windows / 4篇
    • 我的日记 / 10篇
    • 杂七杂八 / 93篇
    • 软件开发 / 72篇
    • 非线性编辑 / 1篇

    COPYRIGHT © 2026 Jalena Blog. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang

    蜀ICP备17025376号