C++音视频八股文(基础概念)

1. 什么是码率(Bitrate)?码率和视频质量有什么关系?

  1. 码率定义:单位时间内传输或处理的数据量,通常用bps(bit per second)、kbps、Mbps表示,是衡量视频数据量的重要指标
  2. 计算方式:码率 = 文件大小(bit) / 时长(秒),例如100MB的10分钟视频,码率约为1.4Mbps
  3. 码率类型:CBR恒定码率保持固定不变,VBR可变码率根据画面复杂度动态调整,ABR平均码率保证平均值,CRF恒定质量模式
  4. 与质量关系:码率越高,保留的信息越多,视频质量越好,但文件越大。码率越低,压缩越厉害,质量下降,出现马赛克和模糊
  5. 常见码率:720p通常2-5Mbps,1080p通常5-10Mbps,4K通常20-50Mbps,直播通常2-6Mbps
  6. 影响因素:相同码率下,分辨率越高质量越差,运动越剧烈需要更高码率,编码器效率影响质量(H.265比H.264节省50%码率)
  7. 应用场景:流媒体需要平衡质量和带宽,归档存储追求高质量高码率,移动网络使用低码率

2. 什么是帧率(Framerate)?常见的帧率有哪些?

  1. 帧率定义:每秒显示的帧数,单位fps(frames per second),决定视频的流畅度
  2. 常见帧率:24fps:电影标准,有电影感25fps:PAL制式电视标准(欧洲、中国)30fps:NTSC制式电视标准(美国、日本)50fps:PAL高帧率,体育赛事60fps:流畅度高,游戏、运动视频120fps/240fps:慢动作拍摄
  3. 帧率影响:帧率越高视频越流畅,运动画面越清晰,但文件越大,编码解码压力越大。帧率太低会有卡顿感和不连贯
  4. 选择建议:电影和剧情片用24fps,网络视频和直播用25/30fps,游戏和运动视频用60fps,慢动作素材用120fps以上
  5. 帧率转换:使用fps滤镜转换帧率,升帧需要插值可能模糊,降帧直接丢弃帧
  6. 可变帧率:VFR允许帧率动态变化,静态场景低帧率,运动场景高帧率,节省码率

3. 什么是分辨率(Resolution)?常见的视频分辨率有哪些?

  1. 分辨率定义:视频画面的像素尺寸,用宽×高表示,如1920×1080,决定画面清晰度和细节
  2. 常见分辨率:480p(SD):720×480或640×480,标清720p(HD):1280×720,高清1080p(Full HD):1920×1080,全高清2K:2048×1080或2560×14404K(UHD):3840×2160,超高清8K:7680×4320
  3. 宽高比:16:9是现代标准(1080p、720p),4:3是传统电视,21:9是电影宽银幕,9:16是竖屏视频
  4. 分辨率影响:分辨率越高画面越清晰,但文件越大,编解码压力越大,需要更高码率,对设备性能要求高
  5. 选择建议:网络视频常用720p或1080p,移动端可用480p节省流量,专业制作用4K,监控根据需求选择
  6. 缩放处理:使用scale滤镜调整分辨率,放大会损失清晰度,缩小可以降低码率

4. 什么是关键帧间隔?如何设置合适的关键帧间隔?

  1. 关键帧间隔定义:两个I帧之间的距离,也称GOP大小,单位是帧数或秒数
  2. GOP结构:GOP是Group of Pictures,包含一个I帧和若干P帧、B帧,如IBBPBBPBBPBBI
  3. 间隔影响:间隔越大压缩率越高码率越低,但随机访问慢、seek不精确、错误传播范围大。间隔越小码率越高,但随机访问快、容错能力强
  4. 设置方法:FFmpeg使用-g参数设置帧数,如-g 250表示250帧一个I帧。x264使用--keyint参数
  5. 推荐设置:直播:1-2秒(25-60帧),便于观众快速进入点播:2-10秒(50-300帧),平衡质量和随机访问监控:较小间隔,便于回放定位归档:可以更大,追求压缩率
  6. 计算公式:

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

C++八股文全集 文章被收录于专栏

本专栏系统梳理C++技术面试核心考点,涵盖语言基础、面向对象、内存管理、STL容器、模板编程及经典算法。从引用指针、虚函数表、智能指针等底层原理,到继承多态、运算符重载等OOP特性从const、static、inline等关键字辨析,到动态规划、KMP算法、并查集等手写实现。每个知识点以面试答题形式呈现,注重原理阐述而非冗长代码,帮助你快速构建完整知识体系,从容应对面试官提问,顺利拿下offer。

全部评论

相关推荐

2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务