目录
一:MediaInfo软件的使用--可以查看视频文件的详细信息

一:MediaInfo软件的使用--可以查看视频文件的详细信息
使用非常简单,点击打开文件,再点击查看文本,即可查看详细视频文件数据信息
二:视频文件不同格式
这些电影文件有不同的格式,用不同的后缀表示:avi,rmvb,mp4,flv,mkv等等(当然也使用不同的图标)。在这里需要注意的是,这些格式代表的是封装格式。
封装格式:就是把视频数据和音频数据打包成一个文件的规范。
封装格式的作用:视频码流和音频码流按照一定的格式存储在一个文件中。
三:视频编码数据
视频编码的作用:将视频像素数据(RGB,YUV等)压缩成为视频码流,从而降低视频的数据量。
H.264格式简介:
四:主要的封装格式
五:视频像素数据
5.1 视频像素数据作用:保存了屏幕上每个像素点的像素值。
5.2 格式:
常见的像素数据格式有RGB24, RGB32, YUV420P,YUV422P,YUV444P等。压缩编码中一般使用的是YUV格式的像素数据,最为常见的格式为YUV420P。
5.3 特点 视频像素数据体积很大。
一般情况下1小时高清视频的RGB24格式的数据体积为:
3600*25*1920*1080*3=559.9GByte(这里假定帧率为25Hz,取样精度8bit)
六:RGB格式简介
Red Green Blue三种颜色可以混合成世界上所有的颜色
彩色图像中的每个点,由R G B三个分量组成
以RGB24为例 图像像素数据的存储方式如下图所示
也可以看出,RGB24依次存储了每个像素点的R G B信息
BMP中存储的就是RGB格式的数据
七:YUV格式的了解
7.1 YUV格式简介
YUV格式中,Y只包含亮度信息,而UV只包含色度信息。
相关实验表明,人眼对亮度敏感而对色度不敏感。因而可以将亮度信息和色度信息分离,并对色度信息采用更“狠”一点的压缩方案,从而提高压缩效率。
从数据占比来说,UV信息的数据量是Y的1/2。
7.2 YUV格式播放
八:视频播放器原理
了解FFmpeg:
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。
使用广泛,使用FFmpeg作为内核的视频播放器Mplayer,射手播放器,暴风影音,KMPlayer,QQ影音...
使用FFmpeg作为内核的转码器:格式工厂,狸窝视频转换器,暴风转码...
应用FFmpeg:
QQ中使用:
九:FFmpeg命令使用
如下命令:
ffmpeg -i input.avi -b:v 640k output.ts
该命令将当前文件夹下的input.avi文件转换为output.ts文件,并将output.ts文件视频的码率设置为640kbps。
命令格式:ffmpeg -i {输入文件路径} -b:v {输出视频码率} {输出文件路径}
十: FFmpeg转码
10.1输出 YUV420P 原始数据
ffmpeg -i test.mp4 test.yuv
10.2 将avi文件转为mp4
ffmpeg -i input.avi output.mp4
10.3从视频前10s中提取图像,1s提取一帧
ffmpeg -i test.mp4 -t 10 -r 1 -f image2 pic-%03d.jpeg
十一:FFmpeg其他的一些命令
ffmpeg -vcodec mpeg4 -vd x11:0,0 -s 1024x768 ~/test.avi
-vd x11:0,0 指录制所使用的偏移为 x=0 和 y=0,-s 1024×768 指录制视频的大小为 1024×768。录制的视频文件为 test.avi,将保存到用户主目录中
重新调整视频尺寸大小:
ffmpeg -vcodec mpeg4 -i ~/test.avi -s 800×600 ~/test-800-600.avi
参数说明:
十二:ffplay命令
命令将播放当前文件夹下的input.avi文件。
ffplay input.avi
命令格式: ffplay {输入文件路径}
快捷键: