最近用到海康的工业相机,需要读取它的视频,听说RTSP协议延迟较高,并且没有尝试成功,实现了视频的读取,做一个简单的学习记录。main.pimport sys import threading import msvcrt import numpy as np import cv2 from ctypes import * sys.path.append(r"C:\Program Files
视频解码知识纯净的视频解码流程压缩编码数据->像素数据。例如解码H.264,就是“H.264码->YUV”。一般的视频解码流程视频码一般存储在一定的封装格式(例如MP4、AVI等)中。封装 格式中通常还包含音频码等内容。对于封装格式中的视频,需要先从封装格式中提取中视频码,然 后再进行解码。 ▫ 例如解码MKV格式的视频文件,就是“MKV->H.264码->Y
在2020开年之际,飞凌嵌入式曾推出FET3399-C核心板,该款核心板基于瑞芯微公司的RK3399六核64位“服务器级”处理器设计。其配套的底板OK3399-C也同步发布。该平台具备高性能、高扩展和全能型等特点。 下面简单分享一下在设计RK3399底板硬件设计中需要注意的一些事项。 飞凌的RK3399开发板 板载了一路标准HDMI Type-A接口,支持到HDMI2.0标准,高达4kx2k @
FFmpeg是一种功能强大的常用的视频/音频处理开源框架。支持几乎所有主流格式音视频的编解码,并能进行拼接等操作。基础知识视频格式:mp4, avi, mkv等,称之为封装格式,可以看成是一种容器。视频编码格式:h264, h265等,可以认为是一种压缩手段,减小文件体积。音频编码格式:MP3, AAC等,音频压缩方式。视频像素数据:RGB、YUV(YUV420),实际上的图像编码格式,包括存
1.LDPC译码的背景及内容        LDPC译码分为硬判决译码和软判决译码。        硬判决译码又称代数译码,主要代表是比特翻转(BF)译码算法,它的实现比较简单,但是译码性能很差。硬判决译码的基本假设是当校验方程不成立时,说
 硬解码和软解码1.硬件解码就是通过显卡的视频加速功能对高清视频进行解码。大数据量的、低难度的重复工作。视频解码工作从处理器那里分离出来,交给显卡去做,这就叫做“硬解码”。2.与之对应的,以前纯粹依靠CPU来解码的方式则是“软解码”。软解码是在显卡本身不支持或者部分不支持硬件解码的前提下,将解压高清编码的任务交给CPU,这是基于硬件配置本身达不到硬解压要求的前提下,属于一个折中的无奈之举
转载 2023-08-06 21:06:54
70阅读
Opencv是一个开源的计算机视觉库,可以给开发人员提供更便捷的方式设计复杂的视觉应用,Opencv主要是用c和c++编写,可以运行在Windows/Linux/Mac等上。这几天尝试着在RK3288上安装Opencv,被虐了好多遍,幸好没有放弃,终于弄出了。之前一直是通过电脑先交叉编译Opencv再移植的方法,但是在编译过程中总是遇到各种问题,换了不同的Opencv源又会出现新的问题,所以如果有
转载 2023-09-16 00:29:04
1628阅读
公司老早买了一块firefly-rk3399的开发板,之前我好像写了一篇小文, 介绍了下该开发板下的环境搭建, 芯片中集成了arm的GPU,有4GB左右的显存空间, 有opencl支持,最近也想看看opencl运算速度, 于是就把darknet移植过来。 在开源社区找到darknet的opencl版本。使用也不难,我也没有搭建交叉编译工具,理论上是可以直接在开发板上面编译的,直接就在开发板上编译就
转载 5月前
290阅读
x264及H264实现对OpenCV Mat的编解码 个人的学习笔记,关于OpenCV,关于机器学习, …。之前写的ADAS客户端软件和ADAS程序之间的视频传输采用了c:imencode和c:imdecode函数实现编解码,最近偶然间发现可以利用H.264对视频进行编解码,并且效果还不错,特此记录。目录 文章目录x264及H264实现对OpenCV Mat的编解码目录x264对Mat进行
转载 2024-05-08 14:57:08
1556阅读
前言:这是本系列文章的第一篇,这里介绍一些必要的环境和工具,后面的文章不再介绍。工具:i7-6700四核八线程、GTX960M显卡的渣渣笔记本(16G内存 + 512G固态 +1T机械)、Ubuntu18.04(VMware虚拟机安装,8G + 200G) 、一块RK3588S开发板,USB type-c线、12v电源线、一杯咖啡。一、开发板简介      &nbsp
转载 2024-06-19 09:02:55
655阅读
 最常用的编译版本是arm-linux-gcc-2.95.3、arm-linux-gcc-3.4.1 和 arm-linux-3.3.2 的,现在的嵌入式开发基本上用的是这些,2.95.3用于编译2.4的内核,3.4.1的用于编译2.6的内核,而3.3.2的常用于编译busybox,和bootloader(u-boot),编译的版本配合不好的话就会出错,所以要选择好编译版本,如果这个版本
转载 9月前
365阅读
rk3588 运行Python RK3588 是一款高性能的 ARM 处理器,随着其广泛应用于开发板和嵌入式系统,许多开发者开始探索在其上运行 Python 的最佳实践。在本文中,我将详细记录解决“RK3588 运行 Python”问题的过程,包括版本对比、迁移指南、兼容性处理、实战案例、排错指南和性能优化。 ## 版本对比 在评估 RK3588 上运行 Python 的不同版本时,我们发现
原创 6月前
460阅读
# RK3588安装Python:一步步指南 RK3588是一款强大的多核处理器,广泛应用于智能终端和嵌入式系统。Python作为一种简单易学且功能强大的编程语言,在此平台上也得到了广泛应用。如果您想在RK3588上安装Python并进行开发,下面将为您提供详细的步骤。 ## 安装前准备 在开始之前,请确保您的RK3588已经连接到互联网,并且系统已经更新到最新版本。我们可以通过以下命令来更
原创 2024-09-29 04:16:31
925阅读
目录0. 背景1. 模型转化1.1 基础环境1.2 创建python环境1.3 将yolov5s.pt转为yolov5s.onnx1.4 将yolov5s.onnx转为yolov5s.rknn2. 开发板部署2.1. c版本2.1. python版本(必须是python 3.9)3. 性能测试 0. 背景全面国产化,用瑞芯微rk3588开发板替代jetson nano开发板。1. 模型转化模型转
mpp编译1.下载MPP源码:https://github.com/rockchip-linux/mpp 2.rk3588/rk356x的板子进入Mpp源码目录mpp/build/linux/aarch64(rk3588/rk356x是64位板子)中,修改arm.linux.cross.cmake文件中的配置cmake_minimum_required( VERSION 2.6.3 ) SET(
多线程异步原理        查看NPU占用率的命令sudo cat /sys/kernel/debug/rknpu/load        在运行官方demo时我们可以发现,推理过程中NPU使用率较低。        翻阅官方手册后得知,
Live555 RTSP服务端H264推笔记(平台RK3399Pro)引言前期准备编译MPP编译live555部分demo源码记录MPP 解码MPP 编码live555利用管道实现h264实时视频RTSP推live555源码分析 引言因项目要求,需要在RK3399pro上实现RTSP的推,Live555本身已经实现了本地视频的服务端程序样例,本文主要是基于瑞芯微的MPP编解码+live55
转载 2024-06-20 14:16:56
2086阅读
其实这个实现还是很简单的。主要是要在编译ffmpeg的时候,开启rtsp,network,这样我们就可以直接利用avformat_open_input函数接受rtsp协议了。ffmpeg代码的编写的流程和输入文件是一样的。所以说整个实现过程还是比较简单的。同样,我这里会给出我在开发这个客户端的所有的参考资料。对于别人详细介绍的知识我就不会在赘述了。   随便提一下,我一开始使用
转载 7月前
224阅读
python语言操作mysql数据库。  本科阶段曾学过使用java对MySQL数据
转载 2024-09-26 23:54:52
96阅读
开发iTOP-3568开发板,我们需要在Linux环境下进行开发,所以这就要求我们给PC机安装Linux操作系统,我们使用的是Windows10系统+虚拟机ubuntu的方案。为什么我们要选择ubuntu系统进行开发而不是其他系统呢,因为ubuntu系统桌面非常友好并且工具十分强大,比如apt-get。而且ubuntu可以免费使用并有专业的社团提供相应的支持。所以这一部分针对ubuntu开发环境搭
  • 1
  • 2
  • 3
  • 4
  • 5