惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Forbes - Security
Forbes - Security
A
Arctic Wolf
M
MIT News - Artificial intelligence
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
L
Lohrmann on Cybersecurity
Martin Fowler
Martin Fowler
A
About on SuperTechFans
P
Palo Alto Networks Blog
Project Zero
Project Zero
The GitHub Blog
The GitHub Blog
WordPress大学
WordPress大学
Blog — PlanetScale
Blog — PlanetScale
博客园_首页
大猫的无限游戏
大猫的无限游戏
Cisco Talos Blog
Cisco Talos Blog
P
Proofpoint News Feed
D
DataBreaches.Net
Cyberwarzone
Cyberwarzone
T
Tor Project blog
IT之家
IT之家
P
Proofpoint News Feed
Help Net Security
Help Net Security
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
CXSECURITY Database RSS Feed - CXSecurity.com
Microsoft Azure Blog
Microsoft Azure Blog
V2EX - 技术
V2EX - 技术
K
Kaspersky official blog
Hugging Face - Blog
Hugging Face - Blog
MongoDB | Blog
MongoDB | Blog
B
Blog
N
News and Events Feed by Topic
The Cloudflare Blog
S
Schneier on Security
P
Privacy & Cybersecurity Law Blog
T
The Blog of Author Tim Ferriss
Recorded Future
Recorded Future
Last Week in AI
Last Week in AI
The Last Watchdog
The Last Watchdog
Hacker News - Newest:
Hacker News - Newest: "LLM"
L
LangChain Blog
I
InfoQ
F
Full Disclosure
The Register - Security
The Register - Security
阮一峰的网络日志
阮一峰的网络日志
H
Hacker News: Front Page
V
V2EX

博客园 - 邗影

关于音频PA结构腔体 球面渲染 关于linux和shi脚本常用的通配符 关于fread读不满一块和读不满count的返回值 如何去掉merge UBI的覆盖写和擦除 DTSI 多个模块共用同一个 GPIO 引脚冲突 问题汇总 debug比release程序启动的快 关于CPU占用优先级的调整 关于蜂鸣器发声 麦序与声源定位 关于squashfs压缩挂载 软连接生成 线程退出未定义行为 linux文件查找 C语言弱函数 数据传输报错port unreachable D3D11绘制三角形 关于延迟测试 v4l2检测 关于数据库的性能 v4l2视频采集 流媒体ZLM配置vscode远程开发 关于SPS中的帧率问题 Linux编译问题 SSl冲突问题 D3D初始化窗口显示 关于线程池
流媒体小记包含一些面试问题
邗影 · 2025-08-12 · via 博客园 - 邗影

RTMP(应用层协议)是TCP传输还是UDP传输?

1、RTMP官方文档没有明确的表示不支持UDP传输,但是通篇的例子都是TCP传输RTMP;包括一些开源流媒体,一般都只采用TCP传输RTMP;

2、主要可能是考虑TCP有乱序重排,和丢包重传;另外是RTMP的chunkSize一般设置的比较小,可能一帧发很多chunk,UDP的话丢数据整个帧也就没办法解码了;

3、RTMP也有变种协议支持UDP传输;

4、RTMP官方文档  https://rtmp.veriskope.com/pdf/rtmp_specification_1.0.pdf

TCP默认是阻塞还是非阻塞?

1、无论是win还是Linux,默认socket都是阻塞的;也就是读不出来或者写不进去就等着;

2、需要通过函数设置为非阻塞

      Linux设置非阻塞:fcntl(socket, F_SETFL, flags | O_NONBLOCK);

  Windows:

  if (ioctlsocket(sock, FIONBIO, (u_long FAR*)&nonblock) == SOCKET_ERROR)

3、socket读写是针对从内核读出,和写入内核而言的

数据传输中的加密算法有哪些,用在什么地方?

1、加密算法分为对称加密,和非对称加密(公钥加密);对称加密使用相同的密钥,秘钥需要进行第二次的非对称加密;

2、公钥加密方式是使用对方的公钥加密,对方在使用自己的私钥解密,所以需要一个交换双方公钥的过程

 3、常用加密方式:对称加密:AES128,AES192,AES256、base64加密;非对称加密:RSA加密;摘要加密:MD5(一般用于生成唯一ID)

RTMP打包格式?

chunk的 默认大小?为什么常用128字节?

1、chunksize大小是从12865536字节;

Rtmp包中有几种时间戳?分别代表什么?

chunk中是否可以存多帧?

chunk中AAC的打包方式,怎么打包采样率的?

RTMP中PTS和DTS是怎么记录的?RTMP的时间单位是什么?

FLV的基本格式?他的时间基是什么?FLV和RTMP的关系是什么?

PTS、DTS的顺序,为什么会出现负值dts?

怎么区分P,B帧,是通过什么算法解析的slice?

AVCC annexb格式的区别?RTMP中使用的是AVCC还是annexb?

YUV表示什么?444,422,420的YUV排布和数据量什么样?

TCP同步,异步传输?MTU(是否TCP, UDP都有),MTU,MSS  rtt  MSL,TTL,等是什么?)

TCP传输的包头长什么样子?

MTU最大是多少?15W数据怎么发送过去?分包和组包,TCP和UDP的处理区别,丢包。

1、MTU:68字节到65535,不同的数据链路MTU大小限制也不同;MTU的设置可以更好地实现网络传输效率(图片来自图解TCP/IP)

2、MTU=1500时候;UDP 包的大小就应该是 1500 – IP头(20) – UDP头(8) = 1472(BYTES);TCP 包的大小就应该是 1500 – IP头(20) – TCP头(20) = 1460 (BYTES)

3、以太网MTU大小最初是由物理测试得到的一个传输效率最高的值,这个值需要路由器,交换机,网桥都支持;

