- 博客(12)
- 收藏
- 关注
原创 RTMP协议学习——Message与Chunk解读
之前通过对抓包数据的学习和分析,对RTMP协议有了一个整体的认知,大致了解了RTMP从建立连接到播放视频的流程,文章请看《RTMP协议学习——从握手到播放》。但是对于RTMP消息传输的载体还没有过多的分析。本文将会就RTMP的传输数据方面,对RTMP协议进行进一步的研究和学习。在 RTMP(Real-Time Messaging Protocol)中,消息(message)和分块(chunk)是两个重要的概念。消息(Message): RTMP 的通信单元被称为消息。
2023-12-02 09:38:07
1370
原创 H.264 和 H.265对比
H.264标准正式发布于2003年3月,距今已经20多年了,但它仍然是当下最流行的视频编解码标准。H.265正式发布于2013年4月。虽然H.265标准是围绕着H.264进行制定的,也保留了原来的一些技术,但是在提升压缩率,改善码流质量,降低延时等方面使用了更为先进的技术。下面我将从编码原理,实际的效果等部分方面对H.264和H.265进行一些比较。得益于更复杂先进的技术和算法,H.265能够提供比H.264更高的画面质量和压缩率。
2023-11-23 09:24:08
699
原创 H.264中的帧
通过解封装,可以将数据解析为H.264格式的数据流,通过解码,可以将H.264格式的数据流输出为非压缩的颜色数据,如YUV,RGB等。由于一个视频文件中可能存在I,B,P三种不同的视频帧,所以帧的解码和播放顺序可能会不同。相对于关键帧(I 帧)和预测帧(P 帧)具有更高的压缩效率和更复杂的结构,适当的引入B帧可以显著的较小视频文件的大小,提升视频的传输效率。其中M=2,N=12。I帧和IDR帧都是H.264视频编码中的关键帧,所有的 IDR 帧都是 I 帧,但是并不是所有 I 帧都是 IDR 帧。
2023-11-21 23:16:10
358
1
原创 RTMP协议学习——从握手到播放
从客户端发起播放请求,到rtrmp视频流开始播放,大致经过了这几步比较重要的步骤。下面我将结合wireshark的抓包,对其中的每个流程进行分析和学习。
2023-11-10 22:02:41
228
1
原创 FFMPEG+SDL简单视频播放器——人脸检测
最近突发奇想,给播放器加上一个人脸检测的功能(事情似乎朝着奇怪的方向发展了,谁家的播放器会需要去检测人脸啊😑!),主要的目的是为了学习opencv,尝试将ffmpeg和opencv融合在一起使用。这里着重展示opencv用于人脸检测部分的代码,播放器其余部分可以参考《FFMPEG+SDL简单视频播放器——视频播放》和《FFMPEG+SDL简单视频播放器——视频快进》
2023-10-18 09:42:56
157
1
原创 FFMPEG+SDL简单视频播放器——视频快进
之前写过一个关于的文章。播放器只简单实现了视频播放的功能,在此功能的基础上,给它加上一个视频快进的功能。
2023-10-11 09:28:10
226
原创 H.265+SRS6.0服务器部署
SRS从6.0开始,全面支持H.265,包括RTMP、FLV、HLS、GB28181、WebRTC等等。具体的服务器部署及H.265推流步骤如下。
2023-09-02 00:55:39
1093
原创 实现在Qt窗口中嵌套SDL
在现代软件开发中,多媒体处理和交互性成为应用程序不可或缺的一部分。Qt作为一个强大的GUI框架,为开发者提供了丰富的图形、界面和事件处理工具。然而,有时候,我们可能需要更多的多媒体功能和更高的性能,而这就是SDL(Simple DirectMedia Layer)的用武之地。在本文中,我们将探讨如何在Qt窗口中嵌套SDL,以便在应用程序中拓展多媒体体验和性能。
2023-08-22 00:19:08
570
1
原创 SRS之StateThreads学习
最近在看SRS的源码。SRS是基于协程开发的,底层使用了StateThreads。所以为了充分的理解SRS源码,需要先学习一下StateThreads。这里对StateThreads的学习做了一些总结和记录。
2023-07-12 16:16:33
198
1
原创 FFMPEG+SDL简单视频播放器——视频播放
最近看了雷霄骅前辈的博客,参照他的代码,在windows端实现了一个简单的视频播放器,代码的有部分改动,但是整体的思路和实现的功能是一样的。下面将对实现的源码进行分析,并对其中的一些细节进行记录。
2023-07-04 15:33:37
147
原创 HLS AES加密
HLS AES加密是一种用于保护HLS流内容安全的加密技术。它通过将HLS媒体文件进行分段,并使用AES加密算法对每个片段进行加密,从而防止未经授权的访问和内容盗取。HLS AES加密的功能主要包括以下方面:内容保护:使用AES加密算法对HLS媒体片段进行加密,确保媒体内容在传输和存储过程中的安全性。只有拥有相应密钥的用户才能解密和播放内容。防止盗链:通过加密HLS媒体片段,防止未经授权的第三方站点直接链接到您的媒体内容。只有通过合法的许可方式获得密钥的用户才能成功解密并播放媒体。
2023-06-24 16:08:36
916
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人