在前面的文章中,我向大家分享了RTMP协议的交互过程,以及librtmp源代码的核心实现,今天我继续向大家讲解如何自己动手实现一个简单的rtmp服务。出于时间和精力以及水平的...
在前面的文章中,我向大家分享了RTMP协议的交互过程,以及librtmp源代码的核心实现,今天我继续向大家讲解如何自己动手实现一个简单的rtmp服务。出于时间和精力以及水平的...
以前我也写过类似的文章,大家可以翻看我的简书旧文,之所以旧题重谈,这是因为最近在项目中又有涉及回调的问题,关于回调用法的总结,大家可以参看我的另一篇文章《c/c++回调技术总...
昨天,我一位要好的朋友发了一张图片给我,问我有什么看法,图片是这样的: 我仔细地研究了这张图,它包含了以下语义,当然这只能代表我个人的看法,毕竟仁者见仁、智者见智: 1. 人...
librtmp是我们平常工作中进行推拉流开发的重要工具,官方提供的版本是基于C/C++技术栈的,但是有不少的其它高级语言技术栈也都提供了相应的包装或移植版本。 RTMP协议非...
什么是阿米巴经营模式? “阿米巴”(Amoeba)在拉丁语中是单个原生体的意思,属原生动物变形虫科,虫体赤裸而柔软,其身体可以向各个方向伸出伪足,使形体变化不定,故而得名“变...
AMF是Adobe公司开发的一种高效的消息序列化和反序列化协议,它包括两种数据类型格式:AMF0和AMF3。其中AMF0是基本的消息格式,但是后来Adobe对AMF0进行了优...
基本概念: RTMP协议规定,发布一个流媒体有两个前提步骤:第一步,建立一个网络连接(NetConnection)。第二步,建立一个网络流(NetStream)。网络连接代表...
基本概念: RTMP协议规定,播放一个流媒体有两个前提步骤:第一步,建立一个网络连接(NetConnection)。第二步,建立一个网络流(NetStream)。网络连接代表...
目前比较主流的直播技术有RTMP、HLS,其中RTMP主要基于TCP协议,HLS主要基于HTTP协议,二者在实施成本、延迟性等方面有较大差异。本文主要讲解RTMP的推流与拉流...
今天和大家分享的是一个中小型分布式KV数据库的设计,数据容量定位于千万至亿级,因为这个级别可以满足大多数中小型互联网企业的存储需求,设计和开发者可以腾出手来,把高可用和高可运...
近日和朋友聊到存储系统设计的相关技术,结合以前我在互联网公司做分布式系统的一些经验,本篇就粗略地讲一讲如何设计一个简单的磁盘文件系统。 磁盘的结构: 传统的磁盘结构是像下面这...
播放步骤: 一个音频文件播放的过程包括以下几个阶段:a) 解协议 —— 当音频文件在远端时,需要通过网格协议的方式传输到本地,如HTTP、RTSP、RTMP,这里会执行一个解...
什么是音频重采样? 由于从网络流、本地媒体文件等各种渠道解码的AVFrame帧,其采样位数、声道数、采样率都是不确定的,但是在很多的播放器框架中,需要播放指定的采样位数、声道...
前文讲到了图论中的最小生成树问题,个人觉得有必要继续讲讲最短路径算法的选路问题。 什么是最短路径? 互联网技术和应用的不断发展,对当今网络通信流量的要求不断增大。流量大、速度...
最近在跟同事们聊到图论的最小生成树问题,以及如何编写算法,用于工程中解决实际问题,这里我也就顺便简单写几句。 什么是最小生成树? 现在假设有一个很实际的问题:我们要在n个城市...
我的前两篇文章讲到了MP3和AAC文件的编码与生成,下面接着讲一讲如何解码它们。经过前面一段时间的积累,我们也对MP3和AAC有了初步的了解,本文直接以用法入题。 相关接口:...
解题思路: 前文写到了使用API接口将生成的纯音PCM样本直接写入到.mp3文件中,我们是否可以使用同样的方法生成.aac文件呢?答案是不行,AAC文件格式要求写入相应的头部...
MP3文件格式: MP3的全称是MPEG Audio Layer3,它是一种高效的计算机音频编码方案,它以较大的压缩比将音频文件转换成较小的扩展名为.MP3的文件,基本保持原...
ALSA框架介绍: ALSA概述: ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更...