Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS 同时拉两路RTSP流,会导致卡顿,但是单独拉任何一路是不卡的,延迟200ms左右 #5590

Open
chenanghui opened this issue Apr 18, 2024 · 24 comments

Comments

@chenanghui
Copy link

iOS,RSTP协议流,H265格式,1080P,硬解,拉流都正常,不卡顿,延迟也只有200ms,但是如果再创建一个player开一路,就会导致卡顿,延迟也不高,有人知道为什么吗?

@chenanghui chenanghui changed the title iOS 同时拉两路RTSP流,会导致卡顿,但是单独拉任何一路是不卡的 iOS 同时拉两路RTSP流,会导致卡顿,但是单独拉任何一路是不卡的,延迟200ms左右 Apr 18, 2024
@chenanghui
Copy link
Author

有没有搞过同时开2路流的或者知不知道ijkplayer到底支不支持同时开两路,或者硬解能不能支持同时解两路h265 1080的流,谢谢

@chenanghui
Copy link
Author

已经搞定了,问题出在ffmpeg库上,默认拉下来的版本是ff3.4--ijk0.8.7--20180103--001
修改到最新的版本ff4.0--ijk0.8.8--20210426--001,这样就可以同时开两路实时流不卡顿了
目前我是两路1080P的RTSP实时流,H265,延迟在200ms,暂时可以用,后续看还能不能降低下延迟到200以内,在这里记录下,后续如果有人遇到这个问题可以尝试下

@shesio
Copy link

shesio commented May 21, 2024

已经搞定了,问题出在ffmpeg库上,默认拉下来的版本是ff3.4--ijk0.8.7--20180103--001 修改到最新的版本ff4.0--ijk0.8.8--20210426--001,这样就可以同时开两路实时流不卡顿了 目前我是两路1080P的RTSP实时流,H265,延迟在200ms,暂时可以用,后续看还能不能降低下延迟到200以内,在这里记录下,后续如果有人遇到这个问题可以尝试下

大神,如何修改的最新版本的ffmpeg呢,给指明下方向吧

@chenanghui
Copy link
Author

已经搞定了,问题出在ffmpeg库上,默认拉下来的版本是ff3.4--ijk0.8.7--20180103--001修改到最新的版本ff4.0--ijk0.8.8--20210426--001 ,这样就可以同时开两路实时流不卡顿了,目前我是两路1080P的RTSP实时流,H265,延迟在200ms,暂时用,后续看还能不能降低下延迟到200以内可以,这里记录一下下,后续如果有人遇到这个问题可以尝试下

大神,如何修改最新版本的ffmpeg呢,给指明下方向吧

init-ios.sh文件中修改 IJK_FFMPEG_COMMIT=ff4.0--ijk0.8.8--20210426--001

@lifution
Copy link

已经搞定了,问题出在ffmpeg库上,默认拉下来的版本是ff3.4--ijk0.8.7--20180103--001 修改到最新的版本ff4.0--ijk0.8.8--20210426--001,这样就可以同时开两路实时流不卡顿了 目前我是两路1080P的RTSP实时流,H265,延迟在200ms,暂时可以用,后续看还能不能降低下延迟到200以内,在这里记录下,后续如果有人遇到这个问题可以尝试下

你好,你能编译通过吗?我也想着重新编译为 FFmpeg4.0 并需要支持 RTSP 协议,但是编译一直报错(下图)。

我是 M1,macOS 14.5,Xcode 15.4,如果有解决方法还望能分享一下,如果方便的话分享一下已编译好的 IJKMediaFramework 文件就更好了,感谢 🙏

@chenanghui
Copy link
Author

已经搞定了,问题出在ffmpeg库上,默认拉下来的版本是ff3.4--ijk0.8.7--20180103--001 修改到最新的版本ff4.0--ijk0.8.8--20210426--001,这样就可以同时开两路实时流不卡顿了 目前我是两路1080P的RTSP实时流,H265,延迟在200ms,暂时可以用,后续看还能不能降低下延迟到200以内,在这里记录下,后续如果有人遇到这个问题可以尝试下

