网易云直播 —— 会议系统开发推流

[golang 流媒体在线直播系统] 1.直播的简单介绍以及借助腾讯云直播实现在线直播 直播的简单介绍以及借助腾讯云直播实现在线直播,OBS的使用,VLC的使用,.H5 客户端中分别使用 RTMP 协议以及 HTTP-FLV 协议拉流 阅读详情

直播最主要的两端:推流直播 和 拉流观看。网易云关于推流,提供了不错的Demo 和 相应代码。

为了便于推流的管理和调用,我将推流功能放在了单独Fragment中。这样页面中不管推流直播显示窗口有多大,在哪个位置都不用担心。而且,会议页面同时会有推流 和 拉流功能,因此将推流 和 拉流分别放在Fragment中更有必要。

推流功能的,具体的集成步骤,还是建议参考官方步骤(官方有权威性和及时性,我说的是负责的官方)。Android网易云推流集成步骤

一、libs 文件夹jar包, .so等相应文件的导入;
二、assets/filter下的滤镜文件的导入(若使用sdk自带滤镜功能,必须导入);
三、AndroidManifest.xml 需要配置直播相关的权限,代码中动态申请权限;
权限处理相关代码:

/**   6.0权限处理     **/
private boolean bPermission = false;
private final int WRITE_PERMISSION_REQ_CODE = 100;
private boolean checkPublishPermission() {
    if (Build.VERSION.SDK_INT >= 23) {
        List<String> permissions = new ArrayList<>();
        if (PackageManager.PERMISSION_GRANTED != ActivityCompat.checkSelfPermission(ConfigActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
            permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
        }
        if (PackageManager.PERMISSION_GRANTED != ActivityCompat.checkSelfPermission(ConfigActivity.this, Manifest.permission.CAMERA)) {
            permissions.add(Manifest.permission.CAMERA);
        }
        if (PackageManager.PERMISSION_GRANTED != ActivityCompat.checkSelfPermission(ConfigActivity.this, Manifest.permission.RECORD_AUDIO)) {
            permissions.add(Manifest.permission.RECORD_AUDIO);
        }
        if (PackageManager.PERMISSION_GRANTED != ActivityCompat.checkSelfPermission(ConfigActivity.this, Manifest.permission.READ_PHONE_STATE)) {
            permissions.add(Manifest.permission.READ_PHONE_STATE);
        }
        if (permissions.size() != 0) {
            ActivityCompat.requestPermissions(ConfigActivity.this,
                    (String[]) permissions.toArray(new String[0]),
                    WRITE_PERMISSION_REQ_CODE);
            return false;
        }
    }
    return true;
}

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    switch (requestCode) {
        case WRITE_PERMISSION_REQ_CODE:
            for (int ret : grantResults) {
                if (ret != PackageManager.PERMISSION_GRANTED) {
                    return;
                }
            }
            bPermission = true;
            break;
        default:
            break;
    }
}

四、在proguard-project.txt文件中 配置代码混淆;
五、代码编写:
1.首先new lsMediaCapture创建推流实例


lsMediaCapture.LsMediaCapturePara lsMediaCapturePara = new lsMediaCapture.LsMediaCapturePara();
lsMediaCapturePara.setContext(getApplicationContext()); //设置SDK上下文(建议使用ApplicationContext)
lsMediaCapturePara.setMessageHandler(this); //设置SDK消息回调
lsMediaCapturePara.setLogLevel(lsLogUtil.LogLevel.INFO); //日志级别
lsMediaCapturePara.setUploadLog(publishParam.uploadLog);//是否上传SDK日志
mLSMediaCapture = new lsMediaCapture(lsMediaCapturePara);

2.调用startVideoPreview打开预览界面

NeteaseView videoView = (NeteaseView) findViewById(R.id.videoview);
boolean frontCamera = publishParam.frontCamera; // 是否前置摄像头
boolean mScale_16x9 = publishParam.isScale_16x9; //是否强制16:9
lsMediaCapture.VideoQuality videoQuality = publishParam.videoQuality; //视频模板(SUPER_HIGH 1280*720、SUPER 960*540、HIGH 640*480、MEDIUM 480*360、LOW 352*288)
mLSMediaCapture.startVideoPreview(videoView,frontCamera,mUseFilter,videoQuality,mScale_16x9);

