opencv 读取rtsp地址.保存为图片.花的问题

slmax1 2018-08-31 09:26:08
加精
opencv连接rtsp.不断从里面读取视频流,然后imwrite后.发现一开始图片正常.后面的图片就开始花了.问题是出在哪里了.
...全文
9115 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
唤日映雪 2019-05-05
  • 打赏
  • 举报
回复
我的python调用rtsp 但是 根本没视频显示 也没报错 是怎么回事 有知道的嘛
Pao Pao 2019-02-12
  • 打赏
  • 举报
回复
多谢各位大神的指点
slmax1 2018-11-14
  • 打赏
  • 举报
回复
后来问题解决了...改用的ffmpeg
eguid_1 2018-11-04
  • 打赏
  • 举报
回复 1
rtsp花屏是由于网络状况差导致的,由于rtsp是基于udp的应用层传输协议。
使用udp虽然保证了数据的实时性,但是对于数据的完整性是没有保证的,也就会产生丢包的现象,体现在视频上的感觉就是花屏或者黑屏,这是由于丢包导致的视频帧不完整和丢帧现象。
要解决这个问题可以通过强制设置为tcp方式来改善花屏和黑屏现象。
(1)如果是使用ffmpeg命令行,可以加上这句 -rtsp_transport tcp,
(2)如果是c/c++调用,可以设置av_dict_set(&options, "rtsp_transport", "tcp", 0);
(3)如果是java/python/nodejs方式调用ffmpeg,可以av_dict_set("rtsp_transport","tcp");
希望对您有用
eguid_1 2018-11-04
  • 打赏
  • 举报
回复 1
引用 7 楼 eguid_1 的回复:
rtsp花屏是由于网络状况差导致的,由于rtsp是基于udp的应用层传输协议。
使用udp虽然保证了数据的实时性,但是对于数据的完整性是没有保证的,也就会产生丢包的现象,体现在视频上的感觉就是花屏或者黑屏,这是由于丢包导致的视频帧不完整和丢帧现象。
要解决这个问题可以通过强制设置为tcp方式来改善花屏和黑屏现象。
(1)如果是使用ffmpeg命令行,可以加上这句 -rtsp_transport tcp,
(2)如果是c/c++调用,可以设置av_dict_set(&options, "rtsp_transport", "tcp", 0);
(3)如果是java/python/nodejs方式调用ffmpeg,可以av_dict_set("rtsp_transport","tcp");
希望对您有用

补充一下
(4)如果是opencv,opencv不支持tcp方式读取rtsp,可以选择丢弃花屏的帧,或者改用ffmpeg
NANU-NANA 2018-10-17
  • 打赏
  • 举报
回复
引用 2 楼 qq_25188995 的回复:
之前我也碰到过rtsp播放出现花屏的问题,然后改了下面函数的参数就好了,udp改成tcp。不知道是不是你碰到的问题
av_dict_set(&options, "rtsp_transport", "tcp", 0);


感谢分享!
sxy1993sxy2018 2018-09-27
  • 打赏
  • 举报
回复
之前我也碰到过rtsp播放出现花屏的问题,然后改了下面函数的参数就好了,udp改成tcp。不知道是不是你碰到的问题
av_dict_set(&options, "rtsp_transport", "tcp", 0);
smwhotjay 2018-09-06
  • 打赏
  • 举报
回复
ffmpeg rtsp 没问题

19,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