// Android端参数, 详细使用请见七牛播放SDK(https://developer.qiniu.com/pili/1210/the-android-client-sdk)
data class VideoConfig(var path: String? = null,/*** KEY_PREPARE_TIMEOUT = "timeout"* 打开视频时单次 http 请求的超时时间,一次打开过程最多尝试五次,单位为 ms*/var timeout: Long? = null,/*** KEY_MEDIACODEC = "mediacodec"* 0: AVOptions.MEDIA_CODEC_SW_DECODE 软解* 1: AVOptions.MEDIA_CODEC_HW_DECODE 硬解* 2: AVOptions.MEDIA_CODEC_AUTO 硬解优先,失败后自动切换到软解*/var mediacodec: Int? = null,/*** KEY_LIVE_STREAMING = "live-streaming"* 若开启,视频暂停后再次开始播放时会触发追帧机制* 0: 关闭* 1: 开启,底层会进行一些针对直播流的优化* default 0*/var liveStreaming: Int? = null,/*** KEY_CACHE_BUFFER_DURATION = "cache-buffer-duration"* 默认的缓存大小,单位是 ms,默认值是:500*/var cacheBufferDuration: Long? = null,/*** KEY_CACHE_BUFFER_DURATION_SPEED_ADJUST = "cache-buffer-duration-speed-adjust"*/var cacheBufferDurationSpeedAdjust: Boolean? = null,/*** KEY_MAX_CACHE_BUFFER_DURATION = "max-cache-buffer-duration"* 最大的缓存大小,单位是 ms* 默认值是:2000,若设置值小于 KEY_CACHE_BUFFER_DURATION 则不会生效*/var maxCacheBufferDuration: Long? = null,/*** KEY_HTTP_HEAD_REFER = "http-head-refer"*/var httpHeadRefer: String? = null,/*** KEY_DRM_KEY = "drm-key"* 设置 HLS DRM 密钥* byte[] key = {0x##, 0x##, 0x##, 0x##, 0x##, ……};*/var drmKey: List<Int>? = null,/*** KEY_COMP_DRM_KEY = "comp-key"* 设置 MP4 DRM 密钥*/var compKey: String? = null,/*** KEY_CACHE_DIR = "cache-dir"* 设置本地缓存目录* 目前只支持 mp4 点播* 默认值是:无*/var cacheDir: String? = null,/*** KEY_CACHE_EXT = "cache-ext"* 设置本地缓存文件的后缀名* 只有在设置了缓存目录后才会生效* 一个流地址在设置了自定义后缀名后,再次播放前必须设置相同的后缀名,否则无法打开* 默认值是 mp4*/var cacheExt: String? = null,/*** KEY_CACHE_FILE_NAME_ENCODE = "cache-filename_encode"*/var cacheFilenameEncode: Int? = null,/*** KEY_VIDEO_DATA_CALLBACK = "video-data-callback"* 开启解码后的视频数据回调* 0: 关闭* 1: 开启* default 0*/var videoDataCallback: Int? = null,/*** KEY_AUDIO_DATA_CALLBACK = "audio-data-callback"* 开启解码后的音频数据回调* 0: 关闭* 1: 开启* default 0*/var audioDataCallback: Int? = null,/*** KEY_VIDEO_DISABLE = "video-disable"*/var videoDisable: Boolean? = null,/*** KEY_VIDEO_RENDER_EXTERNAL = "video-render-external"* 开启自定义视频数据渲染* 0: 关闭,由 SDK 内部渲染视频* 1: 开启* default 0*/var videoRenderExternal: Int? = null,/*** KEY_AUDIO_RENDER_EXTERNAL = "audio-render-external"* 开启自定义音频数据播放* 0: 关闭,由 SDK 内部播放音频* 1: 开启* default 0*/var audioRenderExternal: Int? = null,/*** KEY_FAST_OPEN = "fast-open"* 快开模式,启用后会加快该播放器实例再次打开相同协议的视频流的速度*/var fastOpen: Boolean? = null,/*** KEY_PREFER_FORMAT = "prefer-format"* 设置偏好的视频格式,设置后会加快对应格式视频流的打开速度,但播放其他格式会出错* 1: m3u8* 2: mp4* 3: flv*/var preferFormat: Int? = null,/*** KEY_DNS_SERVER = "dns-server"*/var dnsServer: String? = null,/*** KEY_DOMAIN_LIST = "domain-list"*/var domainList: List<String>? = null,/*** KEY_SEEK_MODE = "accurate-seek"* 0: 普通模式,即会拖动到时间戳的那一秒* 1: 精准模式,会拖动到时间戳最近的关键帧* default 0*/var accurateSeek: Int? = null,/*** KEY_OPEN_RETRY_TIMES = "open-retry-times"* 打开重试次数,设置后若打开流地址失败,则会进行重试*/var openRetryTimes: Int? = null,/*** KEY_START_POSITION = "start-position"* 设置开始播放位置* 默认不开启,单位为 ms*/var startPosition: Long? = null,/*** KEY_MP4_PRELOAD = "mp4-preload"*/var mp4Preload: Boolean? = null,/*** KEY_SDK_ID = "sdk-id"*/var sdkId: String? = null,/*** KEY_LOG_LEVEL = "log-level"* 2: VERBOSE* 3: DEBUG* 4: INFO* 5: WARN* 6: ERROR* other: ERROR*/var logLevel: Int? = null,/*** 0: PLVideoView.ASPECT_RATIO_ORIGIN* 1: PLVideoView.ASPECT_RATIO_FIT_PARENT* 2: PLVideoView.ASPECT_RATIO_PAVED_PARENT* 3: PLVideoView.ASPECT_RATIO_16_9* 4: PLVideoView.ASPECT_RATIO_4_3*/var displayAspectRatio: Int? = null,/*** 0: 0度* 1: 90度* 2: 180度* 3: 270度*/var displayOrientation: Int? = null,/*** 画面的镜像变换*/var isMirror: Boolean? = false,/*** 播放视频的一部分区域*/var videoAreaX: Int? = null,var videoAreaY: Int? = null,var videoAreaWidth: Int? = null,var videoAreaHeight: Int? = null,var zOrderOnTop: Boolean? = null,var zOrderMediaOverlay: Boolean? = null
) {
}
// Swift, iOS端参数, 使用详情请见七牛播放SDK(https://developer.qiniu.com/pili/1211/ios-playback-end-the-sdk)
import Foundation
import PLPlayerKitpublic class VideoConfig {var path: String? = nil/*** PLPlayerOptionKeyTimeoutIntervalForMediaPackets* 播放器所用 RTMP 连接的超时断开时间长度,单位为秒。小于等于 0 表示无超时限制*/var timeoutIntervalForMediaPackets: Int? = nil/*** PLPlayerOptionKeyMaxL1BufferDuration* 一级缓存大小,单位为 ms,默认为 1000ms,增大该值可以减小播放过程中的卡顿率,但会增大弱网环境的最大累积延迟*/var maxL1BufferDuration: Int? = nil/*** PLPlayerOptionKeyMaxL2BufferDuration* 二级缓存大小,单位为 ms,默认为 1000ms,增大该值可以减小播放过程中的卡顿率,但会增大弱网环境的最大累积延迟*/var maxL2BufferDuration: Int? = nil/*** PLPlayerOptionKeyVideoToolbox* 是否使用 video toolbox 硬解码*/var videoToolbox: Bool? = nil/*** PLPlayerOptionKeyLogLevel* PLLogLevel 配置 log 级别*/var logLevel: Int? = nil/*** PLPlayerOptionKeyDNSManager* DNS 配置,使用内置的 DNS解析*/var dNSManager: String? = nil/*** PLPlayerOptionKeyVideoCacheFolderPath* NSString  点播 mp4 视频缓存目录*/var videoCacheFolderPath: String? = nil/*** PLPlayerOptionKeyVideoPreferFormat* PLPlayFormat    视频预设值播放 URL 格式类型*/var videoPreferFormat: Int? = nil/*** PLPlayerOptionKeyVideoCacheExtensionName* 点播 mp4 视频缓存扩展名*/var videoCacheExtensionName: String? = nil/*** PLPlayerOptionKeyHeadUserAgent* 设置 http 的 header,类似 “key:value” 的形式,* 例如:给 http 的 header 添加 referer,则以 “Referer:http://xxx.xxx.com” 格式配置*/var headUserAgent: String? = nil/*** PLPlayerOptionKeyVideoFileNameEncode* 缓存文件名是否加密*/var videoFileNameEncode: Bool? = nil/*** 设置 player 相关属性支持后台播放*/var isBackgroundPlayEnable: Bool? = nil/*** 例如: "Referer:http://xxx.xxx.com"*/var referer: String? = nil/*** 私有DRM* 该属性仅对 HLS 点播有效*/var drmKey: String? = nil/*** 是否渲染画面,默认为 YES* 该属性仅对 rtmp/flv 直播与 ffmpeg 点播有效*/var enableRender: Bool? = nil/*** 是否循环播放,默认为 NO* 该属性仅对点播有效*/var loopPlay: Bool? = nil/*** 是否缓存下载* 是否允许,默认为 YES,允许缓存下载* 当 bufferingEnabled 为 YES 时,文件正常下载。若下载中,修改 bufferingEnabled 为 NO,则下载暂停*/var isBufferingEnabled: Bool? = nil/*** 是否开启重连,默认为 NO* 该属性仅对 rtmp/flv 直播与 ffmpeg 点播有效*/var isAutoReconnectEnable: Bool? = nil
}
// VideoPlayerView 使用, 可使用上述Android/iOS端相关参数
@overrideWidget build(BuildContext context) {return MaterialApp(home: Scaffold(appBar: AppBar(title: const Text('Plugin example app'),),body: Center(child: VideoPlayerView(//path: "http://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/gear2/prog_index.m3u8",//path: "rtmp://ns8.indexforce.com/home/mystream",path: "rtmp://mobliestream.c3tv.com:554/live/goodtv.sdp",onViewCreated: (VideoPlayerViewController controller) {},),),),);}

源码下载:https://download.csdn.net/download/songtao542/86514121

七牛直播播放端flutter插件相关推荐

  1. 七牛云直播-Android端播放卡顿问题处理

    背景: 七牛直播云主要涉及推流SDK.业务控制SDK.播放SDK.转发平台:而在播放端经常会遇到卡断不能播放的问题,此时可能有两种情况,第一,推流端停止推流,即主播下线:第二,播放端网络慢的原因:所以 ...

  2. 何李石:七牛直播云技术详解

    导读: 6月30日,七牛在原有云存储,云加速以及数据处理服务的基础上,正式推出七牛直播云服务.这次发布,除了推出实时流网络(LiveNet)作为全面支撑直播实时互动场景的传输网络通道,同时也推出多平台 ...

  3. 七牛直播云服务技术揭秘

    以下根据七牛云首席布道师何李石现场演讲内容整理. 直播模型及其实现 一个通用的直播模型一般包括三个模块:主播方.服务器端和播放端. 首先是主播方,它是产生视频流的源头,由一系列流程组成: 第一,通过一 ...

  4. 直播APP的应用(使用七牛直播平台SDK和环信IM低仿映客)

    简介 这是一款低仿映客直播的Android直播聊天应用,本项目通过使用七牛的直播平台提供的sdk进行推流和拉流,使用环信IM来作为用户系统的管理直播聊天室中消息收发.发送礼物.弹幕.私信等功能.本项目 ...

  5. android七牛直播镜像,七牛云直播SDK之推流解析

    最近由于项目需要,研究了直播的推拉流以及滤镜叠加的效果,在此记录一下一些小的细节. 前期做了直播SDK的调研,发现七牛云的SDK更符合项目需求一点,所以,最终选择了七牛云的SDK. 推流 七牛云官方的 ...

  6. php使用七牛直播,七牛上传文件,PHP版本

    自从知道七牛以来,就一直在用七牛做图片外链,但是每次需要到七牛官网登录,然后再上传图片.感觉很麻烦,最近想做一个自己的上传到七牛的平台,开始的想法是用C#写一个windows客户端,在用swift写一 ...

  7. 七牛直播demo链接

    快速接入文档: http://developer.qiniu.com/article/index.html#pili-sdk 客户端SDK链接: 安卓推流SDK:https://github.com/ ...

  8. 七牛直播sdk快速接入demo

    链接:https://github.com/JemyCheung/easystreaming 这个比较简洁,README也写的挺好,官方demo体验感比较好,但是很复杂,很容易扣代码扣错

  9. 七牛-Android 视频播放端 SDK 引入

    引入步骤: 1.创建一个新的AndroidStudio工程 2.将项目中的build.gradle文件中的minSdkVersion 版本改为19 3.在proguard-rules.pro文件中加入 ...

最新文章

  1. python qq签到_Python开发qq批量登陆
  2. 论坛报名 | AI 时代,新药研发真能告别「十年磨一剑」吗?
  3. java中synchronized修饰静态方法和非静态方法有什么区别?
  4. Spring boot定制错误json数据
  5. 如何使用DNN中的Calendar控件
  6. 阿里巴巴的独立环境是如何实现的
  7. 第一周:深度学习引言(Introduction to Deep Learning)
  8. ad敷铜后还有部分飞线_网友自制LPL赛区AD选手排名图!阿水Lwx荣誉值已超越Uzi_电竞...
  9. web项目中保存emoji到mysql数据库
  10. 基于微信小程序开发——音乐播放器
  11. java基础习题_JAVA基础练习题
  12. 数学建模优化模型简单例题_数学建模案例分析--最优化方法建模7习题六
  13. 变位齿轮重合度计算公式_齿轮变位系数的优化选择
  14. 计算机辅助汽车人机工程未来挑战,计算机辅助人机工程设计的虚拟人分析-机械制造及其自动化专业论文.docx...
  15. hive查询数据库总条数
  16. Android 在系统启动时设置声卡权限,[RK3288][Android7.1]强制使用默认声卡播放声音...
  17. php实现微信一键登录,PHP如何实现微信的授权登录
  18. QT下获取汉字拼音首字母
  19. 麦当劳巨无霸汉堡合作超人气动漫《机动战士高达》
  20. 幽默故事:1、有实力的女人;2、小小挖蕨鸡(木子家原创)

热门文章

  1. Android Studio 实战演练—小猴子摘桃
  2. sql查询——查询每门课程各分数段的人数,分别用count和sum方法实现
  3. Java Swing 图形用户界面——常见组件
  4. 关于Unity接入微信扫码登录
  5. RenderControl (asp.net)
  6. Mixed Content: The page at was loaded over HTTPS, but requested an insecure imag
  7. 如何提高网页的效率(下篇)——Use YSlow to know why your web Slow
  8. 多功能超声波换能器驱动电路PCB线路板设计
  9. PHP错误码0024,window_Win7系统开机蓝屏提示错误代码0x00000024的故障分析及解决方法,win7系统出现蓝屏现象属于常见 - phpStudy...
  10. python随机生成8位字符串