前记:

在前面编译成功后,测试QtAV自带的示例,发现本地视频文件、RTMT流可以正常,但无法播放RTSP流,所以单独探究了此问题

一、分析问题

因为之前研究过ffmpeg的使用,所以直接想到,应该是rtsp拉流,默认使用了udp,而不是tcp,先验证下问题:

找到ffmpeg预编译包ffmpeg-4.4-full_build-shared/bin/ffplay.exe

执行ffplay rtmp://___,可以正常播放

执行ffplay rtsp://___,无法播放

执行ffplay -rtsp_transport tcp rtsp://___,可以正常播放

由此找到问题,是网络状况不佳导致的

二、解决问题

简单看了下QtAV源码,没有找到设置的接口,那就直接写在源码中吧

找到QtAV源码QtAV/src/AVDemuxer.cpp,在void checkNetwork()中加入如下代码

if(file.startsWith(QLatin1String("rtsp:")))options[QStringLiteral("rtsp_transport")]=QStringLiteral("tcp");

告诉ffmpeg,rtsp直接使用tcp拉流

参考之前的编译的方法,重新编译,然后再测试示例player和QMLPlayer,发现可以正常播放rtsp流了

QtAV学习笔记 解决RTSP流无法播放问题(三)相关推荐

  1. live555 学习笔记-建立RTSP连接的过程(RTSP服务器端)

    live555 学习笔记-建立RTSP连接的过程(RTSP服务器端) 监听 创建rtsp server,rtspserver的构造函数中,创建监听socket,添加到调度管理器BasicTaskSch ...

  2. Android学习笔记----解决“com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536”问题

    Android学习笔记----解决"com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 6553 ...

  3. RT-Thread 入门学习笔记 - 解决RT_ASSERT失效的问题

    RT-Thread 入门学习笔记 - menuconfig Kconfig的使用 RT-Thread 入门学习笔记 - 熟悉动态内存申请与释放 RT-Thread 入门学习笔记 - 查看线程栈的地址 ...

  4. JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别

    JavaScript:学习笔记(7)--VAR.LET.CONST三种变量声明的区别 ES2015(ES6)带来了许多闪亮的新功能,自2017年以来,许多JavaScript开发人员已经熟悉并开始使用 ...

  5. 深度学习笔记(8) 实践层面(三)

    深度学习笔记(8) 实践层面(三) 1. 归一化 / 标准化输入 2. 权重初始化 3. 梯度检验 1. 归一化 / 标准化输入 训练神经网络,特征必须要在0到1之间 此时就只能加速训练的方法就是归一 ...

  6. Timo学习笔记 :Python基础教程(第三版)第四章 当索引行不通时

    第四章 当索引行不通时 Timo学习笔记 :Python基础教程(第三版)第三章 使用字符串 这是word编辑的最后一章笔记,第五章开始将直接用这个模板记录. 本章笔记很少,也很简单.很多方法可以到要 ...

  7. java学习笔记16--I/O流和文件

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input  Output)流 IO流用来处理 ...

  8. [工具]利用EasyRTSPClient工具检查摄像机RTSP流不能播放原因以及排查音视频数据无法播放问题...

    出现问题 我们在做流媒体开发的过程中,进程会出现摄像机RTSP流莫名其妙无法播放的问题,而我们常用的vlc经常是直接弹出一个无法播放的提示框就完事了,没有说明出错的原因,或者在vlc的消息里面能看到日 ...

  9. html播放rtsp流,浏览器播放rtsp视频流解决方案

    最近项目中需要实时播放摄像头rtsp视频流,于是就专门做了些研究.而浏览器不能直接播放,只有通过插件或者转码来实现这个需求. 要实现这个目的,可以采用的方案非常得多,有商业的也有开源的,这里主要列举一 ...

最新文章

  1. 人工智能伦理体系:基础架构与关键问题
  2. spring的发展||springboot和微服务的介绍
  3. java中实现接口采用的关键字是_一个Java类实现一个接口使用的是implements关键字。...
  4. 神探tcpdump第三招
  5. Oracle服务器修改IP后
  6. Poor Man's BERT: 更小更快的Transformer模型
  7. 二叉链表之寻找两节点的最近公共祖先☆
  8. JS备忘--子父页面获取元素属性、显示时间,iframe之间互相调用函数
  9. 在JavaScript中从base64字符串创建Blob
  10. 【渝粤题库】广东开放大学 秘书理论与实务(1) 形成性考核
  11. linux命令iconv_linux命令系列之iconv
  12. RSG.CFS.v8.0.2 1CD(综合性通用冷弯型钢构件设计工具)
  13. MD5简介与代码实现
  14. cccc2016决赛9
  15. p20 021 函数:我的地盘听我的
  16. 旷视科技2023校园招聘提前批正式启动!
  17. 【数学建模】经典简单例题实例1
  18. 《惢客创业日记》2019.11.28(周四)近者悦,远者来
  19. 文件缓存FileCache
  20. C# 之 垃圾回收机制

热门文章

  1. IDEA导出项目依赖jar包
  2. 全国地级市面板Excel数据(1990-2019年)
  3. 如何利用clusterProfiler进行基因集的KEGG富集分析?
  4. 【Python爬虫】猫眼电影榜单Top100
  5. 【滤波器】基于低通滤波实现肌电信号处理含Matlab源码
  6. HTML5前端开发入门之网易注册界面实战
  7. 【C语言程序设计】C语言实现一元二次方程的求解
  8. bukgu 论剑 (十年磨一剑,霜刃未曾试。 今日把示君,谁有不平事。)
  9. 串的模式匹配算法---RK
  10. 版本管理之SVN客户端的下载安装和使用