你好,你能编译通过吗?我也想着重新编译为 FFmpeg4.0 并需要支持 RTSP 协议,但是编译一直报错(下图)。 我是 M1,macOS 14.5,Xcode 15.4,如果有解决方法还望能分享一下,如果方便的话分享一下已编译好的 IJKMediaFramework 文件就更好了,感谢 🙏

你不改版本编译也报错吗

@lifution
Copy link

已经搞定了,问题出在ffmpeg库上,默认拉下来的版本是ff3.4--ijk0.8.7--20180103--001 修改到最新的版本ff4.0--ijk0.8.8--20210426--001,这样就可以同时开两路实时流不卡顿了 目前我是两路1080P的RTSP实时流,H265,延迟在200ms,暂时可以用,后续看还能不能降低下延迟到200以内,在这里记录下,后续如果有人遇到这个问题可以尝试下

你好,你能编译通过吗?我也想着重新编译为 FFmpeg4.0 并需要支持 RTSP 协议,但是编译一直报错(下图)。 我是 M1,macOS 14.5,Xcode 15.4,如果有解决方法还望能分享一下,如果方便的话分享一下已编译好的 IJKMediaFramework 文件就更好了,感谢 🙏

你不改版本编译也报错吗

是的,旧版本也是同样的错误。查了好久都没找到解决方法,网上找的已编译好的 IJKMediaFramework 又不支持 RTSP 协议。现在就很苦恼 😭

@chenanghui
Copy link
Author

已经搞定了,问题出在ffmpeg库上,默认拉下来的版本是ff3.4--ijk0.8.7--20180103--001 修改到最新的版本ff4.0--ijk0.8.8--20210426--001,这样就可以同时开两路实时流不卡顿了 目前我是两路1080P的RTSP实时流,H265,延迟在200ms,暂时可以用,后续看还能不能降低下延迟到200以内,在这里记录下,后续如果有人遇到这个问题可以尝试下

你好,你能编译通过吗?我也想着重新编译为 FFmpeg4.0 并需要支持 RTSP 协议,但是编译一直报错(下图)。 我是 M1,macOS 14.5,Xcode 15.4,如果有解决方法还望能分享一下,如果方便的话分享一下已编译好的 IJKMediaFramework 文件就更好了,感谢 🙏

你不改版本编译也报错吗

是的,旧版本也是同样的错误。查了好久都没找到解决方法,网上找的已编译好的 IJKMediaFramework 又不支持 RTSP 协议。现在就很苦恼 😭

不至于吧,按照网上的帖子编译,是不会有什么问题的

@chenanghui
Copy link
Author

已经搞定了,问题出在ffmpeg库上,默认拉下来的版本是ff3.4--ijk0.8.7--20180103--001 修改到最新的版本ff4.0--ijk0.8.8--20210426--001,这样就可以同时开两路实时流不卡顿了 目前我是两路1080P的RTSP实时流,H265,延迟在200ms,暂时可以用,后续看还能不能降低下延迟到200以内,在这里记录下,后续如果有人遇到这个问题可以尝试下

你好,你能编译通过吗?我也想着重新编译为 FFmpeg4.0 并需要支持 RTSP 协议,但是编译一直报错(下图)。 我是 M1,macOS 14.5,Xcode 15.4,如果有解决方法还望能分享一下,如果方便的话分享一下已编译好的 IJKMediaFramework 文件就更好了,感谢 🙏

你不改版本编译也报错吗

是的,旧版本也是同样的错误。查了好久都没找到解决方法,网上找的已编译好的 IJKMediaFramework 又不支持 RTSP 协议。现在就很苦恼 😭

不至于吧,按照网上的帖子编译,是不会有什么问题的

