前言
产品中有canvas制作的动画。需要把这个动画绘制一个视频的需求。
经过调研,决定使用FFmpeg来生成视频。
FFmpeg是什么?
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源程序。
其中的Tools
- ffmpeg:该项⽬提供的⼀个⼯具,可⽤于格式转换、解码或电视卡 即时编码等;
- ffsever:⼀个 HTTP 多媒体即时⼴播串流服务器;
- ffplay:是⼀个简单的播放器,使⽤ffmpeg 库解析和解码,通过 SDL显示;
- ffprobe: 简单的多媒体码流分析器;
视频知识
为了选择正确的视频格式,还需要了解一些视频知识。
- 常见封装格式
- 常见编码格式
- 码率
常见封装格式
封装格式就是视频文件的后缀,常见如下:
- AVI 微软推出的视频封格式,比较旧而且占有空间大。
- WMV 微软新推出的视频格式,缺点兼容差。
- MOV 苹果推出的视频封装格式,优秀。
- MP4 动态图像专家组(MPEG)推出的视频封装格式,跨平台兼容性好,是视频封装格式的首选
常见编码格式
视频编码可以分为帧内压缩和帧间压缩
-
帧内压缩是对每一帧进行压缩,适合编辑时使用
- ProRes 苹果开发的有损影片压缩技术
- DNxHD Avid
- GoPro Cineform
-
帧间压缩是通过对多帧画面比较来进行压缩,文件大小较小,适合输出。
- H.264(MPEG4)网络传播最佳
- H.265(HEVC)未普及
- VP9谷歌研发,与H.265争夺下一代视频编码之王
码率
8bits等于1byte,即1Mbps等于0.125MB/s。码率就是1秒内包含的视频信息,码率决定了视频的大小,也决定了视频的质量。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。