![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
流媒体(HLS、RTMP、RTSP)
子晓聊技术
10年+程序员,擅长JAVA和Python,关注AI,公众号同名
展开
-
安装ffmpeg
安装ffmpeg也太麻烦了,先总结如下,1.安装lametar -zxvf lame-3.99.5.tar.gzcd lame-3.99.5./configure --enable-shared --prefix=/usrmake && make install 2.安装liboggtar -zxvf libogg-1.1.3.tar.gz c原创 2012-12-24 16:24:21 · 6000 阅读 · 1 评论 -
android播放rtsp文件
最近尝试在android上播放rtsp实时流,最初的思路是:因为自己以前知道android 高版本支持rtsp协议,故打算用android自带的mediaPlayer看看效果,结果才发现这种方式只能播放rtsp流文件,不能播放实时流,实质与知道网络的url,播放网络视频类似。 虽然暂时对自己无用,但还是记录下来,方便以后使用,关键代码如下import android.ap原创 2013-03-15 09:36:56 · 21275 阅读 · 14 评论 -
VLC播放画质延迟改善方法
前几天写的android录制视频h263编码通过rtp打包,服务器接收数据并转发,VLC通过rtsp协议请求服务器播放画质较差。后来通过以下方法改善了下画质质量以及延迟。 1、设置合适的帧率,在这里使用24帧每秒。一般来说,这个值较大,画质较好。2、设置合适的缓冲区,服务器接收数据的速率远大于服务器中转的速率,在接收的时候设置一个合适的缓冲区很重要,缓冲区设置过小,服务器来不及转发数据,就原创 2013-01-22 20:47:18 · 38347 阅读 · 18 评论 -
一步步安装nginx搭建流媒体服务器
了解HLS协议主要看2个博客http://blog.chinaunix.net/uid-25723371-id-3320065.htmlhttp://blog.csdn.net/cjsafty/article/details/7922849 为了自己以后能够快速的安装nginx,打算写一篇文档,记录安装nginx的步骤。其实安装软件原理很简单,但步骤很繁琐。话不多原创 2012-12-21 15:28:42 · 23940 阅读 · 5 评论 -
多路音视频上传观看方案
过年后继续工作,在去年已经实现h263、h264、amr硬编码rtp打包发送到服务器,服务器是自己用java语言简单实现的rtsp server,VLC通过rtsp请求服务器得到实时音视频流。代码参考spydroid实现,缺点是只能一路上传,一路播放,扩展性很差。 现在考虑多部android手机录制上传,客户端多路观看。用以前写的代码很多技术难点不好实现,于是决定改变思路,采用原创 2013-02-21 20:58:03 · 5638 阅读 · 4 评论 -
android实时录制视频h263编码通过rtp打包udp发送到服务器
参照spydroid源码,自己花了一下午的时间写了一个android客户端代码,实现android实时录制视频h263编码通过rtp打包udp发送到服务器,建立sdp文件通过VLC播放。大致有6步:1、录制视频mediaRecorder2、localsocket发送本地流3、h263编码4、rtp打包5、udp发送6、建立sdp文件通过VLC播放原创 2013-01-17 22:00:20 · 20403 阅读 · 130 评论 -
android推送实时视频流到darwin流媒体服务器的思路
最近在弄android推送实时视频流到darwin流媒体服务器,现在的思路是在android端实现rtsp client,推送实时视频流到darwin,并在movies文件夹下生成sdp文件,vlc通过请求rtsp://darwin流媒体服务器ip:554/test.sdp的方式实现实时播放。 大致有3种思路: 第1种:移植live555到android上,原创 2013-03-26 19:23:30 · 19606 阅读 · 11 评论 -
android视频录制、另一部手机实时观看方案
最近调研android视频录制、另一部手机实时观看,大致有以下几种思路。 1. android手机充当服务器,使用NanoHTTPD充当服务器,另一部手机或者pc通过输入http://手机的ip:8080网址观看。这种方案可以参考 ipcamera-for-android开源项目,网址 http://code.google.com/p/ipcamera-for-android/s原创 2012-12-27 14:23:20 · 38224 阅读 · 24 评论 -
VLC通过rtsp请求服务器,服务器接收rtp数据并转发
参考spydroid源码,花了一上午的编码,用java在PC上完成了rtsp服务器,实现了VLC与服务器的交互。大致流程:1、服务器端,开启一个线程监听客户端VLC请求。VLC请求地址 rtsp://192.168.1.38:8086/2、当VLC请求服务器的时候,服务器开启一个workerThread,完成一次rtsp的会话交互3、rtsp交互包括options,describ原创 2013-01-18 13:55:37 · 17188 阅读 · 21 评论 -
浏览器安装vlc插件播放rtsp流
网上很多例子都不管用了,今天自己参照 http://jeremiah.blog.51cto.com/539865/161433/写了一个,经测试通过。注意的是,安装vlc的时候记得勾选ie插件、火狐插件。 var itemId = 0; function getVLC(name) { if (window.document[原创 2013-03-12 15:47:13 · 30188 阅读 · 9 评论 -
基于rtmp协议流媒体开发值得参考文章
1、android音视频采集 Android 实时视频采集—Cameara预览采集 http://www.cnblogs.com/skyseraph/archive/2012/03/26/2418665.htmlAndroid : 录音实现之AudioRecord类 http://blog.sina.com.cn/s/blog_4c070656010127tn.htm原创 2013-02-28 10:23:53 · 5824 阅读 · 4 评论 -
RTMP中FLV流到标准h264、aac的转换
转载地址:http://www.cnblogs.com/chef/archive/2012/07/18/2597279.html 一、分析FLV数据 我们先拿一个flv文件来简单分析一下flv数据的格式 flv标准文档下载地址http://www.cnblogs.com/chef/archive/2012/07/18/2597003.html flv文件分析器转载 2013-02-27 16:44:28 · 4767 阅读 · 0 评论 -
windows下搭建Darwin流媒体服务器
本来nginx搭建服务器已经弄好了,但后来发现这个搭建过程太过麻烦,故选择Darwin流媒体服务器搭建。因为客户一般使用windows系统,故在这里选择windows搭建。 本文参考http://huacnlee.com/blog/deploy-mobile-streaming-server-by-dss/ 搭建的系统,中间一些需要注意的地方从:http://dss原创 2012-12-28 15:02:20 · 18138 阅读 · 0 评论 -
android录制音频通过网络传输到服务器播放
暂时假象的2种场景,一种是android实时录制音频,通过编码rtp打包到服务器,服务器接收并转发,客户端能够实时播放。这个是单向音频传输的想法,与spydroid处理音频类似,但由于spydroid本身的音频在我小米1s上测试不成功,故自己考虑用其他方式来实现。为什么没有把spydroid源码分析系列写下去,主要原因是,spydroid源码本身还存在不少问题。比如h263编码在我机子androi原创 2013-01-24 10:59:51 · 12752 阅读 · 9 评论 -
spydroid源码分析(一):介绍spydroid每个包的大体功能
看了接近一周的spydroid源代码,对spydroid这个开源项目有了一定的认识。也许有些理解不一定正确,给后来者一点启示。也是自己对rtsp协议,rtp协议的总结。 在windows下,如果安装了svn,可以通过 svn checkout http://spydroid-ipcamera.googlecode.com/svn/ 下载源码,最新源码是spy原创 2013-01-11 12:24:29 · 29214 阅读 · 3 评论 -
spydroid源码分析(三):rtp包头分析以及代码实现
网上有很多的rtp协议介绍的文章,我也老生常谈的拿来使用了, 先介绍rtp包头,我们都知道,rtp包头占12个字节,1个字节byte当然是8个bit了,下面是详细介绍。看下面的这张图V:版本号; Version(2),占2个bit,数值为2,二进制表示10P:填充字段标识; Padding(0),占1个 bit,数值为0,二进制表示0X:扩展头标识;原创 2013-01-11 13:35:54 · 16936 阅读 · 9 评论 -
spydroid源码分析(二):spydroid运行流程
这几天空闲的时候在看《struts2技术内幕》这本书,作者downpour说的这句话我很赞同,忘了原文了, 学习开源项目,不是一个包一个包的阅读代码,而是通过动态运行项目,通过断点调试,来获取相关信息。 我也打算用这种方式来看spydroid源代码,但了解每个package大体的功能是必须的。 如果spydroid已经安装到了android手机上,开启这个软件,VLC就可以原创 2013-01-11 13:13:29 · 17250 阅读 · 6 评论 -
windows下安装openmeetings
1、下载openmeetings最新版页面 http://openmeetings.apache.org/downloads.html ,在这里我选择apache-openmeetings-incubating-2.0.0.r1361497-14-07-2012_1108.zip [SIG] [MD5] 2、最新版的openmeetings安装很简单,首先确保安装了jdk1.6,(注意原创 2013-03-06 16:49:39 · 4270 阅读 · 2 评论 -
RTMP,RTSP,HLS比较与分析
考虑做一个手机直播系统,首先需要指定一个合理的技术方案。由于自己以前不是搞多媒体这块,对流媒体开发不熟悉,自己的理解思维总习惯用java web开发的惯性走,先指定一个大体的框架。不管对还是错,先考虑其技术可行性。 框架的指定,首先取决于自己采用的流媒体协议,我们熟知的流媒体协议有RTMP,RTSP,HLS。网上有很多这方面的介绍,我懒得复制了,在这里只谈谈自己的看法。原创 2013-02-26 15:55:18 · 47133 阅读 · 3 评论 -
多路音视频上传观看技术难点
1、android音视频采集,音频audioRecorder采集microphone数据,视频编写AbstractCamera实现类采集camera数据。2、android音视频编码,可以直接使用开源强大的ffmpeg编解码库,视频libx264,音频libfaac 。技术点:ffmpeg在linux的安装编译,jni调用ffmpeg编译得到的so库3、rtmp协议封装,rtmp封装编码后原创 2013-02-26 15:27:57 · 6573 阅读 · 0 评论 -
浏览器使用quicktime插件播放rtsp实时视频流
前阵子写了一篇在浏览器用vlc插件播放rtsp实时视频流的文章,当时测试电脑是xp,测试效果还行。但在win7下不可以使用,提示该插件未知,为了电脑的安全性,禁止被使用。这几天想了想,换用quicktime插件播放rtsp实时视频流。核心代码如下;简要分析下这段代码,... 一个ActiveX控件,被嵌入IE浏览器中,需要classid,原创 2013-03-30 23:34:52 · 20181 阅读 · 6 评论