FFmpeg框架、FFmpeg应用基础

目录

一:MediaInfo软件

二:视频文件格式

三:视频编码数据

四:主要封装格式

五:视频像素数据

六:RGB格式

七:YUV格式

八:视频播放器原理

九:FFmpeg 相关操作命令

十: FFmpeg转码 相关操作命令

十一:FFmpeg 其他操作指令

十二:ffplay 操作指令


一:MediaInfo软件

通过使用 MediaInfo软件

可以查看视频文件的详细信息

软件的使用也非常简单

点击打开文件,再点击查看文本,即可查看详细视频文件数据信息

 

二:视频文件格式

视频文件有不同的格式

这些电影文件有不同的格式,用不同的后缀表示:avi,rmvb,mp4,flv,mkv等等(当然也使用不同的图标)

在这里需要注意的是,这些格式代表的是封装格式

封装格式:就是把视频数据和音频数据打包成一个文件的规范  

封装格式的作用:视频码流和音频码流按照一定的格式存储在一个文件中

三:视频编码数据

视频编码的作用:

将视频像素数据(RGB,YUV等)压缩成为视频码流,从而降低视频的数据量

H.264格式简介:

四:主要封装格式

主要的封装格式

五:视频像素数据

视频像素数据作用:

保存了屏幕上每个像素点的像素值

格式:

常见的像素数据格式有RGB24, RGB32, YUV420P,YUV422P,YUV444P等

压缩编码中一般使用的是YUV格式的像素数据,最为常见的格式为YUV420P

特点    视频像素数据体积很大

一般情况下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格式

1. YUV格式简介

YUV格式中,Y只包含亮度信息,而UV只包含色度信息

相关实验表明,人眼对亮度敏感而对色度不敏感

因而可以将亮度信息和色度信息分离,并对色度信息采用更“狠”一点的压缩方案,从而提高压缩效率

从数据占比来说,UV信息的数据量是Y的1/2

2. YUV格式播放

八:视频播放器原理

FFmpeg流媒体开发技术:

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。

 

使用广泛,使用FFmpeg作为内核的视频播放器Mplayer,射手播放器,暴风影音,KMPlayer,QQ影音...

使用FFmpeg作为内核的转码器:格式工厂,狸窝视频转换器,暴风转码...

FFmpeg流媒体开发技术的应用:

暴风影音,腾讯视频,爱奇艺等他们底层都用到FFMPEG
行车记录仪
智能安防(监控)
RTSP流媒体服务器
格式工厂
抖音,头条,快手等app

又如 QQ中使用如下图所示

九:FFmpeg 相关操作命令

如下命令

  ffmpeg -i input.avi -b:v 640k output.ts

该命令将当前文件夹下的input.avi文件转换为output.ts文件,并将output.ts文件视频的码率设置为640kbps

命令格式:ffmpeg -i {输入文件路径} -b:v {输出视频码率} {输出文件路径}

十: FFmpeg转码 相关操作命令

输出 YUV420P 原始数据

ffmpeg -i test.mp4 test.yuv

将avi文件转为mp4

ffmpeg -i input.avi output.mp4

从视频前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 {输入文件路径}

快捷键:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chenruhan_QAQ_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值