制作抖音视频

起因

短视频在近两年大火,尤其抖音快手等,一个庞大的新媒体流量入口已然成型,刚好工作中接触短视频较多,就想自己运营个抖音号,本来以为市场上已有的一些手机app应该可以满足需求,没想到不是模板固定就是体验太差,又或者输出视频清晰度不够,就干脆拿一些用过的视频工具来做了

工具

  • iMovie:主要用来截取片段,当然FFmpeg也完全可以胜任,但是视觉化的iMovie或者其他商业软件会更方便
  • ffmpeg:主要用来裁剪视频添加水印

    FFmpeg

  • 官网 https://ffmpeg.org/ffmpeg.html
  • 命令基本公式
    ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
  • 滤镜
    • 文档 https://ffmpeg.org/ffmpeg-filters.html
    • ffmpeg的滤镜使用的是libavfilter,几个连续的滤镜成为filtergraphs,ffmpeg有Simple filtergraphs和Complex filtergraphs两种
    • Simple filtergraphs
      • 只有一个输入和一个输出,且输入输出类型相同
      • 指令-vf,是-filter:v的简称,v即video。
        • tip:-af是音频滤镜,全称-filter:a即audio
    • Complex filtergraphs
      • 多个输入输出
      • 指令-filter_complex

过程

  • 下载下来电影后,用tunesKit video cutter或者ffmpeg进行大致的片段选取,这一步主要是为了减少剪辑文件的大小
  • 如果需要转格式,使用ffmpeg或者aimersoft video converter ultimate
  • 使用iMovie进行细致的剪辑,输出视频
  • 如果视频比例不合适,比如16:9,这种在抖音里看起来显得有点扁,屏幕利用率较低,可以先进行裁剪
    • ffmpeg -i source.mp4 -vf crop=1440:1080:240:0 output.mp4
      • -i 表示输入文件
      • -vf 简单滤镜图
      • crop是一个裁剪滤镜,https://ffmpeg.org/ffmpeg-filters.html#crop, 需要四个参数,1440:1080:240:0分别指输出视频的宽,高,源视频内容在输出视频中的位置,原点是视频左上角
  • 使用ffmpeg将视频比例改为16:9,多余地方黑色填充
    • ffmpeg -i source.mp4 -vf pad=1920:3413:0:1150:black -y output.mp4
      • -pad: https://ffmpeg.org/ffmpeg-filters.html#pad-1, 文档解释:Add paddings to the input image, and place the original input at the provided x, y coordinates.意思很明显了,pad就是padding
      • -y: Overwrite output files without asking
  • 加水印
    • ffmpeg -i source.mp4 -vf "movie=overlay.png,scale=480:50[watermask];[in][watermask] overlay=200:2000[out]" -y out.mp4
    • -movie: Read audio and/or video stream(s) from a movie container,使用scale进行缩放,输出第一次结果watermask,中括号中为label,ffmpeg中使用[]打标表示某一个流,可以在后面进行引用
    • [in]:primary input,指代主输入流
    • [watermask],第一个滤镜的产出名字,当然名字可以随便取
    • overlay:It takes two inputs and has one output. The first input is the “main” video on which the second input is overlaid,打水印的主要操作