如何实现app直播源代码,通过HLS进行直播观看
app直播源代码需要通过网页观看直播,无插件方案就是移动端使用HLS
方法为FFMPEG推流到带Nginx-RTMP-Module的Nginx上,转出RTMP流和HLS流
所用命令为:
ffmpeg.exe -ss 0 -rtsp_transport tcp -i rtsp://192.168.1.1/stream/0 -vcodec copy -acodec copy -f flv rtmp://127.0.0.1:1935/hls/hlstest
结果发现,HLS流在iOS上观看正常,在Android的微信、QQ浏览器、UC浏览器上观看正常。
其他浏览器上无法观看,点击播放后,只能显示一帧画面,播放按钮灰色。点击全屏按钮则提示“抱歉,此视频无法播放”。
而视频点播我们也使用的Nginx,却能正常观看,遂认为是app直播源代码的rtsp流有问题(之前还研究过是否配置问题,MIME问题,等等)
而后测试使用ffmpeg分别推视频文件和rtsp流到nginx,然后在nginx的temp/hls文件夹获取切片文件(.ts)
分析之后发现了区别:
左边是推视频文件的切片文件的信息,右边是流的
可以看到,音频都是AAC,但是视频的是LC-AAC,流的是Main-AAC
Apple关于HLS的资料
查阅资料后发现HLS支持的音频编码为:
HE-AAC or AAC-LC, stereo
MP3 (MPEG-1 Audio Layer 3), stereo
所以应该是AAC编码导致的问题,至于iOS能看,应该是因为iOS上播放都是使用了自带播放器,而Android上的微信、QQ浏览器、UC浏览器能看则应该是因为内嵌了一个播放器用于播放视频及流媒体,播放器能掩盖很多小问题。
app直播源代码的推流命令换成这个,问题解决:
ffmpeg.exe -ss 0 -rtsp_transport tcp -i rtsp://192.168.1.1/stream/0 -vcodec copy -acodec aac -f flv rtmp://127.0.0.1:1935/hls/hlstest
但是由于重编码可能耗费一点服务器性能,所以我们还是决定处理app直播源代码的rtsp流
网上查了很多资料,包括国外的,也没见提到这点,没认真看文档,或者说没留意到这个问题,app直播源代码开发时可能就走了很多弯路,所以写上来,提醒遇到同样问题的人
如何实现app直播源代码,通过HLS进行直播观看相关推荐
- 直播源代码中关于手机直播平台开发的登陆注册介绍
一套完整的手机直播平台,需要有一套完善的直播源代码.开发一套符合大众需求,得到市场认可的直播平台,是需要开发公司经过不断优化调整更新的.只有开发出符合大众需求的直播平台,才能快速在市场当中得到认可和使 ...
- app直播源代码是如何实现直播间小游戏的
为了应对不同需求的客户,我们对app直播源代码中的功能不断地进行拓展,例如将网页游戏加进App,为了快捷的实现这一功能,我们只需要对Android提供的Webview进行简单的配置,便可轻松实现app ...
- HTTP Live Streaming直播源代码软件开发(iOS直播)技术分析与实现
HLS技术要点分析 HTTP Live Streaming(HLS)是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议,可实现流媒体的直播和点播,主要应用在iOS系统,为iOS设备( ...
- LiveQing直播点播流媒体如何关闭指定类型的流播放HTTP-FLV直播流|WS-FLV直播流|HLS(m3u8)直播流|RTMP直播流
流媒体服务可以分发输出,HTTP-FLV直播流.WS-FLV直播流.HLS(m3u8)直播流.RTMP直播流,在某些场景下,我们不希望用户播放指定类型的流,那么如何做呢? RTMP直播点播流媒体服务 ...
- Android 端app直播源代码,解决系统启动黑屏
前言 相信做过app直播源代码的朋友都知道,当一个APP启动时,界面会首先展示一个白屏或者黑屏,然后再进入欢迎页,稍作停留最后进入APP主页.那么这个黑屏或者白屏到底是怎么一回事呢?它的最好的解决方案 ...
- 使用socket,实现app直播源代码用户评论功能
最近公司在做app直播源代码,项目经理要我们用socket长连接实现在线聊天,下面是使用socket实现app直播源代码用户互动的简单原理. 代码复制粘贴可以直接运行. //首先是服务器端packag ...
- 实现app直播源代码开发,完成短视频切换功能
讲下大概思路,app直播源代码使用recycleview配合自定义LinearLayoutManager来实现这个功能,这里着重说下自定义LinearLayoutManager的实现 可以看到每当下一 ...
- app直播源代码如何实现直播间红包功能
红包功能是app直播源代码直播间中的重要功能,红包功能的实现,可以帮助主播快速提高直播间氛围,让用户对直播产生兴趣,app直播源代码可以怎样实现红包功能呢? 软件简介 yaf项目快速开发(兼容php7 ...
- android记账软件开发源代码_如何开发直播软件?直播软件开发的具体流程有哪些?...
知乎视频 随着互联网的发展和智能手机的迅速普及,对直播软件的需求也在增加.开发直播软件和直播app开发都属于直播软件开发的服务.那么直播平台的发展过程是怎样的呢?在软件开发期间需要注意什么?小编来说 ...
最新文章
- bzoj1131[POI2008]Sta*
- 我们一般的前端开发流程
- LintCode: Single Number II
- Java循环案例-银行存钱问题
- sublime插件调用第三方程序
- volatile可以保证原子性吗
- 常用SQL语句优化技巧
- java configuration类_使用@Configuration编写自定义配置类
- 自定义线程池-c#的简单实现
- python网易云_小白都懂的Python爬虫之网易云音乐下载
- 饭后Android 第四餐-BRVAH(最好用的数据适配器)(BRVAH简介,使用方法,item的点击事件,列表加载动画,添加头部、尾部,自定义ViewHolder)
- 大学计算机课程学习路线(左飞老师)
- 上百套房子装修样板!
- Mac使用Aria2下载百度网盘,突破下载限速的方法教程
- scanf()函数用法规则探索——c语言,以及%c和%s的语法特性
- 判断是否为回文字符串(Java)
- Docker 安装 (完整版)
- (转)深入详细理解矩阵 (矩阵的加减乘、转置、共轭、共轭转置)
- 用ps将图片背景设置为透明
- 【Lua编程基础】实测Lua中点和冒号的区别