场景

开发者因为带货直播源码的需要,希望能获取到视频画面的原始数据(YUV 数据),然后再进行处理或渲染。

解决方案

1、实现 TXLivePushListener 接口,然后在onPlayEvent(int event, Bundle param) 方法中,监听TXLiveConstants.PLAY_EVT_CHANGE_RESOLUTION 事件

mLivePusher.setPushListener(this);public void onPlayEvent(int event, Bundle param) {//...if (event == TXLiveConstants.PLAY_EVT_CHANGE_RESOLUTION) {//获取视频的宽高int width = param.getInt(TXLiveConstants.EVT_PARAM1, 0);int height = param.getInt(TXLiveConstants.EVT_PARAM2, 0);if (width != 0 && height != 0 && !mHWDecode) {//创建存储 yuv 数据的 buffer,目前输出的 yuv 格式为 I420byte[] buf = new byte[width * height * 3 / 2];//将 buffer 设置进 mLivePlayemLivePlayer.addVideoRawData(buf);}}
}

2、通过 VideoRawDataListener 获取 带货直播源码的YUV 数据

mLivePlayer.setVideoRawDataListener(rawDataListener);TXVideoRawDataObserver.ITXVideoRawDataListener rawDataListener = new
TXVideoRawDataObserver.ITXVideoRawDataListener() {@Overridepublic void onVideoRawDataAvailable(byte[] buf, int width, int height, int timestamp) {//解码一帧后的数据回调,buf 中存放了 yuv 数据,格式为 I420if (!mHWDecode) {// 如果需要继续获取yuv数据,需要重新调用addVideoRawData方法// yuvBuffer大小应该等于视频width*height*3/2mLivePlayer.addVideoRawData(buf);}}
};

原理

软件解码是由CPU负责解码,然后进行播放。这种方式解码出来的画面数据格式是 YUV 数据。而硬件解码是使用显卡进行解码,需要使用 OpenGL进行解码,所以解码出来的画面数据格式 Texture。

注意事项

1、setVideoRawDataListener只支持软件解码。

2、只能获取带货直播源码直播场景下的 YUV 数据,不支持点播场景。

搭建带货直播源码时,是怎样获取视频源数据的?相关推荐

  1. 直播间小游戏,带货直播源码如何实现?

    带货直播源码的更新优化速度非常快,而互动小游戏也是现在主流带货直播源码中的常见功能.当然单独拿出某一个小游戏,我们都可以将它看做一个个体,如果与视频直播结合,就可以为直播软件增光添彩了.那么,带货直播 ...

  2. 想要实现带货直播源码秒开?先看看这个

    在带货直播源码直播中,首屏打开速度直接关系到用户体验,其中Group of Picture(GoP)设置.缓存参数优化格外关键. 带货直播源码出现黑屏的原因很简单,就是解码器没有得到能解码出视频图像的 ...

  3. 带货直播源码,浅谈直播实现过程和技术

    一,带货直播源码音视频处理的一般流程 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示 1.数据采集: 摄像机及拾音器收集视频及音频数据,此时得到的为带货直播源码原始数据 涉及技术或 ...

  4. 手把手教你带货直播源码实现直播功能,不依赖第三方SDK

    手把手教你带货直播源码实现直播功能,不依赖第三方SDK 先上图: 推流的手机 拉流的网页和VL播放器 拉流的手机客户端 下面开始实现手机直播功能 1.首先你要准备一份编译好的ffmpeg+x264库, ...

  5. 如何选择网红直播带货平台源码的功能进行开发搭建

    据三方数据显示,国内移动互联网在社交.视频.电商等几个领域,行业用户规模均已突破5亿,用户每天花费在互联网上的时间已突破6小时,人均单日时长增加18分钟,下沉市场用户规模高达6.14亿,红利可观.那么 ...

  6. 直播带货app源码搭建,从直播CDN原理说起

    到处都在谈直播,直播带货app源码技术目前越来越大众化,但也面临着更多的挑战.本次分享主要介绍直播的一般流程,CDN的技术原理及架构,CDN直播技术的难点和对应的解决方案.希望能够给大家带来帮助,更希 ...

  7. 实现一个小程序端的直播带货app源码

    直播组件的使用 配置直播 直接在app.json中引入插件 "plugins": {"live-player-plugin": {"version&q ...

  8. 直播带货app源码,实现直播的秒开和优化

    一.概述 目前,移动视频直播正处于一个高速膨胀的时期.游戏直播,秀场直播.直播带货app源码等APP铺天盖地.如何在千军万马中脱颖而出,直播的实时性和流畅性是重中之重. 直播带货app源码的实时性对于 ...

  9. 直播带货app源码,实现直播连麦和PK

    一.概述 连麦:是指直播带货app源码中,由观众向主播发起连线请求,在主播和该观众之间建立低延迟的通讯链路,而其他观众可以看到"主播+连麦观众"的合成音视频内容. PK:是指直播过 ...

最新文章

  1. IT项目十大灾难(转载)
  2. Cocos Creator实现的《点我+1》
  3. mysql怎么设置主键增长序列_mysql 如何设置自动增长序列 sequence(一)
  4. 网易有道上市首日股价跌26% 市值达14亿美元
  5. VS Code 翻译插件
  6. android 初学者实现 popupwindow的自动弹出,Android popupWindow弹出窗体实现方法分析
  7. html的搜索框代码怎么写_网站新闻怎么写才能被搜索引擎收录?
  8. Android解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget
  9. 一次比较麻烦的性能问题诊断及解决
  10. python爬虫爬取慕课网中的图片
  11. 局域网助手(LanHelper) 1.96 注册码
  12. TOM邮箱—让邮件更安全 让工作更惬意
  13. 计算机ps图片在哪里看,怎么看图片有没有PS 两种查看照片有没被PS过的方法-电脑教程...
  14. EDA实验·Libero设计流程
  15. AKSHARE 上获取股票数据用于盘后分析以及自己的交易模型的测试。
  16. ActiveMQ配置wss
  17. UIButton 获取网络图片的排版技巧
  18. 哗啦啦系统后台新增店铺
  19. (七)python网络爬虫(理论+实战)——json数据解析
  20. HTML5新控件 - 颜色选择器

热门文章

  1. 路透分析:雅虎将如何处置阿里巴巴股份
  2. 应用在触摸液晶显示器中的触摸芯片
  3. 跻身前三!移动云专属云服务市场份额再进一位
  4. flask-sqlalchemy + flask-migrate orm迁移数据库
  5. Comsol Multiphysics for Mac 6.1软件安装包下载COMSOL Multiphysics6.1安装教程
  6. js指定服务器时间戳,js获取服务器时间戳
  7. 困惑我们人生的60个问题的答案--言简意赅的开心果,说的多好啊
  8. 获得Penguinning并赢得年度可学习会员资格!
  9. Android应用开发——从设计稿到手机屏幕的UI尺寸转换
  10. 单麦降噪经典书籍《Speech enhancement: theory and practice》读书笔记(第1章~第4章)