// SDK 默认提供 /** 标清 480*360 */MEDIUM, /** 高清 640*480 */HIGH,
// /** 超清 960*540 */SUPER,/** 超高清 (1280*720) */SUPER_HIGH  四个模板,
// 用户如果需要自定义分辨率可以调用startVideoPreviewEx 接口并参考以下参数
// 码率计算公式为 width * height * fps * 9 /100;

//        lsMediaCapture.VideoPara para = new lsMediaCapture.VideoPara();
//        para.setHeight(720);
//        para.setWidth(1280);
//        para.setFps(15);
//        para.setBitrate(1200*1024);
//        mLSMediaCapture.startVideoPreviewEx(videoView,frontCamera,mUseFilter,para);

注意:videoView 是NeteaseView ,如果画面仅占屏幕的局部,需要设置videoView .setFullScreen(false); 这里默认是true,也就是画面占满全屏。

3.initLiveStream初始化推流地址 及 推流参数说明LiveStreamingPara

mLiveStreamingPara = new lsMediaCapture.LiveStreamingPara();
mLiveStreamingPara.setStreamType(publishParam.streamType); // 推流类型 AV、AUDIO、VIDEO
mLiveStreamingPara.setFormatType(publishParam.formatType); // 推流格式 RTMP、MP4、RTMP_AND_MP4
mLiveStreamingPara.setRecordPath(publishParam.recordPath);//formatType 为 MP4 或 RTMP_AND_MP4 时有效
mLiveStreamingPara.setQosOn(publishParam.qosEnable);
//mLiveStreamingPara.setSyncTimestamp(true,false);//(直播答题使用)网易云透传时间戳,不依赖CDN方式,不需要额外开通(必须包含视频流)
//mLiveStreamingPara.setStreamTimestampPassthrough(true); //(直播答题使用)网易云透传时间戳,但完全透传功能需要联系网易云开通,支持纯音频

mLSMediaCapture.initLiveStream(mLiveStreamingPara,mliveStreamingURL);

4.startLiveStreaming开始推流,之后可以调用其他推流过程中的API

mLSMediaCapture.startLiveStreaming();

5.最后先stopLiveStreaming停止推流,再unInit反初始化推流实例释放资源
说明:init与unInit,start与stop都要保持匹配使用

mLSMediaCapture.stopLiveStreaming();
mLSMediaCapture.stopVideoPreview();
mLSMediaCapture.destroyVideoPreview();
//反初始化推流实例,当它与stopLiveStreaming连续调用时,参数为false
mLSMediaCapture.uninitLsMediaCapture(false);

以上五个大步骤,是网易云推流集成到项目的基本步骤。代码的5个步骤:实例创建、画面预览、参数初始化、推流、结束推流释放资源。这些步骤构成了,大体的直播过程。
推流全过程代码:

//以下为SDK调用主要步骤,请用户参考使用
//1、创建直播实例
lsMediaCapture.LsMediaCapturePara lsMediaCapturePara = new lsMediaCapture.LsMediaCapturePara();
lsMediaCapturePara.setContext(getApplicationContext()); //设置SDK上下文(建议使用ApplicationContext)
lsMediaCapturePara.setMessageHandler(this); //设置SDK消息回调
lsMediaCapturePara.setLogLevel(lsLogUtil.LogLevel.INFO); //日志级别
lsMediaCapturePara.setUploadLog(publishParam.uploadLog);//是否上传SDK日志
mLSMediaCapture = new lsMediaCapture(lsMediaCapturePara);

//2、设置直播参数
mLiveStreamingPara = new lsMediaCapture.LiveStreamingPara();
mLiveStreamingPara.setStreamType(publishParam.streamType); // 推流类型 AV、AUDIO、VIDEO
mLiveStreamingPara.setFormatType(publishParam.formatType); // 推流格式 RTMP、MP4、RTMP_AND_MP4
mLiveStreamingPara.setRecordPath(publishParam.recordPath);//formatType 为 MP4 或 RTMP_AND_MP4 时有效
mLiveStreamingPara.setQosOn(publishParam.qosEnable);
mLiveStreamingPara.setQosEncodeMode(publishParam.qosEncodeMode); //1:流畅优先, 2:清晰优先 默认流畅优先

