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

前言

在做手机端电视直播应用时候,使用的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、报错,有很多时候录屏出来报错了,什么都没有,原因有很多:

  • 这里测试了下m3u8的直播源可以录制的,rtsp的源也是可以录制,但是有些比如摄像头采集的可能不行

  • 有些源的dts不是自增长的,有些源的地址本身是过期的地址,虽然能播,但是录制会失败

: Application provided invalid, non monotonically increasing dts to muxer in stream 0: 3031200 >= 0
: Error muxing packet
  • 有些源的音视频格式不是兼容mp4的,比如有些源的音频是pcm_alaw(视频采集),就不能直接写到mp4的文件里面,可以改后缀为.mov
Could not find tag for codec pcm_alaw in stream #0, codec not currently supported in container MP4

  • 硬解也可以播放 但是有时候会莫名其妙出错 还没有还清楚为什么(可能跟源有关系)
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值