上述设置超时时间的方法对于拉流地址(rtsp指令中的ip)输入错误时并不生效,依旧会阻塞,查看源码奈何才疏学浅不知道如何解决。变向通过检测是否能建立TCP连接,来判定是否可以正常推拉流。
注:下文
中的 *** 代表文件名
中的版本号。
# 【
javacv-***.jar
中文文档.zip】
中包含:
中文文档:【
javacv-***-javadoc-API文档-
中文(简体)版.zip】
jar包下载地址:【
javacv-***.jar下载地址(官方地址+国内镜像地址).txt】
Maven依赖:【
javacv-***.jar Maven依赖信息(可用于项目pom.xml).txt】
Gradle依赖:【
javacv-***.jar Gradle依赖信息(可用于项目build.gradle).txt】
源代码下载地址:【
javacv-***-sources.jar下载地址(官方地址+国内镜像地址).txt】
# 本文件关键字:
javacv-***.jar
中文文档.zip,java,
javacv-***.jar,org.bytedeco,
javacv,***,cl.eye,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,bytedeco,
中文API文档,手册,开发手册,使用手册,参考手册
# 使用
方法:
解压 【
javacv-***.jar
中文文档.zip】,再解压其
中的 【
javacv-***-javadoc-API文档-
中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。
# 特殊说明:
·本文档为人性化翻译,精心制作,请放心使用。
·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等;
·不该翻译的内容保持原样,如:类名、
方法名、包名、类型、关键字、代码 等。
# 温馨提示:
(1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压
时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地);
(2)有
时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# Maven依赖:
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>
javacv</artifactId>
<version>***</version>
</dependency>
# Gradle依赖:
Gradle:
implementation group: 'org.bytedeco', name: '
javacv', version: '***'
Gradle (Short):
implementation 'org.bytedeco:
javacv:***'
Gradle (Kotlin):
implementation("org.bytedeco:
javacv:***")
# 含有的 Java package(包):
cl.eye
org.bytedeco.
javacv
# 含有的 Java class(类)(此处仅列举3个):
cl.eye.CLCamera
org.bytedeco.
javacv.Android
FrameConverter
org.bytedeco.
javacv.BaseChildSettings
......
1、grabber.start()阻塞的解决方案
假设有如下代码,从Socket中读取视频流并显示。
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(clientSocket.getInputStream());
grabber.setFormat("h264");
grabber.setOption("rtsp_transport", "tcp");
项目码云(Gitee)地址:https://gitee.com/banmajio/RTSPtoRTMP
项目github地址:https://github.com/banmajio/RTSPtoRTMP
个人博客:banmajio’s blog
javacv使用ffmp...
JavaCV使用FFmpeg进行rtsp转rtmp直播流画面延时的优化方法由于首帧pts和dts不相等导致的画面延时问题分析解决方法FFmpegFrameGrabber调用start()方法执行时间太长导致画面延时问题分析解决方法
项目github地址:https://github.com/banmajio/RTSPtoRTMP
个人博客:banmajio’s blog
javacv使用ff...
ffmpeg中find_stream_info函数阻塞时间太长
使用ffmpeg播放RTMP流媒体时,播放的延迟很大,而切换到RTSP时基本没有延迟。经过调试发现,程序执行到avformat_find_stream_info()函数会阻塞大约5秒左右,从而导致播放的流媒体延迟超过5秒。
修改函数里面AVFormatContext参数
修改函数里面AVFormatContext参数,probesize和max_analyze_duration值大小可以解决这个问题。
下面展示一些 内联代码片。
//通过AVD
问题:初始化RTSP流时,在android设备上卡住在avformat_find_stream_info函数,然后程序崩溃。
但其他URL没问题,且同样在代码在iOS上没问题,由于jni调试,也没看到ffmepg打印什么异常信息出来,而IOS上可以看到如下打印信息
avformat_open_input ret= 0
UDP timeout, retrying with TCP看到这个当时竟然
注:下文
中的 *** 代表文件名
中的版本号。
# 【
javacv-***.jar
中文文档.zip】
中包含:
中文文档:【
javacv-***-javadoc-API文档-
中文(简体)版.zip】
jar包下载地址:【
javacv-***.jar下载地址(官方地址+国内镜像地址).txt】
Maven依赖:【
javacv-***.jar Maven依赖信息(可用于项目pom.xml).txt】
Gradle依赖:【
javacv-***.jar Gradle依赖信息(可用于项目build.gradle).txt】
源代码下载地址:【
javacv-***-sources.jar下载地址(官方地址+国内镜像地址).txt】
# 本文件关键字:
javacv-***.jar
中文文档.zip,java,
javacv-***.jar,org.bytedeco,
javacv,***,cl.eye,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,bytedeco,
中文API文档,手册,开发手册,使用手册,参考手册
# 使用
方法:
解压 【
javacv-***.jar
中文文档.zip】,再解压其
中的 【
javacv-***-javadoc-API文档-
中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。
# 特殊说明:
·本文档为人性化翻译,精心制作,请放心使用。
·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等;
·不该翻译的内容保持原样,如:类名、
方法名、包名、类型、关键字、代码 等。
# 温馨提示:
(1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压
时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地);
(2)有
时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# Maven依赖:
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>
javacv</artifactId>
<version>***</version>
</dependency>
# Gradle依赖:
Gradle:
implementation group: 'org.bytedeco', name: '
javacv', version: '***'
Gradle (Short):
implementation 'org.bytedeco:
javacv:***'
Gradle (Kotlin):
implementation("org.bytedeco:
javacv:***")
# 含有的 Java package(包):
cl.eye
org.bytedeco.
javacv
# 含有的 Java class(类)(此处仅列举3个):
cl.eye.CLCamera
org.bytedeco.
javacv.Android
FrameConverter
org.bytedeco.
javacv.BaseChildSettings
......
FFmpeg转封装rtsp到rtmp(无需转码,低资源消耗)目录结构添加依赖,编写配置文件创建Bean创建缓存Cache修改启动类拉流、推流、转封装定时任务Timer线程池管理编写controller1.开启视频流接口(POST)2.关闭视频流接口(DELETE)3.获取视频流(GET)4.视频流保活(PUT)5.获取服务信息(GET)6.video.js
参考:javaCV开发详解之8:转封装...
tmp时间戳pts、dts矫正解决卡顿快放慢放问题与倍速播放的实现问题分析与解决思路控流思路倍速播放思路实现方式1.控流,矫正pts、dts来解决播放卡顿,画面抖动等问题。匀速推流2.倍速播放
码云(Gitee)主页:https://gitee.com/banmajio
github主页:https://github.com/banmajio
个人博客:banmajio’s blog
海康sdk二次开发系列文章
海康sdk捕获码流数据通过JavaCV推成rtmp流的实现思路(PS流转封装RTMP)