4、MTU限制 = ip头20字节+传输协议头(TCP=20、UDP=8,ICMP【ping】=8)+荷载内容;

数据包为什么需要排序?

1、因为发出去之后路由路径不一定只有一条,所以到达对端的顺序不一定是发送顺序;就需要重新排列数据包;

RTP 打包方式FU打包?single NALU,stap-A打包方式的具体样式?

RTP包头格式?

B 帧能不能出现在两个P帧之间? B帧是怎么产生的?

HLS与RTMP(flv)比较?

1、首先要知道HLS播放的是M3U8索引的TS切片,要播放成功HLS至少M3U8里要有3个切片。所以HLS延时较大;

2、FLV全名叫flash video,RTMP是FLV格式的进化,底层都需要flash支持;

3、HLS 全名HTTP live streaming, HTTP直播流

HLS的优势和不足:

    优势:
        使用HTTP协议传输数据,不会被防火墙屏蔽掉,易于分发。
        码率自适应,提高播放流畅度。
        无状态协议,便于负载均衡。
        浏览器支持好,无需安装插件。
    不足:
    实时性差,延迟高,两个原因:
    1采用切片式的多媒体文件,因为切片需要时间编码,所以一个切片的延时不可避免。
    2使用http短连接,需要不断的与server建立连接,且基于tcp,需要三次握手,四次挥手,交互耗时长
————————————————

 原文链接:https://blog.csdn.net/Ritchie_Lin/article/details/121733309

解码输出的stride是什么?为什么会有这个?

(方便指令集加速,一种对齐的部分,padding,不含视频数据)

stride是硬解码输出YUV才有的产物,主要是不同芯片厂商为了提高解码性能和速度,制定了优化策略,而产生stride;但是stride多出来的部分是无用数据;

 就比如这种 1920*1080硬解码输出2048*1088

RTSP协议传输有RTCP吗?RTCP是怎么放置的?

1、(SDP 2通道,通道2一般是RTCP)

2、RTSP传输数据有RTCP的时候,一般会分为RTSP协议解析,和RTP数据解析部分,RTP数据解析部分会区分不同的通道一般单号的通道是处理RTCP的

3、通道信息在SDP交互的时候告知,数据传输RTP包24 00 len1 len2 80 e0.....这个是第一个通道,24 01 len1 len2 80 c8....是RTCP,24 02 len1 len2 80 ....是音频

4、RTSP传输是TCP,UDP均可的,也是低延迟,因为它也是按帧传输解析的。

5 rtsp交互过程和信令内容解析可以看我的这篇 wireshark解析RTSP交互

国标协议传输RTCP吗。怎么传的?

1、双端口,一个接收RTP数据,一个接收RTCP,双端口号接收RTP国标,+1端口接收RTCP

2、RTCP 一般有SR(发送端报文),RR(接收端报文),SDES(源描述),BEY(通知离开)等信息对应的RTP包头是0x 80 0xc80x80 0xC9,0x80 0xCA,0x80 0xCB

3、RTCP一般是UDP传输的,包比较小;(没说不能TCP,但是一般只有UDP传输RTCP)

4、国标数据传输一般是需要sip(会话发起协议Session initialization Protocol)协议配合的,因为sip要协商设备进行主动发流,接收注册、注册,停止,用于创建、修改和释放一个或多个参与者的会话

SIP协议是干什么的?

1、SIP的默认传输协议是 UDP;SIPS:的缺省传输协议是TCP。tcp/udp默认5060,tcp+tls5061;tcps5061.

2、重点是用户代理、注册、invite会话发起的过程;可以网上搜一下看一下 北小菜 大佬的教学视频

Http协议是基于什么传输的?

1、Http超文本传输协议,是基于TCP协议传输的,目前的Http不支持UDP传输;Http3开始才基于QUIC(UDP)传输支持;

2、Http是一个应用层的协议;用于网页文本信息传输;{以太网首部 {  IP首部 { TCP首部 {http超文本}}}}

3、进过了域名解析,路由选择,三次握手,接收端数据包重排,丢包重传(如果丢包了的话)进行数据传输;

http的四次挥手中的timewait和closewait?

1、不管是客户端还是服务端,谁在请求头里发了connection:close,它的对端就会主动发起挥手

2、四次挥手涉及FIN,ACK,的flag;主动挥手端可能会出现timewait;被动挥手端可能会出现closewait(图片来源小林coding)

3、timewait是由于主动关闭引起,但是他最长持续2MSL时间,影响是会占用端口,但是不是永久的;可是closewait是被动端等待本端关闭的时间,影响也是会占用端口,但是可能会因为程序bug而永久处于closewait状态(只要程序还在)

4、timewait等待时长 MSL一般是60秒,主要是为了保证对方能顺利 接收ACK,否则还要进行挥手FIN;另外是保证本次交互的http数据已经完全在网络中消失

点播:

HLS点播相对于RTSP的MP4点播优势在于,MP4的MOOV解析耗时;缺点是TS点播不能精准定位;

音视频同步:

为什么一般不使用音视频向系统时钟同步?

人为修改服务器的系统时间,会导致系统时钟的定时器错乱;

如果有时间戳的跳跃(不是偶尔的调变);就要长时间的等待;

时间戳问题:

PS和TS的时间戳在PES里

RTSP是怎么做流控的?做流控的方案?

 RTSP一般是通过RTCP中的丢包之类的回复参数来控制调整发送端的码率

其他方案:接收端* 秒接收不到视频,数据帧,通过业务通知发送端

SIP协议常用功能?

注册,invite,查询;参考北小菜的博客

TCP传输和UDP传输的缺点?

TCP粘包

UDP乱序