//3、 预览参数设置
NeteaseView videoView = (NeteaseView) findViewById(R.id.videoview);
boolean frontCamera = publishParam.frontCamera; // 是否前置摄像头
boolean mScale_16x9 = publishParam.isScale_16x9; //是否强制16:9
if(publishParam.streamType != AUDIO){ //开启预览画面
    lsMediaCapture.VideoQuality videoQuality = publishParam.videoQuality; //视频模板(SUPER_HIGH 1280*720、SUPER 960*540、HIGH 640*480、MEDIUM 480*360、LOW 352*288)
    mLSMediaCapture.startVideoPreview(videoView,frontCamera,mUseFilter,videoQuality,mScale_16x9);
}

m_startVideoCamera = true;
if(mUseFilter){ //demo中默认设置为干净滤镜
    mLSMediaCapture.setBeautyLevel(5); //磨皮强度为5,共5档,0为关闭
    mLSMediaCapture.setFilterStrength(0.5f); //滤镜强度
    mLSMediaCapture.setFilterType(publishParam.filterType);
}


private boolean startAV(){
    //6、初始化直播
    m_liveStreamingInitFinished = mLSMediaCapture.initLiveStream(mLiveStreamingPara,mliveStreamingURL);
    if(mLSMediaCapture != null && m_liveStreamingInitFinished) {
        //7、开始直播
        mLSMediaCapture.startLiveStreaming();
        m_liveStreamingOn = true;

        if(mNeedWater){
            //8、设置视频水印参数(可选)
            addWaterMark();
            //9、设置视频动态水印参数(可选)
            addDynamicWaterMark();
        }
        if(mNeedGraffiti){
            //10、设置视频涂鸦参数(可选)
            addGraffiti();
        }
        return true;
    }
    return m_liveStreamingInitFinished;
}


//停止直播调用相关API接口
if(mLSMediaCapture != null && m_liveStreamingOn) {

    //停止直播,释放资源
    mLSMediaCapture.stopLiveStreaming();

    //如果音视频或者单独视频直播,需要关闭视频预览
    if(m_startVideoCamera)
    {
        mLSMediaCapture.stopVideoPreview();
        //消耗第三方滤镜
        releaseSenseEffect();
        mLSMediaCapture.destroyVideoPreview();
    }

    //反初始化推流实例,当它与stopLiveStreaming连续调用时,参数为false
    mLSMediaCapture.uninitLsMediaCapture(false);
    mLSMediaCapture = null;
}

网易云推流还有其他很多细节:
1、推流的中断、恢复;(视频、音频);
2、伴音(视频推流过程中,添加伴音);
3、网速测试;
4、摄像头操作多种功能:闪光灯、变焦、对焦、前后摄像头切换、分辨率切换、曝光度设置
5、画面镜像操作;
6、滤镜相关操作;
7、水印相关操作;

具体详情,还是建议参考官方开发指南

【网易云信】直播推流SDK特性、系统架构、使用说明 网易云信的推流sdk,还可以在这里找到使用例子。 直播API 系统架构 远程教育场景 功能特性 满足清晰、实时的远程直播授课要求。 支持移动端、PC端、Web端等方式发起授课,提供全平台直播SDK,让授课方式更加灵活、全面,适应不同的教学场景。此外,还支持符合RTMP标准的直播源接入,如相关的视频硬件编码器等专业录制设备,通过此类设备可支持如微格教室等传统录播系统的接入。 提供移动端和web端等灵活的播放器,支持下发hls/rtmp/flv多协议直播流,满足多种不同的观看需求。 详细的.. 阅读详情

相关推荐

【网易云信】直播推流SDK

官方pc demo地址 推流DEMO 已启动生成… 1>------ 已启动生成: 项目: base, 配置: Debug Win32 ------ 1>des.cpp 1>G:\CDN\PUSH\LiveStreaming_Windows_Demo_v2.7.0\demoSrc\src\base\encrypt\des.cpp(622,33): error C2220: 以下警告被视为错误 1>G:\CDN\PUSH\LiveStreaming_Windows_Dem..

突围 796

直播简单集成-网易云

网易云官方集成视频直播地址分别下载“直播推流”和“播放器”选项下的“Demo下载”进行下载 直播推流demo指的是我们主播的页面,推流通过rtmp指定一个播放地址 直播拉流指的是我们连接主播的页面,拉流指定我们连接主播页面的地址 下载后的文件-左推右拉 导入的必须是文件下的细分文件,否则会提示红色警示信息导入成功后推流端的显示情况注意:输入框内的信息是我们之前提到的推流压缩的直播地址,然而你导入的

