Skip to content

bobotouo/bb_rtmp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bb_rtmp

高性能 Flutter RTMP 推流插件,支持硬件编码、零拷贝、自适应码率。

特性

  • ✅ 硬件编码(MediaCodec)
  • ✅ 零拷贝架构
  • ✅ 自适应码率控制
  • ✅ 摄像头切换
  • ✅ AMF0
  • ✅ 动态分辨率

安装

pubspec.yaml 中添加:

dependencies:
  bb_rtmp:
    path: ./bb_rtmp

使用方法(具体参考 example)

import 'package:bb_rtmp/bb_rtmp.dart';

// 初始化
final textureId = await BbRtmp.initialize(
  rtmpUrl: 'rtmp://your-server.com/live/stream',
  width: 1280,
  height: 720,
  bitrate: 2000000,
  fps: 30,
  enableAudio: true,
);

// 在 UI 中显示预览
CameraPreview(textureId: textureId!)

// 开始推流
await BbRtmp.startStreaming();

// 切换摄像头
await BbRtmp.switchCamera();

// 切换分辨率
await BbRtmp.changeResolution(width: 640, height: 480);

// 设置码率
await BbRtmp.setBitrate(1500000);

// 停止推流
await BbRtmp.stopStreaming();

// 释放资源
await BbRtmp.release();

Android 权限

确保在 AndroidManifest.xml 中添加以下权限:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />

要求

  • Flutter SDK >= 2.5.0
  • Android API Level >= 21 (Android 5.0+)
  • NDK 支持(用于编译 librtmp)

About

flutter rtmp 插件(大部分 Ai 写的🐶) 支持 AMF0 , ABR 推流底层用的是 rtmpdump/librtmp

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors