理解RTMP协议——chunk格式

2019-03-20
阅读 7 分钟
8.9k
本文梳理了理解RTMP协议的基本概念访问我的博客了解更多 RTMP 的 message 与 chunk message 是 RTMP 中的 M,是消息的单位 {代码...} Message Type(1 byte),消息类型很重要,它代表了这个消息是什么类型,当写程序的时候需要根据不同的消息,做不同的处理。 Payload length(3 bytes),表示负载的长度(big-endian 格...

理解RTMP协议——握手连接

2019-03-20
阅读 4 分钟
6.4k
本文梳理了理解RTMP协议的基本概念访问我的博客了解更多 RTMP 的通信机制 rtmp 客户端与服务端通信的机制 下图是播放器与 rtmp 服务端通信的例子 另外推荐阅读 nginx-rtmp-module 源码,比如,握手协议相关代码在 ngx_rtmp_handshake.c 文件 RTMP 的握手连接的例子 step 1, tcp 三次握手 TCP 握手过程这里不详细展开,参...

理解RTMP协议——简单认识

2019-03-20
阅读 2 分钟
7.1k
直播行业的兴起,带动了音视频相关技术的发展,本文介绍 RTMP 协议,让人快速理解它。看下面一张视频直播的大体架构图,找找 RTMP 的位置,明白 RTMP 扮演的角色与重要性

Linux 性能诊断——平均负载 Load 问题

2019-03-10
阅读 3 分钟
2.8k
当时我不明白 Load 的意思,面试官解释说这个指标反映不可中断状态的进程比较多。我遂根据过往后端开发经验,回答可能系统中 io 阻塞比较多,多发于网络 io 问题,用命令 netstat -tnp 看看 tcp 连接中 time_wait 状态多不多...

音视频编程基本概念梳理

2019-02-06
阅读 5 分钟
3.3k
本文梳理了音视频编程开发者需要了解的基本概念,当然,有的人一开始看着干巴巴的理论,感到困乏,却是一个喜欢动手实践的开发者,那么先实践 ffmpeg的C语言编程入门,然后再来看理论篇更好了。

辟谣网传的"删除许多个本地文件,rsync 比 rm 快"

2019-01-31
阅读 9 分钟
7.9k
"rsync所做的系统调用很少:没有针对单个文件做lstat和unlink操作。命令执行前期,rsync开启了一片共享内存,通过mmap方式加载目录信息。只做目录同步,不需要针对单个文件做unlink"

你弄懂Kafka使用什么性能策略吗

2019-01-28
阅读 4 分钟
4k
本文是我研究Kafka的一点心得,欢迎指出纰漏更多访问我的博客 前言 Kafka 作为愈加流行的流处理平台,让人好奇它为何如此受人青睐,盛名之下无虚士,我从性能角度来探索 Kafka 的奥妙。 明确Kafka的性能阵地 首先,明确研究问题的方向。Kafka 是一个分布式的流式数据平台 它的重要功能有: 消息系统,提供事件流的发布与...

如何在浏览器中播放pcm音频

2019-01-22
阅读 5 分钟
12k
本文记录一点工作经历,探讨音频文件的格式更多访问我的博客 前言 最近在整理音视频编程的知识,回忆起半年多,有一次需求是在后台播放某来源的 pcm 文件,当时处理方法用了点技巧,记录下来 背景:业务需求,在web后台里播放 pcm 文件,文件不大(约300KB,已知 pcm 的参数采样率16000,采样位数16,声道数1 如何播放 浏...

如何将ffmpeg封装golang/cgo库

2019-01-22
阅读 5 分钟
13.6k
继上一篇 ffmpeg音视频C编程入门, 使用高性能的C语言进行音视频的处理,比较执行效率比较高,但是业务需求,快捷开发需要使用更方便的语言,比如 golang,本文介绍如何将 将视频转成GIF 的C语言方法封装成 golang 方法以便调用。(不明白的同学请点击上面链接多了解)

一步步进行ffmpeg的C语言音视频编程

2019-01-22
阅读 10 分钟
12.9k
本文以 ffmpeg 工具,讲述如何认识音视频编程,你可以了解到常见视频格式的大概样子,一步步学会如何使用 ffmpeg 的 C 语言 API