泡泡龙的博客 5733

A股历史数据免费下载终极指南:4000+个股数据一键打包获取

本文提供了获取A股历史数据的完整免费方案,重点介绍了Tushare Pro、AkShare等开源金融数据API的使用方法。通过详细的Python脚本示例,指导读者如何自动化批量抓取、清洗、存储4000多只个股的历史行情数据,并分享数据质量校验与性能优化技巧,助力量化研究与市场分析。

ooo22的博客 2216

网易云直播SDK使用总结

前言: 最近公司的项目中加入中直播这部分的功能,现在的直播平台真的很多很多,以前在朋友圈看到过这张图片,没办法一次性给大家看,就只能这样截成几张给大家看看。其实按照我自己的看法,现在的直播已经没办法做成一个主打的业务去做,能做成的只是你APP传播信息一个手段而已,把它当做一个工具去使用,而不是把它当做一个主打的业务去挣钱反而会好一点,这东西现在只能烧钱吧!当然这只是我自己的看法而已!...

weixin_30249203的博客 551

无感健康监测的未来:毫米波雷达如何重新定义睡眠科技与居家养老

毫米波雷达技术正重新定义无感健康监测,特别是在睡眠科技与居家养老领域。通过精准监测呼吸、心率和体动,无需穿戴设备即可实现临床级精度。结合合宙Air700E开发板,构建了完整的远程看护解决方案,为老年人提供跌倒检测、异常报警等安全保障,同时保护用户隐私。

cake8的博客 566

CZT与FFT频谱分析方法对比:从任意频带重采样到高精度频谱分析

M = 85 % 输出点数f0 = 70 Hz % 起始频率DELF = 0.4 Hz % 频率步长频率分辨率提高到0.4 Hz分析带宽聚焦在[70, 103.6]Hz更清晰地分辨出78Hz和82Hz的频率分量。

2403_88098319的博客 1859

视频监控初始化重复打开视频页面--解决第二次打开看不到页面的情况

package com.wbkj.moretools.playvideo; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.text.TextUtils; import a...

flyingsnowtiger的博客 6140

西门子触摸屏教程wincc flexible2008 sp5 Smart V3 V4中文版软件

西门子触摸屏教程wincc flexible2008 sp5 Smart V3 V4中文版软件

liang007dudu的博客 1万+

php直播接口代码,网易云视频直播php版api

跳至[1][全屏预览]AppKey = $AppKey;$this->AppSecret = $AppSecret;}/**生成验证码**/public function checkSumBuilder(){//此部分生成随机字符串$hex_digits = self::HEX_DIGITS;$this->Nonce;for($i=0;$iNonce.= $hex_digits[...

weixin_33384949的博客 416

嵌入式存储入门:Emmc控制器与设备工作原理全解析(附Synopsys/Arasan架构图)

本文深入解析了嵌入式系统中Emmc控制器与设备的工作原理,重点剖析了其作为CPU与存储设备桥梁的核心架构。通过对比Synopsys和Arasan两家主流IP厂商的控制器设计,详细阐述了DMA引擎与FIFO缓冲模块如何协同工作以提升数据传输效率,并提供了从硬件PCB布局到驱动调试的实战指南,帮助硬件工程师与开发者优化系统性能。

weixin_29248653的博客 145

Transformer实战(39)——多模态生成式Transformer

能够理解多种类型输入的模型被称为多模态模型。多模态学习是人工智能 (Artificial Intelligence, AI) 领域的重要研究方向之一,长期受到众多研究人员的关注。本节将介绍使用多模态模型的生成式 AI,包括文本到图像 (text-to-image) 和文本到音乐 (text-to-music) 的生成模型。将介绍 Stable Diffusion 及其工作原理,同时也将介绍 MusicGen 和 AudioGen 模型。

盼小辉丶的博客 2407

网易云直播 —— 会议系统开发前言

前端时间,参与了一个会议系统的开发。我开发大体功能有: 1、创建会议:包括 会议标题、会议类型、会议时间、会议地点、主持人、 出席人(从组织架构中选择)、会议主题(最少一个,可多个); 2、会议列表:未开始(可以删除取消会议)、进行中(可以推流拉流)、已完成(只能进行会议视频点播)。进行中和已完成都可以进入会议界面,并可以进行聊天讨论。 3、会议界面:签到功能、与会人员列表、会议文件(pdf展...

RedKeyer的博客 1069

相机图像质量评估标准全解析:MTF、CA、SNR 与色彩偏差的实战理解

图像质量评估是影像系统开发中的核心环节,它直接影响用户视觉体验与终端产品竞争力。本文基于真实的图像调试工程实践,系统讲解主流图像评价指标,包括调制传递函数(MTF)、色差(CA)、信噪比(SNR)与色彩偏差(DeltaE)等关键标准。结合 Imatest 测试流程与实际样张数据,逐项拆解各项指标在实际图像分析中的意义与优化路径,帮助开发者建立完整、量化、工程化的图像质量评估体系。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 2804

第三方直播SDK对比(腾讯云,阿里云,网易云信,七牛云,金山云,声网,即构科技)

前言:由于现在直播很火,新加入的公司打算做直播功能,之前没接触于是先去看了下主流第三方平台的SDK,想看下哪个平台的更好一些。本文没什么技术含量,仅仅是将相关官网的资料整理,做了一点对比,方便看到各平台优点。 首先看过各个平台直播SDK后大致知道平台SDK分为有2种: 直播:传统方式,1个主播,多个观众 互动直播:与普通的单向直播相比,赋予了观众“露脸发声”的权利,因此对实时性、抗回声...

皮小智的博客 5万+

基于STM32设计的自动追光系统(项目资料ID:2)

基于STM32设计的自动追光系统主要由光敏采集电路、单片机核心板电路和步进电机控制电路构成。通过光敏电阻采集环境光强信息,经 STM32 单片机处理后,控制步进电机转动,实现对光源的自动追踪。该系统具有响应速度快、追踪精度较高等优点,可应用于太阳能发电、智能照明等领域,为相关场景提供高效的光资源利用方案。

以培养嵌入式工程师为己任 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

视频直播技术详解:直播的推流调度

作为直播传输的第一步,推流调度对于直播链路的影响非常大。本篇文章将针对这个话题,从传输的角度,讲一讲网易云信直播是如何做好推流调度的。 推荐阅读 视频私有云实战:基于Docker构建点播私有云平台 如何快速实现移动端短视频功能?   直播推流是什么 首先,直播推流,即主播将自己的本地客户端采集编码后的视频数据“推”出去。推流会涉及到两个问题:视频推到哪里去了以及观众从哪里将流拉到播放端...

netease_im的博客 559

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

直播平台搭建中使用Nginx推流多个直播平台解决方案

直播平台搭建中使用Nginx推流多个直播平台解决方案 一、业务场景 最近公司的直播业务中,接入了多个第三方的直播服务(网易云信和腾讯云),公司使用OBS进行推流,需要同时推流到两个平台,但是一个OBS自身只能推流到一个地址,从而需要有新的解决方案。 根据该业务场景调研了网上大家常用的三种方案: 1.多个OBS: 一台电脑使用多个OBS推送,但是由于OBS需要利用CPU进行转码,开启两个OBS会占据CPU大量资源,从而可能出现转码过载,导致直播掉帧 2. 利用第三方流媒体服务 利用第三方流媒体服

云豹直播源码 2075

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

如何利用网易云直播的接口做一个直播项目

        公司新下来了一个需求,为了让更多的企业hr在线看我们公司的“hr沙龙培训活动”(之前一直是到现场听),于是购买了网易云的直播服务,做一个在线直播观看的活动。        购买完成后,输入账号密码,在后台应用中创建我们自己的应用。在创建的应用中,我们手动创建自己的直播频道(这个是可以通过接口用代码完成,我们之所以手动创建,因为我的得推流入口就几个,也是固定的,所以就省了一点力)。如...

raohuabing的博客 1万+

魔坊APP项目-26-直播、docker安装OSSRS流媒体直播服务器、基于APICloud的acLive直播推流模块实现RTMP直播推流、直播流管理

一、docker安装OSSRS流媒体直播服务器 在外界开发中, 如果要实现直播功能.常用的方式有: 1. 通过第三方接口来实现. 可以申请阿里云,腾讯云,网易云,七牛云的直播接口,根据文档,下载集成SDK到项目中,在第三方用户平台上, 创建直播流[就是一个管道].有了直播流以后, 在客户端中集成一个推流[就是基于rtmp协议把视频摄像头 采集到的信息push到直播服务器]的播放器或者第三放模块在另一个客户端中, 集成支持播放rtmp视频信息的 播放器插件,基于这个插件向第三方直播服

Hi文的博客 730

vxe-grid智能筛选实战:从列头筛选到远程过滤的完整指南

在后台管理系统中,数据列表的筛选能力直接影响用户体验与开发效率。传统前端过滤在处理万级数据时往往力不从心,而基于服务端的远程过滤能借助数据库索引实现高效查询。vxe-grid作为Vue生态中的企业级表格组件,提供了强大的列头筛选、自定义filterRender和filterMethod机制,支持模糊搜索、多选过滤、范围查询等复杂场景。通过合理设计筛选参数与分页联动,配合虚拟滚动技术,即使面对几十万级订单数据也能保持流畅交互。本文从实际项目出发,详细讲解如何利用vxe-grid搭建智能筛选面板,实现从本地过滤

weixin_34050519的博客 351

Android 网易云信直播

Android集成网易云信直播 网易云官网 集成Android端推流sdk 概述 设备要求: 支持Android 4.3及以上系统 特性要求: 支持推流到主流 RTMP 服务器 支持 H.264 和 AAC 编码 支持纯音频或者纯视频推流 支持直播中伴音 支持直播中单独暂停音频或者视频 支持MP4录制 支持显示推流统计信息 支持自定义YUV、PCM输入 支持YUV、PCM回调 支持直播前测速 支持音视频采集,编码,打包,传输 支持 armv7、arm64 架构 资源占用率

weixin_45680654的博客 2962

网易云视频直播推流集成大致过程

最近刚来到一家新公司,接手的第一个项目是做一款教育直播app(教师端),而我负责的是教师端的,也就是推流那个端的.由于没有接触过这类的项目,怕接入网易云时碰到bug不知道如何解决,所以一段时间内沉浸在电脑的世界里,查找资料,查看直播的原理.直播的原理我就不在大神面前装来,直接附上本人认为好的博客,他写了3篇,写的非常详细,可认真的研究下: 风从影系列的博客:http://www.jianshu.co

guanyueliuxing的博客 2850

直播的推流调度,网易云是如何做的?

这篇文章从传输的角度,讲一讲网易云直播如何做好传输的第一步:推流调度。干货太多,自行划重点喽~●●●首先,直播推流,即主播将自己的本地客户端采集编码后的视频数据“推”出去。推流会涉...

netease_im的博客 626

iOS - 直播流程,视频推流,视频拉流,简介,SMTP、RTMP、HLS、 PLPlayerKit

收藏笔记 1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示1、数据采集:摄像机及拾音器收集视频及音频数据,此时得到的为原始数据涉及技术或协议:摄像机:CCD、CMOS拾音器:声电转换装置(咪头)、音频放大电路2、数据编码:使用相关硬件或软件对音视频原始数据进行编码处理(数字化)及加工(如音视频混合、打包封装等),得到可用的音视频数据涉及技术或协...

weixin_30678821的博客 1742

【项目一 · 直播】 ☞ 3. 推流直播

一、推流 1. 概念   推流,就是将采集到的音频,视频数据通过流媒体协议发送到流媒体服务器。 2. 推流过程 推流前的工作:采集,处理,编码压缩      推流中做的工作: 封装,上传      3. 推流框架介绍 LFLiveKit(推荐):由Adobe公司开发。框架已经实现了 后台录制、美颜功能,支持H264(视频编码)、AAC(音频编码)编...

anpan0842的博客 192

vue 打开html流_web实现rtmp推流拉流(vue + nginx)

测试发现,利用html5调用摄像头可以实现,但是再进行rtmp推流就没有找到合适的方法了,然后参考网上一些直播云台,发现它们都有自己的推流拉流播放器,以网易云直播和腾讯云直播为例,它们有自己的开发包,然后用户接入它们的平台就可以二次开发了。可是我们要的是自己开发,用它们的有些还需要收费和授权码,综合考虑后,决定利用rtmp-streamer推流,用时采用腾讯云的拉流播放器(当然可以利用其它sdk,...

weixin_39764494的博客 1846
上一篇: 网易云直播 —— 会议系统开发前言
下一篇: Android 混淆打包App
RedKeyer
博客等级 码龄11年 33粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值