About Cacher
Web App
Download
Sign In
Sign Up
menu
Cacher is the code snippet organizer for pro developers
We empower you and your team to get more done, faster
Learn More
Akagi201
1/8/2015 - 2:17 AM
share
Share
add_circle_outline
Save
ipcamera-streaming-framework.md
ipcamera-streaming-framework.md
content_copy
file_download
Rendered
Source
IP Camera Streaming Framework
不同层的数据类型
Layers
video
audio
Streaming Protocol
RTMP / TCP / UDP
Muxer
flv / ts
Encoder
H.264
G711 / AAC
Raw data
YUV
PCM
Hardware interface
Camera
Audio in
流媒体框架
摄像头专用芯片(海思, 安霸, TI)
海思自己的mpp
安霸sdk
TI提供了gstreamer支持
通用芯片(树莓派, 全志A20)
通用OpenMAX标准接口, 树莓派支持
全志A20 CedarX
流媒体库
rtmpdump
ffmpeg
一些问题
摄像头专用芯片的SDK不开源, 如安霸SDK网上很难找到完整SDK.
我们提供的SDK深入到哪一层. 面向已有成熟产品, 还是固件开发能力弱的小团队.
开发板方面, 目前找到一块海思的开发板, 安霸开发板网络上买不到.
设备方面, 大多端口开放较少, 比如萤石, 虽然rtsp端口开放, 但取流地址不公开. 最好能跟设备厂商合作, 提供的设备适合开发, 不用hack. 目前找到一台海思3518e芯片的摄像头, 开放了telnet端口.
AAC编码是否要做
我们的sdk的方向
rtsp取流, rtmp推流. 目前通过ffmpeg在做, 推公网, 网络阻塞情况下, 会发送失败, 停止推流. 使用ffmpeg的API接口, 底层socket的参数跟错误处理等不好控制.
从内存取流, rtmp推流. 定义个回调函数, 从一块内存来取流, 音频, 视频各自封装flv, 通过rtmp推流.
基于各个芯片SDK和相应的流媒体框架取流跟推流.
我要做的事情?
用librtmp取代ffmpeg的rtmp推流函数
基于海思sdk, 编码推流
clear