https://github.com/pixpark/rtmp-publish-kit
Rtmp video publish kit for android , encode with mediacodec
https://github.com/pixpark/rtmp-publish-kit
aac android h264 live mediacodec rtmp
Last synced: about 1 month ago
JSON representation
Rtmp video publish kit for android , encode with mediacodec
- Host: GitHub
- URL: https://github.com/pixpark/rtmp-publish-kit
- Owner: pixpark
- License: bsd-2-clause
- Created: 2018-08-04T05:30:23.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2023-11-28T10:49:33.000Z (almost 2 years ago)
- Last Synced: 2024-12-18T02:22:21.877Z (10 months ago)
- Topics: aac, android, h264, live, mediacodec, rtmp
- Language: C++
- Homepage: https://pixpark.net/rtmp-publish-kit
- Size: 8.46 MB
- Stars: 160
- Watchers: 9
- Forks: 53
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Rtmp Publish Kit for Android
### 简介Rtmp Live Publish Kit 是简洁的 Android 平台直播推流SDK,使用 Mediacodec进行H264 和 AAC 编码, 网络部分 Java 重写了RTMP协议,方便阅读定位,YUV处理考虑性能采用了LibYUV。整体延时在1-3秒左右。
A simple rtmp live publisher for android, H264 and AAC encoder use android mediacodec. Publish media stream over RTMP protocol. Using LibYUV for process yuv.
### 特性
* 支持 H.264/AAC 硬编码 -Supporting H264/AAC hard encoding
* 支持RTMP协议推流 -Supporting publishing media over RTMP
* 支持重力感应旋转画面-Supporting dynamic rotation image
* 支持前后置摄像头动态切换,自动对焦-Supporting front/back camera dynamic swithing and autofocus### NDK配置
项目依赖NDK,已在build.gradle中指定21版本ndk, 可以不动,也可以按需要版本修改
```shell
ndkVersion '21.4.7075529'
```### 权限
需要相机和麦克风权限,demo比较简单,默认不会主动申请,需要手动在app权限里面开启,
若遇到预览黑屏或者无声音问题,检测是否开启相机和麦克风权限。
### Demo
北京向阿里香港服务器推流效果:
### 性能-Performance
Simple Live Publisher 推720P视频,魅族MX4(14年32bit手机)上测试,CPU 占用在7%-12%左右,三星note4上测试,CPU占用7%左右,近两年出的手机CPU占用都在7%左右,发热控制的较好。
Simple Live Publisher Publish 720P video,in Meizu MX4(2014-32bit-mobile),cpu use about 7%-12%,in Samsung note4 about 7%,heating control well.
魅族-MX4(2014-12) Mobie CPU Usage:
网络和内存-Network & Memory Usage:
### 附:
rtmp mindmap: 见 `xmind` 目录