Android知识进阶Android开发Android技术知识

Android hls、rtsp录屏截屏直播播放器

2019-11-27  本文已影响0人  Jafir

前言

在做手机端电视直播应用时候,使用的ijkplayer,业务需要增加录制缓存截屏投屏及其基本的播放功能等。
屏幕录制是参考 简书 ijkplayer开启rtsp,并且支持录制和截图功能 来做的,
当时评论里面留了言,然后很多人找我,问我问题,c++我底层的东西我也不是太懂,就是照着作者的代码,自己重新编译了一下so库,然后集成做了些测试。
然后写到了自己的项目里。由于很多人问问题,打算,直接把自己做的项目 写成demo然后分享出来给大家。

功能:

1、投屏到电视盒子、智能电视(同一wifi下)

2、截图 (不支持硬解)

3、录屏(支持hls(m3u8)、rtsp格式的直播视频录制)

4、视频直播相关功能(调音量、亮度、半屏全屏、锁定屏幕)

5、多种直播源格式的支持(m3u8\rtsp ijkplayer支持相关,可自行编译so)

截图

项目

Player地址:https://github.com/fly7632785/Player
fork IjkPlayer地址:https://github.com/fly7632785/ijkplayer(可以自行编译so)

PS

1、屏幕录制是参考 简书 ijkplayer开启rtsp,并且支持录制和截图功能 来做的,
当时评论里面留了言,然后很多人找我,问我问题,c++我底层的东西我也不是太懂,就是照着作者的代码,自己重新编译了一下so库。
然后写到了自己的项目里。由于很多人问问题,打算,直接把自己做的项目 写成demo然后分享出来给大家

评论:
首先感谢楼主分享思路和代码,很棒。
原文有些代码 遗漏了,自己手动跑了一遍,这里再分享一下commit(https://github.com/fly7632785/ijkplayer/commit/fdd7c3347bbfafb3bae7b36add2d768e0beafe1b),方便大家自行在自己的项目上进行修改(分支上可以合并也可以手动改)。
还有几个注意的地方:
1、只有视频直播才可以录制,点播不行
2、最好视频开始播放才能录制,需要判断一下
3、注意只有软解才能录制,一般默认是硬解,需要改一下(硬解也可以播放 但是有时候会莫名其妙出错 还没有还清楚为什么)

2、报错,有很多时候录屏出来报错了,什么都没有,原因有很多:

: Application provided invalid, non monotonically increasing dts to muxer in stream 0: 3031200 >= 0
: Error muxing packet
Could not find tag for codec pcm_alaw in stream #0, codec not currently supported in container MP4

上一篇下一篇

猜你喜欢

热点阅读