qq:418511899

在现实生活中,手机和移动设备使用地越来越多,如何将音视频点播和直播发布到移动设备,这就涉及到很多相关的知识,比如android接收的音视频有哪些格式,分辨率是什么样子的,而ios设备接收的情况又是什么样子,支持什么样的协议。

这里首先要几样东西:

1 就是ts流传输,不是文件ts传输,而是直播传输,因为文件点播可以用什么来解决呢,就是html5,html5相对来讲较为容易,因为浏览器已经帮我们解决了大部分问题,另外,大名鼎鼎的播放器jwplayer就能用两种方式传输音视频,一种是rtmp协议,另可使用html5来。

2 HLS是苹果专门用来传输到苹果设备ipad,iphone移动设备的解决方案,比较成熟,只支持ts流,按秒分割文件。

3 rtsp协议,rtsp服务器,rtp协议,ts over udp over rtp ,当然ts over udp 也能接收。

4 编码传输,编码接受的音视频就是h264+aac ,当然mp3也是可以的,不过最好使用aac编码。

5 h264 图像传输中的sps pps 以及音视频同步,最后是pts和dts等相关知识。

6 桌面传输,桌面传输的高分辨率采集速度是个问题,他不像采集卡哪儿快,最快能到几帧呢,终极传输方案也许只能用镜像驱动么?并不一定。传输的时候鼠标指针怎么采集,怎样判断桌面变化了。

7 如何将海康等设备的非标准h264图像和g.711等音频转过来桥接到rtsp服务器上呢,都可以做到,耐心就可以。

下表for iphone等ios设备。

8 如何存储呢,可以存成什么格式,答案是任何格式都可以,首先是存成mp4,以利于移动设备点播。

9 在接收的过程中可以进行图像识别吗,答案也是可以,用一个客户端连接上rtsp服务器,接收后转成yuv 格式取 y 分量进行图像识别,如果要省事,y 分量后面直接挂接

opencv就可以,如何进行人脸识别,也非常简单,还是pca算法,将y 分量挂接到你的插件里面,用插件形式来进行识别。

这里使用标准rtsp服务器的好处就是既可以用客户端连接上观看, 也可以用一个客户端连接上网络存储,更可以用客户端连接上来进行图像识别,最大的好处,当然是使用

移动设备可直接观看了。

基本编码for iPhone, iPod touch, iPad, and Apple TV, 16:9

Connection

分辨率

音视频码率

视频码率

帧率

Cellular

480 x 320

64 kpbs

audio only

none

Cellular

480 x 224

150 kpbs

110 kbps

30

Cellular

480 x 224

240 kpbs

200 kbps

45

Cellular

480 x 224

440 kpbs

400 kbps

90

WiFi

640 x 360

640 kpbs

600 kbps

90

以上为基本编码

当然1920*1080,所谓的1080p做到也是可能的,条件是带宽

for android

SD (Low quality)

SD (High quality)

HD (部分设备支持)

H264视频编码方案

H.264 Baseline Profile

H.264 Baseline Profile

H.264 Baseline Profile

视频分辨率

176 x 144 px

480 x 360 px

1280 x 720 px

帧率

12 fps

30 fps

30 fps

码率

56 Kbps

500 Kbps

2 Mbps

音频编码

AAC-LC

AAC-LC

AAC-LC

音频通道

1 (mono)

2 (stereo)

2 (stereo)

音频码率

24 Kbps

128 Kbps

192 Kbps


以下是架构图,有能力的程序员可自行写出代码来,原理就是如此。


年前没时间再写了,年后整理代码放出,纯c++ 代码,在vs2010 下实现。qq:418511899

更多相关文章

  1. iOS设备蓝牙类库的选择
  2. Android(安卓)设备唯一标识生成方式
  3. Tomcat Servlet 往外传输数据(对象 or list) 给 Android
  4. 跟我学Android应用开发 之 如何添加可选资源(alternative resour
  5. Android(安卓)minSDK 和 targetSDK 版本
  6. Android基于蓝牙的聊天demo
  7. Android常用名令集锦(图文并茂)(转:来自网络)
  8. 飞利浦推出 Android(安卓)设备用 Fidelio 系列音箱底座
  9. Android(安卓)物联网socket通信采坑

随机推荐

  1. Android中AlertDialog的使用小结
  2. Android横竖屏切换相关总结
  3. Android基础入门教程——8.4.4 Android动
  4. Android学习三UI之Layout
  5. [置顶] Android(安卓)调用js,传对象到js里
  6. Android(安卓)Studio 使用Gradle引入第三
  7. Android中AsyncTask的简单用法
  8. 我的Android进阶之旅------>Android中解
  9. Android作为服务端,PC推送消息
  10. Sqlite在Android中的简单使用