car-push-android 是car-eye开源团队开发的一个推送程序demo。程序分成RTSP和RTMP推送两个版本,是car-eye-device android版的简化版本,支持实时监控和远程回放,接口跟Car-eye-device一样。
目前支持的功能有:
录像和拍照
实时推送音视频数据
推送历史记录,精确到MP4文件内部毫秒级
推送服务断开重连
接口原型: public native int CarEyeInitNetWork(RTMP/RTSP)(Context context,String serverIP, String serverPort, String streamName, int videoformat, int fps,int audioformat, int audiochannel, int audiosamplerate); 接口功能:初始化流媒体通道
参数说明: context:应用句柄
server IP: 流媒体服务器的IP,可以是域名如www.car-eye.cn
serverPort: 流媒体服务器的端口号
streamName: 设备名:如手机号码13510671870 是设备的唯一标识
videoformat:视频格式,支持H264,265 MJPEG
fps: 帧频率
audioformat: 音频格式支持AAC,G711,G726等
返回:通道号
接口原型:public native int CarEyePusherIsReady(RTMP/RTSP)(int channel); 接口功能:判断通道是否准备好,用来开启推送1:已经准备好,0还没准备好。
参数说明:
channel:通道号 返回:1 通道已经准备好 0 通道还没准备好
接口原型: public native long CarEyeSendBuffer(RTMP/RTSP)(long time, byte[] data, int lenth, int type, int channel); 接口功能:填充流媒体数据到服务器 参数说明:
time: 推送时间数,毫秒单位 data: 多媒体数据
lenth:数据长度
type :视频还是音频
channel:推送的通道号
返回:0 为发送数据成功 其他 为错误码
接口原型 public native int CarEyeStopNativeFile返回:通道号
接口原型:public native int CarEyePusherIsReady(RTMP/RTSP)(int channel); 接口功能:判断通道是否准备好,用来开启推送1:已经准备好,0还没准备好。 参数说明: channel:通道号 返回:1 通道已经准备好 0 通道还没准备好
接口原型: public native long CarEyeSendBuffer(RTMP/RTSP)(long time, byte[] data, int lenth, int type, int channel); 接口功能:填充流媒体数据到服务器 参数说明: time: 推送时间数,毫秒单位 data: 多媒体数据 lenth:数据长度 type :视频还是音频
channel:推送的通道号
返回:0 为发送数据成功 其他 为错误码
接口原型 public native int CarEyeStopNativeFile(RTMP/RTSP)(int channel);
接口功能:结束文件的推送
参数说明:
channel:通道号
接口原型: public native int CarEyeStartNativeFile(RTSP/RTMP)EX(Context context, String serverIP, String serverPort, String streamName, String fileName,int start, int end);
接口功能:启动文件的推送 参数说明:context:应用句柄
serverIP:流媒体服务器的IP,可以是域名如www.car-eye.cn
serverPort:流媒体的端口号
streamName: 设备名:如手机号码13510671870 是设备的唯一标识
fileName:文件的绝对路径
start:推送的文件相对偏移的开始时间
end: 推送文件的相对偏移的结束时间
返回:通道号(1-8) 其他为错误
接口原型 public void CarEyeCallBack(int channel, int Result)
接口功能:推送文件的callback函数
参数说明:
channel:通道号
Result:返回码,一般为结束或者错误码
RTSP发送的URL为:rtsp://IP(或者域名):端口/设备编号?channel=1.sdp,RTMP实时播放地址是rtmp://IP(或者域名):端口/应用名/设备编号?channel=1,可以使用car-eye-player或者其他的客户端进行视频播放.
在Android AOSP源码关于车机的部分有关于Bluetooth的部分。接口在car-lib的CarBluetoothManager中。CarBluetoothManager是用于设置特定于汽车的蓝牙连接管理策略的api,AIDL接口在ICarBluetooth.aidl。 1. ICarBluetooth.aidl接口 setBluetoothDeviceConnectionPriority
最近在和其他团队沟通关于汽车行驶状态获取相关的信息,还有就是调试传感器Sensor信号这块。 由于我这边有两个关于sensor的项目,一个是React Native +Unity+Android,另一个是Android,所以还是有一些差别的。 1关于android.car.jar: .由于需要汽车前后视镜之类的传感器,并且在相应位置标出,这边为了在模拟器上方便调试,VHal团队给我了一个andro
基于android 2.2 添加Light Sensor支持: 1) UI部分 2) framework部分 3) HAL 部分 4) Driver 部分 下面分别讨论: 1) UI部分 a) 打开亮度设置菜单的自动调整亮度checkbox frameworks/base/core/res/res/values/config.xml : - <bool
配置路径: https://cs.android.com/android/platform/superproject/+/master:packages/services/Car/service/res/values/config.xml config_occupant_zones 主要是配置车上的每个zone对应的是什么角色(occupantType),这个zone在
1.Hvac Hvac:供暖通风与空气调节(Heating Ventilation and Air Conditioning) 在Android Automotive中,Hvac是作为控制汽车供暖通风与空气调节的系统应用,如下为Hvac源码目录结构及相关说明: │ BootCompleteReceiver.java 用于开机启动HvacUiService │ DataStore.java 存储管理
1. Manifest <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.camera2te" android:versionCode="1" android:vers
ViewHolder 的理解 要想使用 ListView 就需要编写一个 Adapter 将数据适配到 ListView上,而为了节省资源提高运行效率,一般自定义类 ViewHolder 来减少 findViewById() 的使用以及避免过多地 inflate view,从而实现目标。 Adapter的定义 继承 BaseAdapter (可在继承的时候指定泛型,扩展使用); 重写四个基本方法:
CarPropertyManager 调用顺序 CarCabinManager.java / CarHvacManager.java CarPropertyManager.java CarPropertyService.java PropertyHalService.java VehicleHal.java HalClient.java IVehicle.hal Car(Client): conn
Car-eye-device car-eye 设备子系统提供了一整套硬件设计、固件程序、系统软件、行车记录仪等功能模块的解决方案。 sh_camera 是 car-eye 开源团队开发的基于 Android 系统的一个应用程序。 该功能模块实现了传统的 DVR 功能,还支持远程控制,支持远程观看实时视频和检索录像。支持 808 协议往上发送 GPS,是车辆管理系统中的设备端应用。
Car-eye 开源平台提供开放式的架构,方便方案公司,设备厂家,使用者快速地从中找到适合自己的需求的资源。 目前系统主要分成设备子系统,平台管理系统(含大型数据库系统和流媒体服务器),客户端(包括各种手机APP,车载APP,网页网站等),流媒体服务和应用等几大部分,该系统已经应用到多家企业车辆管理系统中. 整个系统框架如下图: car-eye 车辆管理服务器(car-eye server)主要包
Car-eye FFMPEG 是 FFMPEG android windows 的编译项目,支持外部模块接入。简化调用接口,是音视频开发的必备工具。 支持架构 ARMV7 X86 android 编译 (Android studio 3.0+) 设置环境变量 export ANDROID_NDK={Android NDK Base Path} 运行以下命令编译 ffmpeg:sudo apt-ge
car-eye-http-flv-module 是在nginx-rtmp-mudule RTMP基础上修改的流媒体服务器,除了支持flash播放器外,还支持现在常见的播放器。 功能 nginx-rtmp-module提供的所有功能。 基于HTTP协议的FLV直播流播放。 GOP缓存,降低播放延迟 (H.264视频和AAC音频)。 支持Transfer-Encoding: chunked方式的HTT
如何将不断生成的音频动态写入ffmpeg的流中, 动态音频是通过一个外部程序生成。想通过ffmpeg把不断生成的音频推送到指定的rtmp地址上 项目代码使用python. 已安装的库: ffmpeg-python, python版本:3.10
car car 是打包好的 chaincode 的一种格式,可以参考 chaincodetool。