yum安装方法:https://www.cnblogs.com/wpjamer/p/ffmpeg.html
ffmpeg 安装命令 :https://www.cnblogs.com/scfhao/p/5390238.html
ffmpeg 命令: https://www.jianshu.com/p/ddafe46827b7
ffmpeg 合并视频:https://www.jianshu.com/p/cf1e61eb6fc8
全面介绍:https://www.jianshu.com/p/ddafe46827b7
水印参数:https://blog.csdn.net/danielpei1222/article/details/51873798
最强攻略:https://blog.csdn.net/newchenxf/article/details/51384360
brew install ffmepg 方法:
https://blog.csdn.net/qq_36261644/article/details/88726364
合并:
ffmpeg -f concat -i list.txt -c copy hecheng.mp4
转换成1280*720
ffmpeg -i jiagdian.mp4 -vf scale=1280:720 output.mp4
输出视频的分辨率 -s就是分辨率
ffmpeg -i input_file -vcodec h264 -s 1280x720 output_file
压缩比例:
ffmpeg -i output.mp4 -b:v 2000k -bufsize 4000k -maxrate 2500k output1.mp4
那么,什么是码率?很简单:
bitrate = file size / duration
比如一个文件20.8M,时长1分钟,那么,码率就是:
biterate = 20.8M bit/60s = 20.8*1024*1024*8 bit/60s= 2831Kbps
一般音频的码率只有固定几种,比如是128Kbps,
那么,video的就是
video biterate = 2831Kbps -128Kbps = 2703Kbps。
说完背景了。好了,来说ffmpeg如何控制码率。
ffmpg控制码率有3种选择,-minrate -b:v -maxrate
-b:v主要是控制平均码率。
比如一个视频源的码率太高了,有10Mbps,文件太大,想把文件弄小一点,但是又不破坏分辨率。
ffmpeg -i input.mp4 -b:v 2000k output.mp4
上面把码率从原码率转成2Mbps码率,这样其实也间接让文件变小了。目测接近一半。
不过,ffmpeg官方wiki比较建议,设置b:v时,同时加上 -bufsize
-bufsize 用于设置码率控制缓冲器的大小,设置的好处是,让整体的码率更趋近于希望的值,减少波动。(简单来说,比如1 2的平均值是1.5, 1.49 1.51 也是1.5, 当然是第二种比较好)
ffmpeg -i input.mp4 -b:v 2000k -bufsize 2000k output.mp4
-minrate -maxrate就简单了,在线视频有时候,希望码率波动,不要超过一个阈值,可以设置maxrate。
ffmpeg -i input.mp4 -b:v 2000k -bufsize 2000k -maxrate 2500k output.mp4
————————————————
添加logo
ffmpeg -i jingdian.mp4 -i jk2_index.png -filter_complex '[1:v]scale=109:36[s];[0:v][s]overlay=40:30' output4.mp4
ffmpeg -i jingdian.mp4 -i jk2_index.png -filter_complex overlay=2 output3.mp4
去掉水印: 模糊处理掉,然后再加上自己的水印
./ffmpeg -i input.mp4 -vf delogo=0:0:220:90:100:1 output.mp4
命令行工具:
将视频 MP4 转化为 GIF
ffmpeg -i small.mp4 small.gif
转化视频中的一部分为 GIF
ffmpeg -t 3 -ss 00:00:02 -i small.webm small-clip.gif
从视频中第二秒开始,截取时长为3秒的片段转化为 gif
转化高质量 GIF
默认转化是中等质量模式,若要转化出高质量的 gif,可以修改比特率
ffmpeg -i small.mp4 -b 2048k small.gif
视频属性调整
缩放视频尺寸
ffmpeg -i big.mov -vf scale=360:-1 small.mov
注意 sacle 值必须是偶数,这里的 -1 表示保持长宽比,根据宽度值自适应高度。
如果要求压缩出来的视频尺寸长宽都保持为偶数,可以使用 -2
加倍速播放视频
ffmpeg -i input.mov -filter:v "setpts=0.5*PTS" output.mov
定义帧率 16fps:
ffmpeg -i input.mov -r 16 -filter:v "setpts=0.125PTS" -an output.mov
慢倍速播放视频
ffmpeg -i input.mov -filter:v "setpts=2.0PTS" output.mov
静音视频(移除视频中的音频)
ffmpeg -i input.mov -an mute-output.mov
-an 就是禁止音频输出
将 GIF 转化为 MP4
ffmpeg -f gif -i animation.gif animation.mp4
也可以将 gif 转为其他视频格式
ffmpeg -f gif -i animation.gif animation.mpeg
ffmpeg -f gif -i animation.gif animation.webm
获取 GIF 的第一帧图片
使用 ImageMagick 可以方便第提取 gif 图片的第 N 帧图像。
安装 ImageMagick
brew install imagemagick
提取第一帧
convert 'animation.gif[0]' animation-first-frame.gif
通过 [0] 就可以提取出 gif 的第一帧图像。