美文网首页iOS进阶之路
IOS-播放器开发(1)-视频基本原理

IOS-播放器开发(1)-视频基本原理

作者: 康小曹 | 来源:发表于2018-08-08 10:52 被阅读47次
    播放器播放视频流程
    image.png
    流媒体

    所谓流媒体是指采用流式传输的方式在Internet/Intranet播放的媒体格式,如音频、视频或多媒体文件。流媒体在播放前并不下载整个文件,只将开始部分内容存入内存,在计算机中对数据包进行缓存并使媒体数据正确地输出。流媒体的数据流随时传送随时播放,只是在开始时有些延迟。

    流媒体协议

    服务器和客户端之间通信遵守的协议,如RTP/RTCP/RTSP/RTMP/MMS/HLS
    备注:播放本地视频不需要解协议

    封装/解封装(demux/mux)

    把视频码流和音频码流按照一定的格式存储在一个文件中
    封装格式:mp4、rmvb、avi、flv、mkv等


    image.png
    视频编码/解码(code/encode)

    视频编码是一种压缩标准,主要作用是将视频像素数据(RGB,YUV等)压缩成为视频码流,从而降低视频的数据量。如果视频不经过压缩编码的话,体积通常是非常大的,一部电影可能就要上百G的空间。


    image.png

    对比:MPEG4(MPEG-4 && MP4
    MPEG4(MPEG-4)是一种编码标准(code),mp4是一种封装格式(mux)

    对比:AVC & SVC & H.264
    AVC是H.264的别名,advanced video code两者相等。
    SVC是AVC的扩展模式,全程为Scalable video code,翻译为可分级编码

    可分级编码

    H.264 SVC以H.264 AVC视频编解码器标准为基础,利用了AVC编解码器的各种高效算法工具,在编码产生的编码视频时间上(帧率)、空间上(分辨率)可扩展,并且是在视频质 量方面可扩展的,可产生不同帧速率、分辨率或质量等级的解码视频。

    H.264 SVC通过在GOP(编码图像组)中设置可丢弃的参考帧实现时间上的可分级。0-16视频帧构成全帧率视频,除T3标志外的所有视频帧构成了半帧率视频,所有 T0标志和T2标志的视频帧构成了1/3帧率视频,所有 只是T0标志的视频帧构成了1/4帧率视频。

    SVC 时间可分级、SVC 空间可分级
    H.264 SVC通过在在编码码流嵌入具有相关性的多个不同分辨率的子流实现空间上的可分级。上层所有的视频帧构成了高分辨率视频,下层所有的视频帧构成了低分辨率视频,为此,具备H.264 SVC编码的视频会议系统,在保证高效的视频压缩性能的基础上,视频广播端可以通过一次编码产生具有不同帧率、分辨率的视频压缩码流,以适应不同网络带 宽、不同的显示屏幕和终端解码能力的应用需求,从而有效地避免了视频会议系统中MCU上复杂而昂贵的转码。

    音频编码

    主要作用是将音频采样数据(PCM等)压缩成为音频码流,从而降低音频的数据量。音频编码也是互联网视音频技术中一个重要的技术。但是一般情况下音频的数据量要远小于视频的数据量,因而即使使用稍微落后的音频编码标准,而导致音频数据量有所增加,也不会对视音频的总数据量产生太大的影响。高效率的音频编码在同等的码率下,可以获得更高的音质。


    image.png

    相关文章

      网友评论

        本文标题:IOS-播放器开发(1)-视频基本原理

        本文链接:https://www.haomeiwen.com/subject/twltbftx.html