Firefly开源社区

123
发表新贴

关于播放rtsp流的问题

109

积分

0

威望

0

贡献

技术小白

积分
109
发表于 2022-4-12 10:55:33     
你好,我在3588板子上使用opencv的videocapture打开海康rtsp流,画面为绿屏。
使用gstreamer命令和ffplay命令播放均未成功。打印信息如图、

请问这是什么问题。如何解决
ffplay.jpg
gstreamer.jpg
opencv解rtsp.jpg
回复

使用道具 举报

1万

积分

14

威望

13

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
11135

优秀版主

发表于 2022-4-12 14:19:37     
gstreamer 请指定其他sink 运行,再autovideosink 验证一下
回复

使用道具 举报

1万

积分

14

威望

13

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
11135

优秀版主

发表于 2022-4-12 14:29:17     
如您提供的 log 图,gstreamer 使用了 kmssink,kmssink 默认不指定图层的话默认使用第一个图层,而 rk3588 有4个 esmart 和 4个 cluster 图层,cluster 只支持 afbc 格式,不支持 rgb/yuv,同时 kmssink 不能再 ui 层播放。如果要使用 kmssink 需要指定图层。例如:

gst-launch-1.0 playbin video-sink='kmssink plane-id=105' uri=file:///usr/local/test.mp4



image.png
回复

使用道具 举报

109

积分

0

威望

0

贡献

技术小白

积分
109
发表于 2022-4-12 14:46:07     
板蓝根 发表于 2022-4-12 14:29
如您提供的 log 图,gstreamer 使用了 kmssink,kmssink 默认不指定图层的话默认使用第一个图层,而 rk3588 ...

加上video-sink参数后确实可以显示画面了。  那请问如何使用opencv直接拉流呢?
回复

使用道具 举报

1万

积分

14

威望

13

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
11135

优秀版主

发表于 2022-4-12 14:50:25     
为什么 opencv 会支持 mpp 解码,按道理官方只适配了第三方的 gstreamer、ffmpeg
回复

使用道具 举报

109

积分

0

威望

0

贡献

技术小白

积分
109
发表于 2022-4-12 14:56:30     
板蓝根 发表于 2022-4-12 14:50
为什么 opencv 会支持 mpp 解码,按道理官方只适配了第三方的 gstreamer、ffmpeg

我是重新编译的opencv,那软解在板子上也是无法使用的吗
回复

使用道具 举报

1万

积分

14

威望

13

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
11135

优秀版主

发表于 2022-4-12 14:58:52     
纯 cpu 软解跟硬件没关系,应该是可以用的,你把你的测试流程发我一下,我验证一下。
回复

使用道具 举报

109

积分

0

威望

0

贡献

技术小白

积分
109
发表于 2022-4-12 15:05:46     
板蓝根 发表于 2022-4-12 14:58
纯 cpu 软解跟硬件没关系,应该是可以用的,你把你的测试流程发我一下,我验证一下。
  1. #include<opencv2/opencv.hpp>
  2. #include<iostream>

  3. using namespace std;
  4. using namespace cv;

  5. int main(int argc,char **argv)
  6. {
  7.     VideoCapture capture("rtsp://admin:ai123456@192.168.165.109:554/h264/ch1/sub/av_stream");
  8. //    VideoCapture capture("/home/firefly/222.h264");
  9.     namedWindow("myCamera",CV_WINDOW_AUTOSIZE);
  10.     while(true)
  11.     {
  12.         Mat frame;
  13.         capture>>frame;
  14.         imshow("myCamera",frame);
  15.         waitKey(30);
  16.     }
  17.     return 0;
  18. }
复制代码

opencv官方下载3.4.5的源码,cmake -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local .. ,make,make install进行编译。opencv打开海康相机的测试代码已经贴上。  rtsp地址用vlc测试可以播放
回复

使用道具 举报

1万

积分

14

威望

13

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
11135

优秀版主

发表于 2022-4-12 15:39:09     
1.  sudo apt update
2.  sudo apt install libopencv-dev
3.  sudo apt install g++
4. g++ -o test test.c -lopencv_stitching -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dnn_superres -lopencv_dpm -lopencv_highgui -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hdf -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_quality -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_shape -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_superres -lopencv_optflow -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot -lopencv_ml -lopencv_videostab -lopencv_videoio -lopencv_viz -lopencv_ximgproc -lopencv_video -lopencv_xobjdetect -lopencv_objdetect -lopencv_calib3d -lopencv_imgcodecs -lopencv_features2d -lopencv_flann -lopencv_xphoto -lopencv_photo -lopencv_imgproc -lopencv_core -I/usr/include/opencv4/opencv -I/usr/include/opencv4

5. ./test

image.jpg

我这边测试没有问题,另外我发现这真的好像在调用 mpp。
回复

使用道具 举报

109

积分

0

威望

0

贡献

技术小白

积分
109
发表于 2022-4-12 16:00:50     
板蓝根 发表于 2022-4-12 15:39
1.  sudo apt update
2.  sudo apt install libopencv-dev
3.  sudo apt install g++

你说直接命令安装的opencv吗。我试试
回复

使用道具 举报

返回列表
123
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表