最近用ffmpeg做了一批视频模板供公司业务使用,结合shell脚本实现,常用的功能有如下几个:

  1. scale:缩放
  2. pad:填补
  3. drawtext:加文字
  4. ffprobe:获取视频一些属性

简单说几个可以实现的和未解决的:

1、scale之后出现尺寸与指定值不一致:需要设置setsar,前文有提到:​​​​​​https://blog.csdn.net/sayhelen/article/details/1242748142​​​​​​​2

2、pad和scale一起使用时,需要注意顺序,pad默认会补黑边,怎么样让最终结果即实现缩放又实现补透明呢?

第一,要先设置scale,在设置pad

第二,pad可以设置补的颜色和透明度,即颜色可以设置为RRGGBBAA,把A设置为0(即透明度100%即可,设置什么颜色都不重要了)

如下代码,实现载入图片按合适尺寸,顺时针/逆时针转动旋转效果:

input="xxx.jpeg"
output="rotate.mp4"
background="xxx.mp4"let T=2
let RT=${T}*2
ffmpeg -loop 1 -t "${T}s" -i ${input} -i ${background} \
-filter_complex "[0]scale=720:-1,setsar=1[vr];\
[vr]scale=w='iw-(hypot(iw,ih)-iw)/(${T}*25)*n':h=-1:eval=frame,\
pad='hypot(iw,ih)':ow:(iw-ow)/2:(ih-oh)/2:color=0x00000000,\
rotate=a=n*PI/6/(${T}*25):ow='hypot(iw,ih)':oh=ow:c=0x00000000,split[vzi][vzo];\
[vzo]reverse[vs];[vzi][vs]concat=n=2:a=0:v=1[v1];\
[1][v1]overlay=(W-w)/2:(H-h)/2:shortest=1" \
-r 25 -t ${RT} -y ${output}

3、drawtext设置字号、颜色、边框等常规样式及行间距等都可以,换行常见有2种解法:

1)用textfile在外部txt文件里换行

2)定义多个drawtext,各自计算y值

还有一种说加换行符,我一直没找到怎么录入这个符号能起作用。

未解决的问题是设置斜体效果,部分情况下可以实现加粗(不是通过字体,而是用textfile形式设置bold属性)

4、ffprobe可以打印视频属性,我常用它来获取视频时长和宽高信息,我自己写了一个getMediaInfo.sh脚本获取某个目录下全部视频文件的帧率、码率、时长和宽高值,全文如下:

#!/bin/sh
# 使用while循环读取$1文本
outfile="/Users/xxx/Desktop/"function read_dir(){for file in `ls $1`doif [ -d $1"/"$file ] #注意此处之间⼀定要加上空格,否则会报错thenread_dir $1"/"$fileelif [ -n $file ]; then#判断是否读取到的数据是空行#提取fps, width, height等tmp_v=`echo $1"/"$file`fps=`ffprobe -v quiet -select_streams v:0 -show_entries stream=avg_frame_rate -of default=noprint_wrappers=1:nokey=1 $tmp_v`vrate=`ffprobe -v quiet -select_streams v:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 $tmp_v`arate=`ffprobe -v quiet -select_streams a -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 $tmp_v`duration=`ffprobe -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 $tmp_v`size=`ffprobe -v quiet -select_streams v:0 -show_entries stream=height,width -of csv=s=x:p=0 $tmp_v`outcome="$file $fps $vrate $arate $duration $size"# outcome="$file $fps"fps" $vrate"kbps" $arate"kbps" $duration"s" $size"echo $outcomeelseecho "current file is null"# x=$x,"'"$tmp_v"'"fiecho $outcome >> ${outfile}/mediainfo.txtdone
}read_dir $outfile

