求基于android的视频通话开发思路,该怎么解决
求基于android的视频通话开发思路
公司准备开发基于android的语音、视频通话软件
在网上查了下资料,语音的找到一些资料,
AudioRecord和AudioTrack,一个录制一个播放,
从AudioRecord读取byte数组,通过socket发送到AudioTrack
语音通话的大体思路是明白了
但是视频的没找到,网上很多都是在说录制视频到文件,或者从文件播放视频,
使用的是MediaRecorder和MediaPlayer两个类
现在我想进行的是点对点的视频通话,直接将视频信息由1个点发送到另一个点,不需要保存文件
请有这方面经验的高人给指点下,该用啥思路,或者用哪些个类
------解决方案--------------------
拨打视频电话时,既可以看见对方的图像,又可以看见自己的图像;当然,对方也是如此。从camera获取的图像数据,既需要在本地浏览,还需要video encoder编码后传输到对方手机。这样的场景中,图像数据要同时做preview和record两种操作。
客户端类AndroidCameraInput启动record,通过下面的调用:
mCamera->startRecording();
类QualcommCameraHardware在函数initPreview()中对preview buffer做了初始化。视频电话中,当camera捕获一帧数据后,存储该数据的buffer会被同时用于preview和record。只用当客户端调用了函数releaseRecordingFrame()之后才能将对应的buffer释放掉,用于其它帧使用。
receivePreviewFrame它调用了回调函数mPreviewCallback和mRecordingCallback,这就回调了函数postDataTimstamp(),告诉客户端一帧数据已经获取成功,其可以开始编码了。当客户端对该帧数据的处理结束后,会告诉底层库释放该帧所占用的buffer空间,以备其他帧使用。
在视频电话中,只用了preview buffer。
preview和record同时进行,即可实现视频电话功能。
------解决方案--------------------
关键是封装和实时传输协议吧,p2p技术的实现是核心吧
------解决方案--------------------
采集编码打包发送接受拆包解码显示
------解决方案--------------------
你可以关注一下webrtc,不久前google收购一家公司后开源代码的,视频通话里面有太多概念了。
------解决方案--------------------
录-存-传-收
关注
------解决方案--------------------
2.3里就有视频通话啊,你可以去看看,当初公司一个项目刚把视频通话做的差不多了,结果2.3就出来了,自带视频通话,一群人哭了
公司准备开发基于android的语音、视频通话软件
在网上查了下资料,语音的找到一些资料,
AudioRecord和AudioTrack,一个录制一个播放,
从AudioRecord读取byte数组,通过socket发送到AudioTrack
语音通话的大体思路是明白了
但是视频的没找到,网上很多都是在说录制视频到文件,或者从文件播放视频,
使用的是MediaRecorder和MediaPlayer两个类
现在我想进行的是点对点的视频通话,直接将视频信息由1个点发送到另一个点,不需要保存文件
请有这方面经验的高人给指点下,该用啥思路,或者用哪些个类
------解决方案--------------------
拨打视频电话时,既可以看见对方的图像,又可以看见自己的图像;当然,对方也是如此。从camera获取的图像数据,既需要在本地浏览,还需要video encoder编码后传输到对方手机。这样的场景中,图像数据要同时做preview和record两种操作。
客户端类AndroidCameraInput启动record,通过下面的调用:
mCamera->startRecording();
类QualcommCameraHardware在函数initPreview()中对preview buffer做了初始化。视频电话中,当camera捕获一帧数据后,存储该数据的buffer会被同时用于preview和record。只用当客户端调用了函数releaseRecordingFrame()之后才能将对应的buffer释放掉,用于其它帧使用。
receivePreviewFrame它调用了回调函数mPreviewCallback和mRecordingCallback,这就回调了函数postDataTimstamp(),告诉客户端一帧数据已经获取成功,其可以开始编码了。当客户端对该帧数据的处理结束后,会告诉底层库释放该帧所占用的buffer空间,以备其他帧使用。
在视频电话中,只用了preview buffer。
preview和record同时进行,即可实现视频电话功能。
------解决方案--------------------
关键是封装和实时传输协议吧,p2p技术的实现是核心吧
------解决方案--------------------
采集编码打包发送接受拆包解码显示
------解决方案--------------------
你可以关注一下webrtc,不久前google收购一家公司后开源代码的,视频通话里面有太多概念了。
------解决方案--------------------
录-存-传-收
关注
------解决方案--------------------
2.3里就有视频通话啊,你可以去看看,当初公司一个项目刚把视频通话做的差不多了,结果2.3就出来了,自带视频通话,一群人哭了