直播秒开是开发音视频项目中一个很重要的功能,因为如果用户在播放网络视频流黑屏的时间过长则会严重影响用户体验。一般我们有两种方式解决:
所谓的视频流粘包,就是指一段视频码流无法识别出一帧完整的视频帧。我的回答是通过FFMPEG的抽帧api av_read_frame把每一个码流中的每一帧H2/H265码流获取到,并且通过内部的标识符00 00 00 01进行分割,最终分割成sps+pps+i作为一帧完整的视频帧。这样就可以解决TCP、UDP粘包的情况。
我这里回答了两点,一个是GOP调节,另外一个是QP调节。
GOP是画面调节的一种,在音视频开发中,可以通过调节GOP长度去改善画质的。一般情况下,GOP的长度越长视频增强效果越长,反之GOP越小则画质增强效果越弱。所以,可以适当通过调节GOP的长度去增强画质。
QP调节是常见的画面增强的方法,它的基本原理是通过修改步长(QStep)来调节QP的总体画面质量,除了QStep外还有maxQp和minQp。maxQp主要是调节运动画面时候的变化情况,minQp主要是调节静止画面的时候画面变化的情况。
它这个问题实际上就是问如何做码率控制,我的回答是:根据不同的场景做不同的码率控制调节,如果对画面质量较高并且不考虑码率的大小则优先使用VBR调节模式。若需求是保码率,不要求画质,则可以优先考虑CBR码率控制方式。
IDR帧是I帧的一种,当解码器收到I帧和IDR帧的时候,都会将所有参考帧丢弃,在这点上I帧和IDR帧是一样的。但有一点不同的是,IDR帧除了清空所有参考帧外,还会把所有的SPS和PPS参数进行更新。每发一个IDR,就相应地发一个PPS和SPS_nal_unit。
RKNN的部署一般要部署三个文件,分别是:box_priors.txt坐标权重文件、SSD模型文件、coco_labels_list.txt训练集文件。把这三个文件放到/userdata/文件夹下面。
面试官侧重点是音视频项目的主要实现过程,包括一些细节的提问,比方说:在上面提到的音视频不同步、如何改善画面质量等问题。除了音视频项目外,面试官还会问RK3399的RKNN技术点,RKNN模型的部署和开发流程。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务