【FFmpeg】做一个抖音/快手视频模板常用哪些功能相关推荐

  1. 冷知识项目教程,​教你如何做一个抖音冷知识账号

    白嫖的冷知识项目教程,教你如何做一个抖音冷知识账号 变现途径:带货,星图广告,收徒 课程目录: 1-养号.mp4 2-找素材.mp4 3-素材剪辑.mp4 4-配音软件使用.mp4 5-导入配音及画面 ...

  2. Android中探究抖音短视频的动态壁纸功能以及拓展功能使用

    一.前言 最近玩抖音感觉都快废了,所以我决定不玩了我要学习所以先从他的动态壁纸学起,因为整个应用中也就是动态壁纸有点好玩的技术,而且也就是抖音能做这个功能,其他的短视频或许做不了比如快手如果要做你觉得 ...

  3. android sdk build-tools_从零开始仿写一个抖音App——视频编辑SDK开发(一)

    本文首发于微信公众号--世界上有意思的事,搬运转载请注明出处,否则将追究版权责任.交流qq群:859640274. 大家好久不见,又有一个多月没有发文章了.不知道还有哪些读者记得我的 从零开始仿写抖音 ...

  4. 分享一个抖音刷视频的python代码

    前一段时间总是给我推送抖音刷视频的广告,有点好奇就下了个,确实是能刷到点现金,但是也不喜欢看小视频,就在网上找攻略怎么用python刷视频,代码如下: import os import timeb = ...

  5. 抖音快手视频号保证金大幅度涨价

    我是卢松松,点点上面的头像,欢迎关注我哦! 进入11月后.几大主流短视频平台,抖音.视频号的保证金都大幅度上涨.据说快手也涨了. 前段时间,视频号停止了第三方合作,而且也开始催促缴纳保证金.向我们松松 ...

  6. 5个在家也能做的抖音短视频号,快行动起来

    01 美食号 常见的美食账号,常规操作就是烹饪教学,一般如果有相关的经验,那做起来就是如鱼得水,这时候你只要稍微学习下拍摄的角度和基础的剪辑知识就可以,当然咱们也不一定非要往美味诱人的方向发展,有时候 ...

  7. 白嫖的冷知识项目教程,教你如何做一个抖音冷知识账号,多种变现方式

    变现途径:带货,星图广告,收徒 课程目录: 1-养号.mp4 2-找素材.mp4 3-素材剪辑.mp4 4-配音软件使用.mp4 5-导入配音及画面同步.mp4 6-动画人物制作.mp4 7-视频剪辑 ...

  8. 批量下载抖音快手视频

    官网 http://www.9izs.com/

  9. 抖音字幕视频怎么做 ,抖音上视频怎么加字幕

最新文章

  1. 客户端(C#)调用CXF搭建的webservice的出现一些问题记录
  2. React-native 官方 demo
  3. 写在2-14,程序员才看得懂的情书
  4. 大数据在银行业的应用场景
  5. CPP第四版第五章:位操作符、sizeof及部分编程习题
  6. 网易实战分享|实时音视频会议场景下QoS策略
  7. 常见Java面试题之如何实现对象克隆
  8. OutOfMemoryException异常解析
  9. Python的函数参数传递:传值?引用?
  10. 前端学习(2816):原生框架目录结构
  11. shader 获取法线_Unity Shader 入门到改行5——法线贴图
  12. HashMap 为什么会导致 CPU 100%?文章看不懂?来看这个视频吧!——面试突击 006 期...
  13. 使用 jQuery Mobile 与 HTML5 开发 Web App (九) —— jQuery Mobile 页面与对话框
  14. ubuntu18.04 ROS melodic—创建简单的机器人模型smartcar
  15. mina mysql_Mina源码阅读笔记(四)—Mina的连接IoConnector2
  16. Ubuntu14.04+CUDA6.5+OpenCV2.4+Caffee配置
  17. 网件rax40可以刷梅林_深度爆料网件RAX40评价如何?怎么样呢?真实体验曝光
  18. Verilog 交通灯控制器
  19. 见证历史时刻!关于朗道-西格尔零点猜想
  20. flac格式怎么转换mp3格式?

热门文章

  1. 微型计算机配置清单办公,式电脑配置清单.doc
  2. 最常去的IT网站(技术类,资讯类,个人博客)
  3. IPGUARD加密图片无法使用windows图片查看器打开
  4. VS2010项目转化为VS2008项目
  5. 997. 找到小镇的法官_小镇...
  6. PCI-E 5.0标准正式公布!速度再次翻番达32GT/s
  7. 一看就懂的vue简版源码概述
  8. activiti实战系列 activiti连线
  9. clickhouse的日期处理
  10. day61——自我检讨