音视频高频知识点

本篇文章就来介绍一下在音视频学习中 要有哪些要重点掌握的知识点 本章以问题的形式来提出

1.为什么巨大的原始视频可以编码成很小的视频呢?这其中的技术是什么呢?

1)空间冗余:图像相邻像素之间有较强的相关性

2)时间冗余:视频序列的相邻图像之间内容相似

3)编码冗余:不同像素值出现的概率不同

4)视觉冗余:人的视觉系统对某些细节不敏感

5)知识冗余:规律性的结构可由先验知识和背景知识得到

2.怎么做到直播秒开优化?

DNS 解析慢为了有效降低 DNS 解析对首开的影响,我们可以提前完成播放域名->IP 地址的解析, 并缓存起 来, 播放的时候,直接传入带 IP 地址的播放地址,从而省去了 DNS 解析的耗时。 如果要支持用 IP 地址播放, 是需 要修改底层 ffffmpeg 源码的。
播放策略很多侧重点播的播放器,为了减少卡顿,会有一些缓冲策略,当缓冲足够多的数据之后 ,再送入解码播放。 而为了加快首开效果,需要对播放的缓冲策略做一些调整,如果第一帧还没有渲染出来的情况下, 不要做任何缓冲,直接送入解码器解码播放,这样就可以保证没有任何因为「主动」缓冲带来的首开延时。
播放参数设置 所有基于 ffffmpeg 的播放器,都会遇到avformat_fifind_stream_info这个函数耗时比较久, 从而增大了首开时间,该函数主要作用是通过读取一定字节的码流数据, 来分析码流的基本信息,如编码信息、时长、码率、帧率等等,它由两个参数来控制其读取的数据量大小和时长, 一个是 probesize,一个是analyzeduration。 减少 probesize 和 analyzeduration 可以有效地减少avformat_fifind_stream_info的函数耗时, 从而加快首开,但是需要注意的是,设置地太小可能会导致读取的数据量不足,从而无法解析出码流信息,导致播放失败, 或者出现只有音频没有视频,只有视频没有音频的问题。

直播秒开优化代码实例:

cpp 复制代码
ffmpeg -i input.mp4 -c:v libx264 -preset veryfast -g 25 -crf 28 -pix_fmt yuv420p -c:a aac -b:a 160k -f flv rtmp://server/app/stream

好了 本篇文章就讲到这里 在这里我想向大家推荐一篇课程:
https://xxetb.xetslk.com/s/2PjJ3T

相关推荐
RTC实战笔记4 天前
Android 实时音视频接入教程:媒体补充增强信息(SEI)
音视频·媒体·rtc
潜创微科技5 天前
HDMI1.3 无线传输芯片方案 空旷 150 米量产级音视频方案
音视频
VidDown5 天前
VidDown 工具站:免费、本地优先的开发者工具箱
javascript·编辑器·音视频·视频编解码·视频
换个昵称都难5 天前
音频格式之WAV
音视频
AI创界者5 天前
PilotTTS 一键整合包(Win/Mac):8G 显存畅跑,实测解锁情绪与副语言的精准控制
人工智能·macos·aigc·音视频
u152109648495 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
VidDown5 天前
显卡处理视频技术详解:从硬解码到 NVENC,GPU 如何让视频处理起飞?
javascript·编辑器·音视频·视频编解码·视频
EasyDSS5 天前
全能音视频平台/私有化音视频系统EasyDSS!直播/点播/会议/集群对讲一站式落地
音视频
Damon_X5 天前
车载音频复习
音视频
3DVisionary5 天前
告别数据中断:XTDIC-VG视频引伸计在金属疲劳测试中3个真实案例
人工智能·音视频·应用案例·xtdic-vg·视频引伸计·疲劳测试·实战复盘