2021年11月12日
摘要: 一、简介 在Linux系统中,网络编程是通过socket接口来实现的。socket是一种特殊的I/O接口,也是文件描述符。socket是进程间通信的常用机制,特别的,可以通过网络实现不同主机之间的通信。 每一个 socket 都用一个半相关描述{协议、本地地址、本地端口}来表示;一个完整的套接字则用 阅读全文
posted @ 2021-11-12 23:57 沉默的思想 阅读(189) 评论(0) 推荐(0)
  2021年11月9日
摘要: 之前几篇完成了V4L2的学习,通过V4L2我们能够采集到了YUYV的视频数据,不过可以看到直接传输YUV格式的数据,数量量是巨大的,网络延时严重。所以我们需要对YUV数据进行压缩编码。 目前主流的视频编码有h.264/h.265/vp9/AVS/AV1等等,这边我们以最常见最经典的h.264格式来压 阅读全文
posted @ 2021-11-09 00:53 沉默的思想 阅读(2655) 评论(0) 推荐(0)
  2021年11月2日
摘要: 最近有朋友求助,接到课堂作业,需要用神经网络来实现数据的识别功能。人工智能现在是很火的一个版块,刚好可以学习一下。 首先还是得先在我的老爷机Centos上面搭建一个开发环境,目前考虑使用Python+pytorch深度学习框架。不过我们的主机没有独立显卡,只能用CPU凑合用了。 一、安装Python 阅读全文
posted @ 2021-11-02 00:58 沉默的思想 阅读(1501) 评论(0) 推荐(0)
  2021年10月30日
摘要: 接上篇《音视频技术开发--V4L2学习(二)》 在上篇中,通过YUYV格式后,已经成功采集播放了UVC摄像头的数据,下面我们来学习下V4L2的采集播放代码。 四、 V4L2 实例代码剖析 我们首先看下UCV数据采集的capturer_mmap.c源码。Linux系统中,视频设备被当作一个设备文件来看 阅读全文
posted @ 2021-10-30 00:24 沉默的思想 阅读(534) 评论(0) 推荐(0)
  2021年10月28日
摘要: 接上篇《音视频技术开发--V4L2学习(一)》 三、 V4L2 Sample增加正确的色彩格式 首先接上面运行sample,运行画面花屏问题,怀疑是UVC采集的不是YUV420,我们尝试改成其他像素格式试试。 打卡代码的capturer_mmap.c文件,可以看到sample里面只有三种格式(如下图 阅读全文
posted @ 2021-10-28 01:15 沉默的思想 阅读(170) 评论(0) 推荐(0)
摘要: 一、前言 从本篇开始,打算利用空闲的碎片时间,记录下平时学习的东西,好记性不如烂笔头。俗话说纸上得来终觉浅,就从一个小项目着手学习吧。目前手头上有个UVC摄像头,就做一个视频远程播放的小玩意吧,对于中间用到的技术进行学习探究。 如上图所示,系列 文章计划从UVC视频采集开始,一路经过采集、编码、rt 阅读全文
posted @ 2021-10-28 00:09 沉默的思想 阅读(693) 评论(0) 推荐(0)
  2019年12月13日
摘要: 开博第一篇,学习下glibc的malloc实现,先记录下源码。 一、glibc的malloc移植了ptmalloc,ptmalloc封装了dlmalloc,关系如下: dlmalloc(通用但并发不安全)--> ptmalloc(多线程优化)-->glibc移植(但是代码改动大)。 所以从本篇先从p 阅读全文
posted @ 2019-12-13 00:30 沉默的思想 阅读(675) 评论(0) 推荐(0)