视频,作为媒体人用的越来越多的载体,往后余生,更会大量的充斥在我们的日常中。
如果你是新加入视频媒体的工作人员,本文的内容,真的不要错过。
视频文件一般涉及到三个参数:帧率、分辨率和码率
- 帧率:FPS(每秒钟要多少帧画面)它影响画面流畅度,与画面流畅度成正比:帧率越大,画面越流畅;帧率越小,画面越有跳动感。人类眼睛的特殊生理结构,如果所看画面之帧率高于16的时候,就会认为是连贯的。
下面为24fps、30fps、60fps的画面对比,可以明显看出60fps跟30fps以及24fps相比,是最平滑流畅的。
同时它也表明了图形处理器每秒钟需要刷新的次数
- 码率
编码器每秒输出的数据大小,单位是kbps,比如800kbps代表编码器每秒产生800kb(或100KB)的数据。
可以看出它影响了体积,与体积成正比:码率越大,体积越大,码率越小,体积越小,文件的体积=码率*时间
- 分辨率
单位英寸中所包含的像素点数;VGA:Video Graphics Array(视频图像分辨率),通俗讲就是指视频/图片的长度和宽带,即图片的尺寸。影响图像大小,与图像大小成正比:分辨率越高,图像越大;分辨率越低,图像越小
常用的视频编码格式有H.262、H.264、H.265,不过这些是有版权的,只是可以免费试用,还有几种无版权的视频编码格式VP8、VP9、AV1、 Theora等; 常用的音频编码格式有MP3、AAC、Vorbis等
主流的视频格式,它们对视频编码和音频编码进行了封装
mp4封装:H264视频编码 + AAC音频编码
WebM封装:VP8视频编码 +Vorbis音频编码
OGG封装:Theora视频编码 + Vorbis音频编码
上面都是些最基本知识,在实际使用的时候,我们会用到各种各样的工具来处理视频,如果喜欢有兴趣,可以试试ffmpeg,它功能强大,用途广泛,大量用于视频网站和商业软件(比如 Youtube 和 iTunes),也是许多音频和视频格式的标准编码/解码实现。市面上用到绝大部分播放器、视频处理软件,底层都用到了ffmpeg, 而且一些直播推拉流也用到了它。
本身它是一个很复杂的工具,但是对于一些简单的操作,我们可以直接使用它来完成,比起PR, Final Cut Pro这些巨无霸,更快捷方便。
整理出日常使用的一些操作
1. 更改视频的分辨率,比如公众号视频可以使用的分辨率 640*360
ffmpeg -i video1.mp4 -strict -2 -vf -s 640*360 video2.mp4
这种是属于强制转,如果原视频分辨率的比例和640*360的比例不同,容易失真
可以使用ffmpeg -i video1.mp4 -strict -2 -vf scale=-1:360 video2.mp4, 这样视频的高是360,长度会自动根据原始视频来进行计算,最后的视频比例不会失真,这个过程fps是不变的。
2. 从视频中截取图片
ffmpeg -i test.mp4 -r 1 image%d.jpg
-r后面的数字是帧率-r fps 设置帧率,也就是每秒截取图像的数量, 设为1则表示1fps,也就是每秒一帧
试了下,如果不设置,默认的话,1秒是30张,可以以下命令验证
ffmpeg -i test.mp4 -ss 00:00:00 -t 00:00:01 images%05d.png
3. 提取视频中的音频
ffmpeg -i test.mp4 -vn test.mp3
4. 消音处理
ffmpeg -i input.mp4 -vcodec copy -an v.mp4
5. 合并音频和视频
ffmpeg -i audio.m4a -i video.mp4 -c copy new_video.mp4
6. 添加水印
在视频的正中央添加文字水印
ffmpeg -i test.mp4 -vf "drawtext=fontfile=simhei.ttf:text=技术是第一生产力:x=(w-tw)/2:y=(h-th)/2:fontsize=40:fontcolor=white:shadowy=2" output2.mp4
播放时有水印,文件本身不会加水印
ffplay test.mp4 -vf drawtext="fontfile=arial.ttf:x=w-tw:fontcolor=white:fontsize=30:text=’Goodday’:x=(w-tw)/2:y=(h-th)/2"
另外也可以做音频转换,比如有时候需要mp3格式的文件,但是手头上的素材是非mp3格式的,怎么办?很简单
ffmpeg -i my_audio.wav my_audio.mp3
当然也可以其他看起来更好用的工具,比如手机上用剪映、快剪辑,电脑上用PR, FInal Cut Pro等都可以达到要求。