Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
NotesChapter
GSYVideoPlayer
提交
36a19c73
G
GSYVideoPlayer
项目概览
NotesChapter
/
GSYVideoPlayer
与 Fork 源项目一致
从无法访问的项目Fork
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
GSYVideoPlayer
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
36a19c73
编写于
4月 10, 2020
作者:
S
shuyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update ex_so
上级
13860473
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
38 addition
and
24 deletion
+38
-24
doc/QUESTION.md
doc/QUESTION.md
+36
-22
gsyVideoPlayer-ex_so/libs/arm64-v8a/libijkffmpeg.so
gsyVideoPlayer-ex_so/libs/arm64-v8a/libijkffmpeg.so
+0
-0
gsyVideoPlayer-ex_so/libs/arm64-v8a/libijkplayer.so
gsyVideoPlayer-ex_so/libs/arm64-v8a/libijkplayer.so
+0
-0
gsyVideoPlayer-ex_so/libs/arm64-v8a/libijksdl.so
gsyVideoPlayer-ex_so/libs/arm64-v8a/libijksdl.so
+0
-0
gsyVideoPlayer-ex_so/libs/armeabi-v7a/libijkffmpeg.so
gsyVideoPlayer-ex_so/libs/armeabi-v7a/libijkffmpeg.so
+0
-0
gsyVideoPlayer-ex_so/libs/armeabi/libijkffmpeg.so
gsyVideoPlayer-ex_so/libs/armeabi/libijkffmpeg.so
+0
-0
gsyVideoPlayer-ex_so/libs/x86/libijkffmpeg.so
gsyVideoPlayer-ex_so/libs/x86/libijkffmpeg.so
+0
-0
gsyVideoPlayer-ex_so/libs/x86_64/libijkffmpeg.so
gsyVideoPlayer-ex_so/libs/x86_64/libijkffmpeg.so
+0
-0
gsyVideoPlayer/build.gradle
gsyVideoPlayer/build.gradle
+2
-2
未找到文件。
doc/QUESTION.md
浏览文件 @
36a19c73
...
...
@@ -209,28 +209,42 @@ mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 1L);
```
对应
```
VideoOptionModel videoOptionModel = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "rtsp_transport", "tcp");
List<VideoOptionModel> list = new ArrayList<>();
list.add(videoOptionModel);
videoOptionModel = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "rtsp_flags", "prefer_tcp");
list.add(videoOptionModel);
videoOptionModel = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "allowed_media_types", "video"); //根据媒体类型来配置
list.add(videoOptionModel);
videoOptionModel = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "timeout", 20000);
list.add(videoOptionModel);
videoOptionModel = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "buffer_size", 1316);
list.add(videoOptionModel);
videoOptionModel = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "infbuf", 1); // 无限读
list.add(videoOptionModel);
videoOptionModel = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "analyzemaxduration", 100);
list.add(videoOptionModel);
videoOptionModel = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "probesize", 10240);
list.add(videoOptionModel);
videoOptionModel = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "flush_packets", 1);
list.add(videoOptionModel);
// 关闭播放器缓冲,这个必须关闭,否则会出现播放一段时间后,一直卡主,控制台打印 FFP_MSG_BUFFERING_START
videoOptionModel = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "packet-buffering", 0);
list.add(videoOptionModel);
List<VideoOptionModel> list = new ArrayList<>();
VideoOptionModel videoOptionMode01 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "fast", 1);//不额外优化
list.add(videoOptionMode01);
VideoOptionModel videoOptionMode02 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "probesize", 200);//10240
list.add(videoOptionMode02);
VideoOptionModel videoOptionMode03 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "flush_packets", 1);
list.add(videoOptionMode03);
//pause output until enough packets have been read after stalling
VideoOptionModel videoOptionMode04 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "packet-buffering", 0);//是否开启缓冲
list.add(videoOptionMode04);
//drop frames when cpu is too slow:0-120
VideoOptionModel videoOptionMode05 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 1);//丢帧,太卡可以尝试丢帧
list.add(videoOptionMode05);
//automatically start playing on prepared
VideoOptionModel videoOptionMode06 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "start-on-prepared", 1);
list.add(videoOptionMode06);
VideoOptionModel videoOptionMode07 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_CODEC, "skip_loop_filter", 48);//默认值48
list.add(videoOptionMode07);
//max buffer size should be pre-read:默认为15*1024*1024
VideoOptionModel videoOptionMode11 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max-buffer-size", 0);//最大缓存数
list.add(videoOptionMode11);
VideoOptionModel videoOptionMode12 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "min-frames", 2);//默认最小帧数2
list.add(videoOptionMode12);
VideoOptionModel videoOptionMode13 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max_cached_duration", 30);//最大缓存时长
list.add(videoOptionMode13);
//input buffer:don't limit the input buffer size (useful with realtime streams)
VideoOptionModel videoOptionMode14 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "infbuf", 1);//是否限制输入缓存数
list.add(videoOptionMode14);
VideoOptionModel videoOptionMode15 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "fflags", "nobuffer");
list.add(videoOptionMode15);
VideoOptionModel videoOptionMode16 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "rtsp_transport", "tcp");//tcp传输数据
list.add(videoOptionMode16);
VideoOptionModel videoOptionMode17 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "analyzedmaxduration", 100);//分析码流时长:默认1024*1000
list.add(videoOptionMode17);
GSYVideoManager.instance().setOptionModelList(list);
```
#### 18、url切换400/404(http与https域名共用等)
...
...
gsyVideoPlayer-ex_so/libs/arm64-v8a/libijkffmpeg.so
浏览文件 @
36a19c73
无法预览此类型文件
gsyVideoPlayer-ex_so/libs/arm64-v8a/libijkplayer.so
浏览文件 @
36a19c73
无法预览此类型文件
gsyVideoPlayer-ex_so/libs/arm64-v8a/libijksdl.so
浏览文件 @
36a19c73
无法预览此类型文件
gsyVideoPlayer-ex_so/libs/armeabi-v7a/libijkffmpeg.so
浏览文件 @
36a19c73
无法预览此类型文件
gsyVideoPlayer-ex_so/libs/armeabi/libijkffmpeg.so
浏览文件 @
36a19c73
无法预览此类型文件
gsyVideoPlayer-ex_so/libs/x86/libijkffmpeg.so
浏览文件 @
36a19c73
无法预览此类型文件
gsyVideoPlayer-ex_so/libs/x86_64/libijkffmpeg.so
浏览文件 @
36a19c73
无法预览此类型文件
gsyVideoPlayer/build.gradle
浏览文件 @
36a19c73
...
...
@@ -44,7 +44,7 @@ dependencies {
//api project(':gsyVideoPlayer-x86_64')
//更多配置版so,增加了concat,rtsp,mpeg,crypto
//
api project(':gsyVideoPlayer-ex_so')
api
project
(
':gsyVideoPlayer-ex_so'
)
//api "com.shuyu:GSYVideoPlayer:$gsyVideoVersion"
...
...
@@ -57,7 +57,7 @@ dependencies {
//api "com.shuyu:gsyVideoPlayer-x86:$gsyVideoVersion"
//更多配置版so,增加了concat,rtsp,mpeg,crypto
api
"com.shuyu:gsyVideoPlayer-ex_so:$gsyVideoVersion"
//
api "com.shuyu:gsyVideoPlayer-ex_so:$gsyVideoVersion"
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录