zoukankan      html  css  js  c++  java
  • 视频添加水印

    这里使用FFmpeg

    1、什么是FFmpeg

      FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。
      FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward"。 [1] 

    2、视频增加图片水印语法:

      ffmpeg -i 0902-23.mp4 -vf "movie=warter_image_s.png[watermark];[in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10[out] " -vcodec mpeg4 -b:v 2000k 0902-23-warter2.mp4

    3、实际应用

    public function getWaterVideo($fileName,$videoName){
      //水印视频存储位置
      $tmp_dir = BASE_UPLOAD_PATH . DS . 'water_tmp/';
      @unlink($tmp_dir . $videoName . '-warter2.mp4');

      // $x = 18;
      // $y = 15;
      $str = 'ffmpeg -i ' .getVideoAliUrl($fileName). ' -vf "movie='.$tmp_dir.'water_logo.png[watermark];[in][watermark] overlay=18:15[out] " -vcodec mpeg4 -b:v 2000k ' .$tmp_dir . $videoName . '-warter2.mp4';
      exec($str, $out, $status);
      if($status){
        return false;
      }else{
        return $videoName . '-warter2.mp4';
      }

    }

  • 相关阅读:
    第二阶段冲刺04
    找水王
    第二阶段冲刺03
    第二阶段冲刺02
    第二阶段冲刺01
    学习进度12
    梦断代码阅读笔记07
    第一阶段意见评论
    学习进度11
    求素数p的原根
  • 原文地址:https://www.cnblogs.com/ljl123/p/11679341.html
Copyright © 2011-2022 走看看