https://www.jianshu.com/p/49fa608b448f
你按照这个,然后生成生成新的 module.sh的时候不用module-lite.sh,直接用module-default.sh来生成module.sh,里面的内容不需要改动
image
也就是 执行rm module.sh 删除
然后ln -s module-default.sh module.sh
这样就支持rtsp了,其他的都按照文档上的就可以了

@lifution
Copy link

已经搞定了,问题出在ffmpeg库上,默认拉下来的版本是ff3.4--ijk0.8.7--20180103--001 修改到最新的版本ff4.0--ijk0.8.8--20210426--001,这样就可以同时开两路实时流不卡顿了 目前我是两路1080P的RTSP实时流,H265,延迟在200ms,暂时可以用,后续看还能不能降低下延迟到200以内,在这里记录下,后续如果有人遇到这个问题可以尝试下

你好,你能编译通过吗?我也想着重新编译为 FFmpeg4.0 并需要支持 RTSP 协议,但是编译一直报错(下图)。 我是 M1,macOS 14.5,Xcode 15.4,如果有解决方法还望能分享一下,如果方便的话分享一下已编译好的 IJKMediaFramework 文件就更好了,感谢 🙏

你不改版本编译也报错吗

是的,旧版本也是同样的错误。查了好久都没找到解决方法,网上找的已编译好的 IJKMediaFramework 又不支持 RTSP 协议。现在就很苦恼 😭

不至于吧,按照网上的帖子编译,是不会有什么问题的

https://www.jianshu.com/p/49fa608b448f 你按照这个,然后生成生成新的 module.sh的时候不用module-lite.sh,直接用module-default.sh来生成module.sh,里面的内容不需要改动 image 也就是 执行rm module.sh 删除 然后ln -s module-default.sh module.sh 这样就支持rtsp了,其他的都按照文档上的就可以了

好的,我试试,感谢

@chenanghui
Copy link
Author

chenanghui commented May 22, 2024

这里是我编译好的支持rtsp硬解码的文件,ffmpeg4.0
链接: https://pan.baidu.com/s/1FCxYxMrmd3soUp0AGDFhkg?pwd=sjiv 提取码: sjiv

@chenanghui
Copy link
Author

已经搞定了,问题出在ffmpeg库上,默认拉下来的版本是ff3.4--ijk0.8.7--20180103--001 修改到最新的版本ff4.0--ijk0.8.8--20210426--001,这样就可以同时开两路实时流不卡顿了 目前我是两路1080P的RTSP实时流,H265,延迟在200ms,暂时可以用,后续看还能不能降低下延迟到200以内,在这里记录下,后续如果有人遇到这个问题可以尝试下

你好,你能编译通过吗?我也想着重新编译为 FFmpeg4.0 并需要支持 RTSP 协议,但是编译一直报错(下图)。 我是 M1,macOS 14.5,Xcode 15.4,如果有解决方法还望能分享一下,如果方便的话分享一下已编译好的 IJKMediaFramework 文件就更好了,感谢 🙏

你不改版本编译也报错吗

是的,旧版本也是同样的错误。查了好久都没找到解决方法,网上找的已编译好的 IJKMediaFramework 又不支持 RTSP 协议。现在就很苦恼 😭

不至于吧,按照网上的帖子编译,是不会有什么问题的

https://www.jianshu.com/p/49fa608b448f 你按照这个,然后生成生成新的 module.sh的时候不用module-lite.sh,直接用module-default.sh来生成module.sh,里面的内容不需要改动 image 也就是 执行rm module.sh 删除 然后ln -s module-default.sh module.sh 这样就支持rtsp了,其他的都按照文档上的就可以了

好的,我试试,感谢

我在下面贴了我编译好的文件,如果你还搞不定用我那个试试看,不知道行不行

@lifution
Copy link

