-
RTMP协议学习——Message与Chunk解读
前言之前通过对抓包数据的学习和分析,对RTMP协议有了一个整体的认知,大致了解了RTMP从建立连接到播放视频的流程,文章请看《RTMP协议学习——从握手到播放》 。但是对于RTMP消息传输的载体还没有过多的分析。本文将会就RTMP的传输数据方面,对R... -
H.264和H.265对比
前言H.264标准正式发布于2003年3月,距今已经20多年了,但它仍然是当下最流行的视频编解码标准。H.265正式发布于2013年4月。虽然H.265标准是围绕着H.264进行制定的,也保留了原来的一些技术,但是在提升压缩率,改善码流质量,降低延时... -
H.264中的帧
导言高级视频编码 (AVC) 也称为 H.264,是使用最广泛的视频压缩标准。它与所有主要的流式传输协议和容器格式兼容。当我们使用播放器播放一个视频时,通常会经过:解协议,解封装,音视频解码,音视频同步这几个步骤。其中H.264就是视频解码阶段的标准... -
RTMP协议学习——从握手到播放
从客户端发起播放请求,到rtrmp视频流开始播放,大致经过了握手->建立连接->创建流->播放这几步比较重要的步骤。下面我将结合wireshark的抓包,对其中的每个流程进行分析和学习。 握手RTMP协议基于TCP,TCP建立连接有... -
FFMPEG+SDL简单视频播放器——人脸检测
前言最近突发奇想,给播放器加上一个人脸检测的功能(事情似乎朝着奇怪的方向发展了,谁家的播放器会需要去检测人脸啊😑!),主要的目的是为了学习opencv,尝试将ffmpeg和opencv融合在一起使用。这里着重展示opencv用于人脸检测部分的代码,... -
FFMPEG+SDL简单视频播放器——视频快进
之前写过一篇关于视频播放器 的文章。播放器只简单实现了视频播放的功能,在此功能的基础上,给它加上一个视频快进的功能。 实现添加参数123456// video play control bool do_seek = false; // 播放状态... -
H.265+SRS6.0服务器部署
H.265+SRS6.0服务器部署SRS从6.0开始,全面支持H.265,包括RTMP、FLV、HLS、GB28181、WebRTC等等。具体的服务器部署及H.265推流步骤如下。 1. SRS 要支持h265,需要确保SRS的版本为6.0.4+ ... -
实现在Qt窗口中嵌套SDL
在现代软件开发中,多媒体处理和交互性成为应用程序不可或缺的一部分。Qt作为一个强大的GUI框架,为开发者提供了丰富的图形、界面和事件处理工具。然而,有时候,我们可能需要更多的多媒体功能和更高的性能,而这就是SDL(Simple DirectMedia... -
SRS之StateThreads学习
最近在看SRS的源码。SRS是基于协程开发的,底层使用了StateThreads。所以为了充分的理解SRS源码,需要先学习一下StateThreads。这里对StateThreads的学习做了一些总结和记录。 StateThreads是什么State... -
FFMPEG+SDL简单视频播放器——视频播放
前言最近看了雷霄骅前辈的博客《最简单的基于FFMPEG+SDL的视频播放器 ver2 (采用SDL2.0)》 ,参照他的代码,在windows端实现了一个简单的视频播放器,代码的有部分改动,但是整体的思路和实现的功能是一样的。下面将对实现的源码进行分...