安卓实时视频传输实现

最近领导要求做一个安卓和pc端实时视频传输的demo。

之前自己写了一个演示demo,比较山寨,基于相机回调函数,一帧帧将图片压缩后传输后台显示。wifi下效果还不错,不过想想就不具备可用性,代码回头有时间发上来吧。

最近研究了一下rtsp协议的视频传输,发现其实还有点小复杂。

目前找到几个有用的东西分享给大家

安卓端一个开源项目spydroid,原理是将手机作为rtsp服务器,将视频压缩后向外发送。支持使用浏览器和vlc这类支持rtsp协议的播放器观看,很不错的东西,值得学习。

地址:http://spydroid-ipcamera.googlecode.com/svn/trunk/

我是做.net的,所以做一个客户端播放视频也比较麻烦,自己实现rtsp和播放功能的话,需要花费大量时间研究,而且还得保证稳定性。

目前开源项目vlc又是C++实现的,说明文档什么的较少,资料也很少有支持串流播放的。索性找到另一个开源项目VLC.net(话说真的感谢国外开源人士)

使用.net语言封装了libvlc,使得基于.net开发变得简单。

地址:http://sourceforge.net/projects/libvlcnet/

目前基于上述两部分内容准备采用一个投机取巧的思路。

设计一个server,然后封装一下spydroid,使得sypdroid客户端启动后,会自动向服务器注册。

然后写一个client,读取服务器spydroid客户端列表,然后实现点播功能。

这样直接就绕开了流媒体服务器整个的处理,还有rtsp协议的处理,是一个投机取巧的方法。

不过嘛,好处也不是没有,极大的减少了服务器的负载,使得多对多更加轻松。

不过还有待进一步实践。

以上

安卓实时视频传输实现,布布扣,bubuko.com

时间: 2024-10-06 05:28:32

安卓实时视频传输实现的相关文章

Android和C#实现实时视频传输Demo

上次说到的那个Demo,趁着今天有空整理一下. 原理很简单,虽然没有写过android应用,但是,嘛~ 高级语言都是相通的,自傲一下.所以简单研究了一下api后,发现相机对象有预览回调方法, 实现一下Camera.PreviewCallback接口,就可以得到一个每一帧画面的回调事件,那么思路就很简单了. 拿到画面后,进行下简单的压缩,然后把图像用Socket传输到服务器上,服务器上绑定到一个窗口的picBox上就可以了. 当然,这里还牵扯到多线程的问题,因为一个SocketServer可以实现

安卓实时视频

在安卓上播放实时视频之类的需要sdl做框架,ffmpeg做核心.会安卓的直接jni调ffmpeg也行,我不会安卓 其中有两个问题,ffmpeg,vs编不了:虚机(ubuntu)上跑模拟器很卡 那么就虚机上编ffmpeg,本机上跑模拟器 [虚机] 下载ndk8,我的ubuntu是10.04,gcc版本太低,打不开ndk9的.bin, [编译arm版的ffmpeg] #!/bin/bashNDK=/home/mynamepfd/android/ndk8SYSROOT=$NDK/platforms/a

利用avicap32.dll实现的实时视频传输

直接上代码吧! 在窗体上调用的类: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Threading;

android源码大放送(实战开发必备),免费安卓demo源码,例子大全文件详细列表

免费安卓demo源码,例子大全文件详细列表 本列表源码永久免费下载地址:http://www.jiandaima.com/blog/android-demo 卷 yunpan 的文件夹 PATH 列表 卷序列号为 0000-73EC E:. │ jiandaima.com文件列表生成.bat │ 例子大全说明.txt │ 本例子永久更新地址~.url │ 目录列表2016.03.10更新.txt │ ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签

即构科技在线抓娃娃H5方案正式上线,400ms超低延迟,完美兼容微信

近几个月,在线抓娃娃热席卷全国,除了原生app抓娃娃方案以外,H5在线抓娃娃方案也得到了不少创业者的青睐. H5在线抓娃娃方案独特的优势 1.开发成本低和开发周期短.H5页面的功能大都比较轻量.简易,开发起来非常便捷. 2.兼容性强,在微信和所有浏览器上都能用,开发一次所有的浏览器上都可以跑. 3.传播途径广.用户使用成本低. H5可以通过各种社交产品实现病毒式扩散,用户只需简单的打开链接即可达到宣传推广目的,特别是在微信公众号和朋友权重进行传播. 4.迭代速度快.相比原生APP, 迭代升级快,

宽带接入

宽带是相对传统拨号上网而言,尽管目前没有统一标准规定宽带的带宽应达到多少,但依据大众习惯和网络多媒体数据流量考虑,网络的数据传输速率至少应达到256Kbps才能称之为宽带,其最大优势是带宽远远超过56Kbps拨号上网方式. 1分类 其实并没有很严格的定义,一般是拨号上网速率的上限 56Kbps为分界,将 56Kbps及其以下的接入称为“窄带”,之上的接入方式则归类于“宽带”. 2种类 ADSL 定义:ADSL是英文Asymmetrical Digital Subscriber Loop(非对称数

raspi # gstreamer - tcpclientsink 和 udpsrc 插件用法

前提说明: 在做gstreamer项目的时候某些时候需要主动发送设备中采集的数据到服务端, 这样就可以利用tcpclientsink和udpsink插件,主动发送数据到指定的服务器. tcpclientsink 用法 说明:如果想主动往服务器发送数据,可以通过tcpclientsink插件进行传输 具体的代码如下 data-client: 发送到linux: raspivid -t 0 -w 800 -h 600 -fps 25 -g 5 -b 4000000 -vf -p 20,20,640,

第三十二篇、直播项目开发

1.直播app分类:主要分为两大类 >秀场直播 如:映客 花椒 >游戏直播 如:斗鱼 2.iOS主要实现的技术 >播放:播放远程服务器收集到的视频 >录播:主播通过手机直播,客户端需要将直播实时视频传输给服务器,以边其它手机客户端播放 >即时通讯:观众和主播互动的礼物,聊天及时呈现   >弹幕 >整体界面的搭建和展示 3.技术分析 数据-->解协议-->封装格式数据-->解封装-->音频压缩数据-->音频解码-->音频的原始数据

x264的一些参数设置对编码效率的影响

i_luma_deadzone[0]和i_luma_deadzone[1]分别对应inter和intra, 取值范围1~32,测试可以得知,这连个参数的调整可以对数据量有很大影响,值越大数据量相应越少,占用带宽越低; 码率控制模式有ABR(平均码率).CQP(恒定质量).CRF(恒定码率) ABR模式下调整i_bitrate, CQP下调整i_qp_constant调整QP值,范围0~51,值越大图像越模糊,默认23 太细致了人眼也分辨不出来,为了增加编码速度降低数据量还是设大些好, CRF下调