这里是我编译好的支持rtsp硬解码的文件,ffmpeg4.0 链接: https://pan.baidu.com/s/10TMg3d_54B-xCe_o3Vd6ag?pwd=rer5 提取码: rer5 复制这段内容后打开百度网盘手机App,操作更方便哦

非常感谢 🙏

@lifution
Copy link

这里是我编译好的支持rtsp硬解码的文件,ffmpeg4.0 链接: https://pan.baidu.com/s/10TMg3d_54B-xCe_o3Vd6ag?pwd=rer5 提取码: rer5 复制这段内容后打开百度网盘手机App,操作更方便哦

你这个好像是安卓使用的,我这边是 iOS 的。我是在最后一步编译打包为 iOS 所用的 framework 文件时才报错的,可能和安卓有点不一样,所以你那边才没遇到上面这个错误。不过还是感谢你的指导 🙏 如果实在不行我就换成 VLC 好了 😂

@lifution
Copy link

这里是我编译好的支持rtsp硬解码的文件,ffmpeg4.0 链接: https://pan.baidu.com/s/10TMg3d_54B-xCe_o3Vd6ag?pwd=rer5 提取码: rer5 复制这段内容后打开百度网盘手机App,操作更方便哦

非常感谢 🙏

这里的包,是没有做网络优化的,因为我自己用是直连,所以延迟上不需要加网络优化,目前我自己的延迟是200ms,如果需要网络优化,可以自己处理一下https://blog.csdn.net/u011686167/article/details/85256101

好的,感谢

@chenanghui
Copy link
Author

这里是我编译好的支持rtsp硬解码的文件,ffmpeg4.0 链接: https://pan.baidu.com/s/10TMg3d_54B-xCe_o3Vd6ag?pwd=rer5 提取码: rer5 复制这段内容后打开百度网盘手机App,操作更方便哦

你这个好像是安卓使用的,我这边是 iOS 的。我是在最后一步编译打包为 iOS 所用的 framework 文件时才报错的,可能和安卓有点不一样,所以你那边才没遇到上面这个错误。不过还是感谢你的指导 🙏 如果实在不行我就换成 VLC 好了 😂

我这是iOS的包啊。。。我自己也是用的这个包,也是iOS项目

@chenanghui
Copy link
Author

chenanghui commented May 22, 2024

这里是我编译好的支持rtsp硬解码的文件,ffmpeg4.0 链接: https://pan.baidu.com/s/1FCxYxMrmd3soUp0AGDFhkg?pwd=sjiv 提取码: sjiv

你这个好像是安卓使用的,我这边是 iOS 的。我是在最后一步编译打包为 iOS 所用的 framework 文件时才报错的,可能和安卓有点不一样,所以你那边才没遇到上面这个错误。不过还是感谢你的指导 🙏 如果实在不行我就换成 VLC 好了 😂

我这是iOS的包啊。。。我自己也是用的这个包,也是iOS项目

image 这不就是iOS的包么

@lifution
Copy link

lifution commented May 22, 2024

这里是我编译好的支持rtsp硬解码的文件,ffmpeg4.0 链接: https://pan.baidu.com/s/10TMg3d_54B-xCe_o3Vd6ag?pwd=rer5 提取码: rer5 复制这段内容后打开百度网盘手机App,操作更方便哦

你这个好像是安卓使用的,我这边是 iOS 的。我是在最后一步编译打包为 iOS 所用的 framework 文件时才报错的,可能和安卓有点不一样,所以你那边才没遇到上面这个错误。不过还是感谢你的指导 🙏 如果实在不行我就换成 VLC 好了 😂

我这是iOS的包啊。。。我自己也是用的这个包,也是iOS项目

可能上传错了,我下载解压后是三个 so 文件,这好像是安卓那边使用的链接库。

@lifution
Copy link

这里是我编译好的支持rtsp硬解码的文件,ffmpeg4.0 链接: https://pan.baidu.com/s/10TMg3d_54B-xCe_o3Vd6ag?pwd=rer5 提取码: rer5 复制这段内容后打开百度网盘手机App,操作更方便哦

