HarmonyOS ijkplayer使用rtsp播放直播流的延时问题

使用ijkplayer播放rtsp视频的时候,有些设备的延时会越来越高,请问有什么设置可以修改吗?下面是现在使用的设置。

if (!!this.mContext) {
  mIjkMediaPlayer.setContext(this.mContext,'xcomponentId1');
}
if (CONTROL_PlayStatus == PlayStatus.INIT) {
  mIjkMediaPlayer.reset();
}
CONTROL_PlayStatus = PlayStatus.PLAY;
//设置debug模式
mIjkMediaPlayer.setDebug(true);
//初始化配置
mIjkMediaPlayer.native_setup();
//设置视频源
mIjkMediaPlayer.setDataSource(url);

// 如果是rtsp协议,可以优先用tcp(默认是用udp)
if(this.camera?.rtsp===2){
  mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "rtsp_transport", "udp");
}else{
  mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "rtsp_transport", "tcp");
}
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", "1");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-auto-rotate", "1");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-handle-resolution-change", "1");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-hevc", "1");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", "60");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "start-on-prepared","0");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "opensles", "0");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", "0");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "start-on-prepared", "1");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "packet-buffering", "0");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "min-frames", "2");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max_cached_duration", "3");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "infbuf", "1");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "reconnect", "5");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "http-detect-range-support", "0");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "analyzeduration", "1");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "rtsp_flags", "prefer_tcp");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "buffer_size", "1024");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "max-fps", "30");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "analyzemaxduration", "50");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "dns_cache_clear", "1");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "flush_packets", "1");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "max-buffer-size", "0");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "fflags", "nobuffer");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "probesize", "200");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "http-detect-range-support", "0");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_CODEC, "skip_loop_filter", "48");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_CODEC, "skip_frame", "0");
// 屏幕常亮
mIjkMediaPlayer.setScreenOnWhilePlaying(true);
HarmonyOS
2024-12-25 18:06:54
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

尝试设置一下option参数如下:

mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "rtsp_transport", "tcp");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"infbuf","1");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"packet-buffering","0");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT,"fflags","nobuffer");
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "analyzeduration", "2000000");

文档链接:https://gitee.com/wugitrep/ohos_ijkplayer

分享
微博
QQ
微信
回复
2024-12-25 19:36:37
相关问题
HarmonyOS ijkplayer播放rtsp延时过高
179浏览 • 1回复 待解决
HarmonyOS 直播无法播放
235浏览 • 1回复 待解决
HarmonyOS是否支持RTSP直播
541浏览 • 1回复 待解决
HarmonyOS 直播与观看直播功能
246浏览 • 1回复 待解决
HarmonyOS 直播需求、rtmp推
299浏览 • 1回复 待解决
如何实现RTSP视频流播放
1034浏览 • 1回复 待解决
HarmonyOS ijkPlayer怎么视频后台播放
53浏览 • 1回复 待解决
HarmonyOS 任务延时问题
91浏览 • 1回复 待解决
视频和直播播放HarmonyOS最佳实践
1158浏览 • 1回复 待解决
编解码播放大数据量问题
3352浏览 • 0回复 待解决
HarmonyOS 如何播放rtmp协议音频
41浏览 • 1回复 待解决
HarmonyOS 文件问题
170浏览 • 1回复 待解决