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

  视频播放器播放一个互联网上的视频文件,需要经过以下几个步骤:解协议,解封装,解码视音频,视音频同步。如果播放本地文件则不需要解协议,为以下几个步骤:解封装,解码视音频,视音频同步         FFmpeg的基础知识

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

              称之为:封装格式

       第二点:视频播放器

              两种模式播放器

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

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

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

                     FFmpeg->ffplay(命令)播放器(内置播放器)

                     vlc播放器、mplayer播放器

 

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

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

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

              视频单项信息

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

                     视频编码信息工具->Elecard StreamEye

                     视频像素信息工具->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-33个字节是文件格式标识(FLV 0x46 0x4C 0x56).

                4-44个字节是版本(0x01

                5-55个字节的前5bit是保留的必须是0.

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

                整个文件头的长度,一般是93+1+1+4

 

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

                1、视频编码作用?

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

               

                2、视频编码格式有哪些?

FFmpeg的基础知识                    

                3、H.264视频压缩数据格式?

                     非常复杂算法->压缩->占用内存那么少?(例如:帧间预测、帧内预测…)->提高压缩性能

          

           第六点:音频编码数据?

                1、音频编码作用?

                     将音频采样数据(PCM格式)进行压缩成为音频码流,从而降低音频数据量。(减小内存暂用)

                2、音频编码飞逝有哪些?

                     AAC、MP3等等…

                3AAC格式?

                     AAC,全称Advanced Audio Coding,是一种专为声音数据设计的文件压缩格式。与MP3不同,它采用了全新的算法进行编码,更加高效,具有更高的性价比。利用AAC格式,可使人感觉声音质量没有明显降低的前提下,更加小巧。苹果ipod诺基亚手机支持AAC格式的音频文件。

                     优点:相对于mp3AAC格式的音质更佳,文件更小。

                     不足:AAC属于有损压缩的格式,与时下流行的APEFLAC无损格式相比音质存在本质上的差距。加之,传输速度更快的USB3.016G以上大容量MP3正在加速普及,也使得AAC头上小巧的光环不复存在。

                     提升的压缩率:可以以更小的文件大小获得更高的音质;

                     支持多声道:可提供最多48个全音域声道;

                     更高的解析度:最高支持96KHz的采样频率;

                     提升的解码效率:解码播放所占的资源更少;

 

                           

              第七点:视频像素数据?

                1、作用?

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

                2、视频像素数据格式种类?

                     常见格式:RGB24、RGB32、YUV420P、YUV422P、YUV444P等等…一般最常见:YUV420P

                     3、视频像素数据文件大小计算?

                     例如:RGB24高清视频体积?(1个小时时长)

                     体积:3600 * 25 * 1920 * 1080 * 3 = 559GB(非常大)

                     假设:帧率25HZ,采样精度8bit3个字节

                4YUV播放器

                     人类:对色度不敏感,对亮度敏感

                     Y表示:亮度

                     UV表示:色度

           第八点:音频采样数据格式?

                1、作用?

                     保存了音频中的每一个采样点值

                2、音频采样数据文件大小计算?

                     例如:1分钟PCM格式歌曲

                     体积:60 * 44100 * 2 * 2 = 11MB

                     分析:60表示时间,44100表示采样率(一般情况下,都是这个采样率,人的耳朵能够分辨的声音),2表示声道数量,2表示采样精度16= 2字节

                3、音频采样数据查看工具?

                    

                4PCM格式?

                     存储顺序?

               

           第九点:FFmepg应用?
                提供了一套比较完整代码->开源免费

                核心架构设计思想:(核心 + 插件)设计

               
                重要命令学习?

FFmpeg的基础知识              

1.获取视频的信息 
ffmpeg -i video.avi

2.将图片序列合成视频 
ffmpeg -f image2 -i image%d.jpg video.mpg 
上面的命令会把当前目录下的图片(名字如:image1.jpg. image2.jpg. 等…)合并成video.mpg

3.将视频分解成图片序列 
ffmpeg -i video.mpg image%d.jpg 
上面的命令会生成image1.jpg. image2.jpg. … 
支持的图片格式有:PGM. PPM. PAM. PGMYUV. JPEG. GIF. PNG. TIFF. SGI

4.为视频重新编码以适合在iPod/iPhone上播放 
ffmpeg -i source_video.avi input -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4 
说明: 
* 源视频:source_video.avi 
* 音频编码:aac 
* 音频位率:128kb/s 
* 视频编码:mpeg4 
* 视频位率:1200kb/s 
* 视频尺寸:320 X 180 
* 生成的视频:final_video.mp4

5.为视频重新编码以适合在PSP上播放 
ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4 
说明: 
* 源视频:source_video.avi 
* 音频编码:aac 
* 音频位率:32kb/s 
* 视频编码:xvid 
* 视频位率:1200kb/s 
* 视频尺寸:320 X 180 
* 生成的视频:final_video.mp4

6.从视频抽出声音.并存为Mp3 
ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3 
说明: 
* 源视频:source_video.avi 
* 音频位率:192kb/s 
* 输出格式:mp3 
* 生成的声音:sound.mp3

7.将wav文件转成Mp3 
ffmpeg -i son_origine.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 son_final.mp3

8.将.avi视频转成.mpg 
ffmpeg -i video_origine.avi video_finale.mpg

9.将.mpg转成.avi 
ffmpeg -i video_origine.mpg video_finale.avi

10.将.avi转成gif动画(未压缩) 
ffmpeg -i video_origine.avi gif_anime.gif

11.合成视频和音频 
ffmpeg -i son.wav -i video_origine.avi video_finale.mpg

12.将.avi转成.flv 
ffmpeg -i video_origine.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv video_finale.flv

13.将.avi转成dv 
ffmpeg -i video_origine.avi -s pal -r pal -aspect 4:3 -ar 48000 -ac 2 video_finale.dv 
或者: 
ffmpeg -i video_origine.avi -target pal-dv video_finale.dv

14.将.avi压缩成divx 
ffmpeg -i video_origine.avi -s 320x240 -vcodec msmpeg4v2 video_finale.avi

15.将Ogg Theora压缩成Mpeg dvd 
ffmpeg -i film_sortie_cinelerra.ogm -s 720x576 -vcodec mpeg2video -acodec mp3 film_terminate.mpg

16.将.avi压缩成SVCD mpeg2 
NTSC格式: 
ffmpeg -i video_origine.avi -target ntsc-svcd video_finale.mpg 
PAL格式: 
ffmpeg -i video_origine.avi -target pal-svcd video_finale.mpg

17.将.avi压缩成VCD mpeg2 
NTSC格式: 
ffmpeg -i video_origine.avi -target ntsc-vcd video_finale.mpg 
PAL格式: 
ffmpeg -i video_origine.avi -target pal-vcd video_finale.mpg

18.多通道编码 
ffmpeg -i fichierentree -pass 2 -passlogfile ffmpeg2pass fichiersortie-2

19.从flv提取mp3 
ffmpeg -i source.flv -ab 128k dest.mp3


相关文章:

  • 2021-09-17
  • 2021-12-24
  • 2021-05-01
  • 2021-07-08
  • 2021-09-04
  • 2021-07-13
  • 2022-12-23
  • 2021-04-25
猜你喜欢
  • 2021-04-17
  • 2022-02-27
  • 2021-06-04
  • 2021-09-21
  • 2022-12-23
相关资源
相似解决方案