你这个好像是安卓使用的,我这边是 iOS 的。我是在最后一步编译打包为 iOS 所用的 framework 文件时才报错的,可能和安卓有点不一样,所以你那边才没遇到上面这个错误。不过还是感谢你的指导 🙏 如果实在不行我就换成 VLC 好了 😂

我这是iOS的包啊。。。我自己也是用的这个包,也是iOS项目

image 这不就是iOS的包么

你好,可以分享一下编译后的 IJKMediaFramework.framework 文件么。我按照上面的方法用 module-default.sh 再重新编译,一样是报同样的错误,真不知是问题出在哪了,折腾了两天了 😭

@chenanghui
Copy link
Author

处理好的支持rtsp及h.265的包,网络优化未做太多,如果自己想做网络优化,可以在网上找下别的贴子自己编译处理
链接: https://pan.baidu.com/s/1FCxYxMrmd3soUp0AGDFhkg?pwd=sjiv 提取码: sjiv

@chenanghui
Copy link
Author

这里是我编译好的支持rtsp硬解码的文件,ffmpeg4.0 链接: https://pan.baidu.com/s/10TMg3d_54B-xCe_o3Vd6ag?pwd=rer5 提取码: rer5 复制这段内容后打开百度网盘手机App,操作更方便哦

你这个好像是安卓使用的,我这边是 iOS 的。我是在最后一步编译打包为 iOS 所用的 framework 文件时才报错的,可能和安卓有点不一样,所以你那边才没遇到上面这个错误。不过还是感谢你的指导 🙏 如果实在不行我就换成 VLC 好了 😂

我这是iOS的包啊。。。我自己也是用的这个包,也是iOS项目

可能上传错了,我下载解压后是三个 so 文件,这好像是安卓那边使用的链接库。

可能是发错了连接,新发了连接可以看看行不行

@lifution
Copy link

这里是我编译好的支持rtsp硬解码的文件,ffmpeg4.0 链接: https://pan.baidu.com/s/10TMg3d_54B-xCe_o3Vd6ag?pwd=rer5 提取码: rer5 复制这段内容后打开百度网盘手机App,操作更方便哦

你这个好像是安卓使用的,我这边是 iOS 的。我是在最后一步编译打包为 iOS 所用的 framework 文件时才报错的,可能和安卓有点不一样,所以你那边才没遇到上面这个错误。不过还是感谢你的指导 🙏 如果实在不行我就换成 VLC 好了 😂

我这是iOS的包啊。。。我自己也是用的这个包,也是iOS项目

可能上传错了,我下载解压后是三个 so 文件,这好像是安卓那边使用的链接库。

可能是发错了连接,新发了连接可以看看行不行

收到,感谢 🙏

@Jijingcheng
Copy link

特别感谢您上传到云盘,我也下载试一下。

@Jijingcheng
Copy link

处理好的支持rtsp及h.265的包,网络优化未做太多,如果自己想做网络优化,可以在网上找下别的贴子自己编译处理 链接: https://pan.baidu.com/s/1FCxYxMrmd3soUp0AGDFhkg?pwd=sjiv 提取码: sjiv

Can't show file for stack frame : <DBGLLDBStackFrame: 0x510a17390> - stackNumber:1 - name:avformat_open_input [inlined]. The file path does not exist on the file system: /Users/artka/Desktop/ijkplayerFF4.0/ijkplayer-ios/ios/ffmpeg-arm64/libavformat/utils.cCan't show file for stack frame : <DBGLLDBStackFrame: 0x3f3aa1860> - stackNumber:1 - name:avformat_open_input [inlined]. The file path does not exist on the file system: /Users/artka/Desktop/ijkplayerFF4.0/ijkplayer-ios/ios/ffmpeg-arm64/libavformat/utils.c

直接导入您的,用不了,会奔溃,提示路径不对

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants