音视频采集封装到直播推流的简单原理

那么今天要分享的主要是两个内容,第一个是对硬件采集的资源怎么做一个打包封装,另一个是处理完成的资源如何直播,作为在日常业务测试线的一个业务逻辑扩展,纯粹个人理解,所以不会有一些深入的讲解,毕竟网上的文章够多了。

直接用visio花了一张图:
这里写图片描述

一、采集 && 封装

针对手机外接硬件的一个音视频采集,采集到的都是原始数据,那么这些数据经过一系列的处理,封装成用户可以直接播放的文件,比如mp4、mkv等等。
原始视频的格式一般是YUV和RGB等等,那么常用的就是yuv420,原始音频格式一般是PCM、FLTP等(这里只列出来了项目中用到的两个),特点就是很大。
压缩编码的意思,就是对原始音视频资源进行压缩和编码,涉及到的编码标准常用的就是h264以及acc。
封装的意思就是把经过压缩编码的音视频和一些meatadata标签信息,一起打包成可供播放的资源文件,类似mp4这种。
上面这几部的信息可以通过ffmpeg -i 你的资源这条命令查看,比如我随便找了我电脑上的一个mp4文件:
这里写图片描述
可以看到还是比较全的,下面来看看:
Metadata:可以读到封包的一些信息、资源创建时间、长度啊等等,如果会安卓开发的话可以发现android提供了一个类MediaMetadataReceiver,专门用来存这些信息的。
Stream:这个是一些压缩编码的信息了,可以看到音频是用了acc编码的,视频用的是h246编码的,以及编码时候的码率,分辨率这些信息,嗯,后面还带有音视频流的一些metadata信息。
那么第一部分就说完了。

二、接下来第二部分,是直播的一个原理。

那么经过采集封装后的资源,就需要经过推流到服务器,然后播放器再去接收服务器给的地址实现直播播放,这里要了解的是推流协议和流媒体协议。
推流协议一般都是rtmp,没什么说的,然后直播流媒体协议主要是下面4个:

  • 列表内容
  • RTMP:延迟低,用的最多,是基于tcp的
  • HDL(HTTP_FLV):延迟同样低,用的也挺多,不同rtmp,这货是基于http的
  • HLS:延迟高,因为要分段去下载接收,但是支持h5,易于传播易于观看
  • RTP:实时传输,常用在视频会议

RTMP和HDL两个协议至少我们公司是同时RTMP和HDL都支持的,两者相差不大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/66391.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 使用Rtmp音视频推流

前言 本文介绍的是使用Android摄像头、麦克风采集的音、视频进行编码。然后通过librtmp推送到流媒体服务器上的功能。 我所使用的环境:Android Studio 2.2.3 、NDK13。 流程 使用到的Api 音视频采集用到的api有:Camera、AudioRecord编码用的是系统提…

【流媒体】推流与拉流简介

本文目录 一、概念 1.1 推流 1.2 拉流 二、示意图 三、RTMP传输协议 四、流媒体协议与格式 一、概念 话不多说,先了解概念,再看示意图更直观: 1.1 推流 推流:将直播的内容推送至服务器的过程。即指的是把采集阶段封包好的…

【知识拓展】音视频中的推流与拉流

本文目录 一、什么是推流? 二、什么是拉流? 一、什么是推流? 先来看张图片,看着图再配上文字容易理解: 推流,指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程…

视频点播RTMP推流直播流媒体服务二次开发集成接口

LiveQing流媒体服务器软件,提供一站式的转码、点播、直播、时移回放服务,极大地简化了开发和集成的工作。 其中,点播功能主要包含:上传、转码、分发。直播功能,主要包含:直播、录像, 直播支持R…

音视频直播推流和拉流到底是什么意思?

为什么直播现场的信息,用户通过手机或者网站就能很快的看到呢?为什么有时候网络不稳定,直播效果会有延迟呢?现场的视频信号又是如何传到网络呢? 这些所有问题的产生,都离不开视频直播中常说的两个词&#…

视频直播推流攻略(整理的各大平台推流界面)

如果我要做一场高端大气的直播活动,需要用高清摄像机拍摄画面,需要接入无人机的高空画面,需要在直播中插入多个镜头,甚至需要把电脑桌面共享到直播画面中...... 该如何将这类现场信号采集并整合起来传输到网络呢? 这个…

音视频流媒体-推流与拉流简介

一、概念 话不多说,先了解概念,再看示意图更直观: 1.1 推流 推流:将直播的内容推送至服务器的过程。即指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”对网络要求比较高&a…

Feishu(飞书) 聊天机器人应用(3/3)- DevOps 机器人助手,管理 GitLab Issues,BOT 开源示例程序

目录 DevOps 机器人助手命令示例 配置使用创建机器人设置环境变量GITLAB_URLPRIVATE_TOKENVALID_PROJECTS 修改对话使用帮助本系列文章 在上一篇文章:Feishu(飞书) 聊天机器人应用(2/2)- 定制对话,实现知识库、信息查询、意图识别…

什么是飞书机器人?如何定时发送飞书机器人消息?

什么是飞书机器人? 机器人是飞书应用的一种能力类型。基于飞书的机器人能力,开发者能够以较低的开发成本(只需在服务端开发),实现在飞书单聊或群组中的消息推送和简单互动,完成企业系统数据与飞书的互联互通…

RPA工具实现飞书群聊自动发送信息,我终于也有了自己的机器人

一.RPA究竟是个啥? 首先,他的全称是:Robotic Process Automation,嫌太长,我们三个单词拆开看看: Robotic:软件机器人,不是物理上能走能动的机器人哦,而是一…

android面试:面向移动应用开发者的 Android 面试经常提问到的15道面试

Android 软件开发是为运行 Android 操作系统的设备创建应用程序的过程。可以使用 Android 软件开发工具包使用 Kotlin、Java 和 C 语言编写 Android 应用程序。以下是关于 Android 的编码面试问题列表,可帮助您秋招下一次技术面试做好准备。 🔹 1. 提一…

字节跳动资深面试官亲述:面试应该注意哪些问题?

01面试做匹配 面试官的根本目的在于考察你这个人是否与招聘岗位相匹配,衡量能否胜任工作,我们在面试中要做到的就是让面试官相信我们能够与应聘岗位相匹配。 针对一些面试题做了总结: 1.请简单进行一下自我介绍 首先请报出自己的姓名和身…

字节跳动面试官问我看过哪些源码,然后就没有然后了

最近,我的一位朋友在找工作,已经拿到了美团、快手等公司的Offer,准备选择其中一家入职了。 后来他又接到了字节跳动的电话,通知他去参加三面。从二面到三面之间隔了挺久的,他以为都没戏了,结果就收到了通知…

今日头条面试

首先说一下,今日头条的面试主要分为三轮到四轮,如果是旺季面三轮,首先是基础面试,基本面试一般10个题左右,最近面试了一下今日头条的移动Android资深工程师,记录下。 第一面是北京的开发进行视频面试&…

字节跳动Android高工面试官现身说法,深度解密大厂面试套路,赢在起跑线!

前言 面试从来不是要你给出每一个问题的标准答案,而是要你给出这个问题的你的、自己的答案。 一 关于简历 面试首先要提到的就是简历,简历这个东西真的是一个很深奥的事情,为什么深奥,其实是对像和我这样的人深奥:学…

头条面试官问我看过哪些源码,然后就没有然后了

最近,我的一位朋友在找工作,已经拿到了美团、快手等公司的Offer,准备选择其中一家入职了。 后来他又接到了字节跳动的电话,通知他去参加三面。从二面到三面之间隔了挺久的,他以为都没戏了,结果就收到了通知…

今日头条面试相关

原文地址: http://cv.qiaobutang.com/post/55e6a1110cf2633c1ba8ce8f 面试经历: 总共四轮,HR约得时间是下午两点半开始面,结果我2点20提前到了,坐在那一直等,等到3点5分才叫我去一个会议室,结果…

面试今日头条Android开发,结束时我问了面试官是否有女朋友,结果你猜?

点击上方“何俊林”,马上关注,每天早上8:50准时推送 真爱,请置顶或星标 本文转载自牛客网,作者:皮蛋瘦肉粥,链接:https://www.nowcoder.com/discuss/85227?type0&order0&pos28&pag…

剖析今日头条技术面试过程以及应该如何准备?

作者:“想去大厂的小菜鸡” https://juejin.im/post/5c14e7f051882562502f077 国庆期间公司的项目很闲,很多人觉得没意思陆续走了,我也考虑到自己的发展,从9月底开始面,面到11月底,三十家公司。我从不打没准…

腾讯面试Android必问11题,我说的,不信就来看看

众所周知兔子啥都会那么一点,不收藏等着干啥呢 1、是否使用过本地广播,和全局广播有什么差别? 引入本地广播的机制是为了解决安全性的问题: 正在发送的广播不会脱离应用程序,比用担心app的数据泄露;其他的…