ffmpeg的那点小事儿--ffmpeg的导入和视频解码,YUV保存(ffmpeg4.0.2)

一、ffmpeg开发的基本知识了解

       第一点:一个视频播放流程

             通常看到视频格式:mp4、mov、flv、wmv等等…

             称之为:封装格式

             

    第二点:视频播放器

两种模式播放器

        第一种:可视化界面播放器(直接用户直观操作->简单易懂)

        e.g:腾讯视频、爱奇艺视频、QQ影音、暴风影音、快播、优酷等等…

        第二种:非可视化界面播放器->命令操作播放器->用户看不懂,使用起来非常麻烦

        e.g:FFmpeg->ffplay(命令)播放器(内置播放器)

               vlc播放器、mplayer播放器

 

        第三点:播放器信息查看工具

                整个视频信息:MediaInfo工具->帮助我们查看视频完整信息

                二进制查看信息:直接查看视频二进制数据(0101010)->UItraEdit

                视频单项信息

                封装格式信息工具->Elecard Format Analyzer

                视频编码信息工具->Elecard Stream Eye

                视频像素信息工具->YUVPlayer

                音频采样数据工具->Adobe Audition

         第四点:音视频->封装格式

1、封装格式:mp4、mov、flv、wmv等等…

2、封装格式作用

视频流+音频流按照格式进行存储在一个文件中

3、MPEG2-TS格式

视频压缩数据格式:MPEG2-TS

特定:数据排版,不包含头文件,数据大小固定(188byte)的TS-Packet

4、FLV格式

优势:由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等问题。

  文件结构:FLV是一个二进制文件,由文件头(FLV header)和很多tag组成。tag又可以分成三类:audio,video,script,分别代表音频流视频流,脚本流(关键字或者文件信息之类)。

FLV文件=FLV头文件+ tag1+tag内容1 + tag2+tag内容2 + ...+... + tagN+tag内容N。

FLV头文件:(9字节)

1-3个字节: 前3个字节是文件格式标识(FLV 0x46 0x4C 0x56).

第4个字节: 第4个字节是版本(0x01)

第5个字节: 第5个字节的前5个bit是保留的必须是0.

6-9个字节: 第6-9的四个字节还是保留的.其数据为 00000009 .

整个文件头的长度,一般是9(3+1+1+4)

 

第五点:视频编码数据了解一下

1、视频编码作用

将视频像素数据(YUV、RGB)进行压缩成为视频码流,从而降低视频数据量。(减小内存暂用)

2、视频编码格式有哪些

MJPEG

MJPEG(Motion JPEG)压缩技术,主要是基于静态视频压缩发展起来的技术,它的主要特点是基本不考虑视频流中不同帧之间的变化,只单独对某一帧进行压缩。

MJPEG压缩技术可以获取清晰度很高的视频图像,可以动态调整帧率、分辨率。但由于没有考虑到帧间变化,造成大量冗余信息被重复存储,因此单帧视频的占用空间较大,流行的MJPEG技术监控与视频编码最好的也只能做到3K字节/帧,通常要8~20K!

MPEG-1/2

MPEG-1标准主要针对SIF标准分辨率(NTSC制为352X240;PAL制为352X288)的图像进行压缩. 压缩位率主要目标为1.5Mb/s.较MJPEG技术,MPEG1在实时压缩、每帧数据量、处理速度上有显著的提高。但MPEG1也有较多不利地方:存储容量还是过大、清晰度不够高和网络传输困难。

MPEG-2 在MPEG-1基础上进行了扩充和提升,和MPEG-1向下兼容,主要针对存储媒体、数字电视、高清晰等应用领域,分辨率为:低(352x288),中(720x480),次高(1440x1080),高(1920x1080)。MPEG-2视频相对MPEG-1提升了分辨率,满足了用户高清晰的要求,但由于压缩性能没有多少提高,使得存储容量还是太大,也不适合网络传输。

MPEG-4

MPEG-4视频压缩算法相对于MPEG-1/2在低比特率压缩上有着显著提高,在CIF(352*288)或者更高清晰度(768*576)情况下的视频压缩,无论从清晰度还是从存储量上都比MPEG1具有更大的优势,也更适合网络传输。另外MPEG-4可以方便地动态调整帧率、比特率,以降低存储量。

<
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值