一、搭建直播流接收的服务器
1)采用nginx服务器
安装:https://www.cnblogs.com/Leesttee/p/8193389.html
搭建rtmp服务器:https://blog.youkuaiyun.com/boonya/article/details/78663675
(主要是配置nginx-win-rtmp.conf文件)
rtmp {
server {
listen 1935; //端口
chunk_size 4000;
application live { //live即相当于action
live on;
hls on;
hls_path /temp;
hls_fragment 5s;
}
}
}
那么客户端的rtmp的推流地址格式即为:
rtmp://服务器IP:端口/live/自定义一个字符串
平台推流演示:https://www.jianshu.com/p/b4ee6956d1ea
android推流工具:易-live (手机推流测试,需要开启手机的热点,电脑连上手机热点)
亲身测试过,上述方案可以成功实现推流。
2)android代码实现推流
开源库librtmp编译过程http://www.pvale.com/EasyPusher.html
轻量级别的开源库: https://github.com/ant-media/LibRtmp-Client-for-Android (用不了,也没有说怎么用)
https://blog.youkuaiyun.com/fzl562410663/article/details/73018315 (OPENGL实现)
http://www.pvale.com/ (流媒体方案商)
收费标准:http://www.pvale.com/EasyPusher.html
https://github.com/wlanjie/AndroidFFmpeg (推流亲测可用
封装的比较好,推流与编码解耦。但是有时VLC播放不了,而且坚果手机推流没有声音
)
###########FFmpeg编译###################
所有的一些推流的SDK无非就是通过FFMPEG编译生成librtmp.so,然后使用jni构建自己的so库。
二、Android平台搭建服务器
找了一下rtmp服务器搭建的教程,几乎为0.而rtsp服务器比较多。
https://github.com/EasyDarwin/EasyIPCamera (收费)
***************libstreaming***********************
https://github.com/fyhertz/libstreaming-examples#example-3 (没有测试通,是eclipse项目,需要转换)
https://my.oschina.net/u/1774064/blog/282840 (怎么使用libstreaming)
1) 注意exam1的surfaceview,最早是没有画面的,只有客户端连接上了服务器才会显示画面。
2)关于IP地址,如果是服务器连接了客户端的wifi,就用wifimanager获取ip。
如果是服务器开启了wifi热点,客户端连接wifi热点,ip地址就是192.168.43.1
三、实时观看行车记录仪视频
行车记录仪将视频MP4转成RTSP/RTMP流发送给服务器,服务器再转发给APP。
转载于:https://blog.51cto.com/4259297/2136155