Android-GC / Study-Share

0 stars 0 forks source link

音视频开发从采集到上传服务器的初步思路 #4

Open GONEW33 opened 5 years ago

GONEW33 commented 5 years ago

第一步对音视频的采集 1.1 需求说明 我们需要做的事情就是:串联整个音视频录制流程,完成音视频的采集、编码、封包成 mp4 输出。

1.2 实现方式 Android音视频采集的方法:预览用SurfaceView,视频采集用Camera类,音频采集用AudioRecord。

1.3 数据处理思路 使用MediaCodec 类进行编码压缩,视频压缩为H.264,音频压缩为aac,使用MediaMuxer 将音视频合成为MP4。

一个很好的音视频学习合集 https://www.cnblogs.com/renhui/p/7452572.html

GONEW33 commented 5 years ago

第一步对音视频的采集 1.1 需求说明 我们需要做的事情就是:串联整个音视频录制流程,完成音视频的采集、编码、封包成 mp4 输出。

1.2 实现方式 Android音视频采集的方法:预览用SurfaceView,视频采集用Camera类,音频采集用AudioRecord。

1.3 数据处理思路 使用MediaCodec 类进行编码压缩,视频压缩为H.264,音频压缩为aac,使用MediaMuxer 将音视频合成为MP4。 第二步:采集安卓摄像头视频和mic声音,进行H264和AAC编码之后,再通过RTSP和RTP,将实时音视频数据推送到流媒体服务器,并由流媒体服务器进行转发和分发,实现直播。具体的直播框架:Darwin和live555 一个很好的音视频采集学习合集 https://www.cnblogs.com/renhui/p/7452572.html Darwin和live555实现的直播框架(含服务器开源代码):http://www.easydarwin.org/article/EasyDarwin/21.html

GONEW33 commented 5 years ago

实时流传输协议:RTSP实时流传输协议,是TCP/IP协议体系中的一个应用层协议。用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。而前面提到的允许同时多个串流需求控制(Multicast),除了可以降低服务器端的网络用量,更进而支持多方视讯会议(Video Conference)。