面试题6
衡量图像重建好坏的标准有哪些?怎样计算?
参考答案
-
SNR(信噪比)
-
PSNR=10*log10((2^n-1)^2/MSE) (MSE是原图像与处理图像之间均方误差,所以计算PSNR需要2幅图像的数据!)
-
SSIM (结构相似性分别从亮度对比度、对比度、结构3方面度量图像的相似性)
面试题7
AAC和PCM的区别?
参考答案
AAC在数据开始时候加了一些参数:采样率、声道、采样大小
面试题8
H264存储的两个形态?
参考答案
-
a. Annex B :
StartCode :NALU单元,开头一般是0001或者001
防竞争字节:为了区分 0 0 0 1,它采用0 0 0 0x3 1作为区分
多用于网络流媒体中:rtmp、rtp格式 -
b. AVCC :
表示NALU长度的前缀,不定长用4、2、1来存储这个NALU的长度
防竞争字节
多用于文件存储中mp4的格式
面试题9
FFMPEG:图片如何合成视频
参考答案
编码流程:
- av_register_all
- 为AVFormatContext 分配内存
- 打开文件
- 创建输出码流AVSream
- 找到编码器
- 打开编码器
- 写文件头,没有的就不写入
- 循环编码视频像素数据->视频压缩数据
循环编码音频采样数据->音频压缩数据 --------->AVFrame转化为AVPacket
- 将编码后的视频码流写入文件 ------>AVPacket转化为AVFormat函数
- 关闭编码器
- 写文件尾
- 关闭资源文件
解码流程:
- av_register_all
- 创建AVFormatContext的对象上下文
- 打开文件
- avformat_find_stream_info
- 找到解码器
- 打开解码器
- 创建AVCodecContext上下文
- av_read_frame :将avPacket数据转换为avFrame数据
glUniform1i() ------>这个可以设置对应纹理的第几层 glTexSubImage2D() 和glTexImage2D区别------------>替换纹理的内容
面试题10
常见的音视频格式有哪些?
参考答案
- MPEG(运动图像专家组)是Motion Picture Experts Group 的缩写。这类格式包括了MPEG-1,MPEG-2和MPEG-4在内的多种视频格式。
- AVI,音频视频交错(Audio Video Interleaved)的英文缩写。AVI这个由微软公司发布的视频格式,在视频领域可以说是最悠久的格式之一。
- MOV,使用过Mac机的朋友应该多少接触过QuickTime。QuickTime原本是Apple公司用于Mac计算机上的一种图像视频处理软件。
- ASF(Advanced Streaming format高级流格式)。ASF 是MICROSOFT 为了和的Real player 竞争而发展出来的一种可以直接在网上观看视频节目的文件压缩格式。
- WMV,一种独立于编码方式的在Internet上实时传播多媒体的技术标准,Microsoft公司希望用其取代QuickTime之类的技术标准以及WAV、AVI之类的文件扩展名。
- NAVI,如果发现原来的播放软件突然打不开此类格式的AVI文件,那你就要考虑是不是碰到了n AVI。n AVI是New AVI 的缩写,是一个名为Shadow Realm 的地下组织发展起来的一种新视频格式。
- 3GP是一种3G流媒体的视频编码格式,主要是为了配合3G网络的高传输速度而开发的,也是目前手机中最为常见的一种视频格式。
- REAL VIDEO(RA、RAM)格式由一开始就是定位在视频流应用方面的,也可以说是视频流技术的始创者。
- MKV,一种后缀为MKV的视频文件频频出现在网络上,它可在一个文件中集成多条不同类型的音轨和字幕轨,而且其视频编码的自由度也非常大,可以是常见的DivX、XviD、3IVX,甚至可以是RealVideo、QuickTime、WMV 这类流式视频。
- FLV是FLASH VIDEO的简称,FLV流媒体格式是一种新的视频格式。由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等缺点。
- F4V,作为一种更小更清晰,更利于在网络传播的格式,F4V已经逐渐取代了传统FLV,也已经被大多数主流播放器兼容播放,而不需要通过转换等复杂的方式。