提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
一、问题
用MP4的视频无法使用<video> 标签正常播放,在火狐浏览器上只有进度条,没有画面,在某些谷歌
上面也不显示画面。
二、原因
查阅文档,关于video标签所支持的视频格式和编码:
MPEG4 = 带有H.264视频编码和AAC音频编码的MPEG4文件
WebM = 带有VP8视频编码和Vorbis音频编码的 WebM文件
Ogg = 带有Theora视频编码和Vorbis音频编码的Ogg文件
图像有图像的编码格式,音频有音频的编码格式,画面显示问题多半是视频格式编码问题,音频也是同样。
如果视频的编码格式不是Video标签支持的格式了,那么就可能会造成以上的播放问题。
所以,直接在格式工厂修改视频的图像和音频编码就好了;
三、普及
1、视频组成?
视频 = 图片(RGB组成) + 音频(PCM组成);
RGB:指的是一个像素有3个字节,一个字节有8位,那么一个像素有24位;
PCM:指的是脉冲编码调制,是指模拟音频信号只经过采样,模数转换成PCM信号,未经过任何编码和压缩处
理的数据流;
多个图片和音频就组成了视频,那么视频的大小如何计算呢?图片由像素点构成,假设一张图片的尺寸1920*1080,每个像素由RGB组成,每个8位,一共24位,假设视频帧率是24FPS,
那么每秒钟的视频尺寸:24帧 * 1920 * 1080 * 24 = 1231718400Bits = 153964800Bytes;
一分钟的视频就是9237888000字节,即8.8个G;可以看到如果不对视频做任何处理,那么视频的体积是非常大的,不利于做视频传输和存储,所以需要对视频进行压缩,也就是编码处理;
2、视频编码
编码格式有多种,目前主流的就是视频(AVC/HEVC)和音频(AAC);编码结束后,会将视频服用处理成一个
如同文件(容器);于此可知,决定视频清晰度的是编码格式,和文件类型没有关系。
终端显示:终端接收到视频后,会按照相反的过程进行还原音视频文件,所以是先对文件进行解复用,解
复用以后会得到编码的视频和音频文件,此时继续将音视频进行解码,客户端按照视频的编码格式解码,即(AVC/HEVC),音频按照(AAC)解码,此时客户端得到一个YUA(通常的图像格式,YUA和RGB一样是可以显示图像)
的是图像和PCM的音频。此时就可以播放视频和音频了。
3、音频和图像的复用封装是有一定方式的,比如DASH,封装格式dash可以把大视频切割成一片一片的小文件,然后进行传输,这样的好处很多,
不需要将整个视频加载完才能播放,可以边加载边播放,这样子可以在很大程度上提升了用户的体验。而且菜啊用dash进行视频分片,也可以
在网络不顺畅的时候切换清晰度加载,可以在一定程度上解决了困扰。