在fpga上开发音视频是一种什么体验?

news2024/10/6 5:53:28

前言:

今天周末回公司解决了解码播放问题,最近周末也没啥事情,一般周六都会过去公司学习音视频开源项目(过去公司,主要是住的近,所以很方便!),待在家里也是无聊,所以就回去看开源项目,提升自己的视野和水平!

然后这里也分享一些关于音视频开发的一些感悟和日记,以后再来看,可能会觉得当时自己怎么怎么样......

所以大家在看文章的时候,可以把他当成普通的日记就行!

最近工作感悟:

目前自己的开发平台,不再是大家吐槽的sdk开发,也就是我们常见的安防消费芯片平台,比如说:rk、hisi、富瀚、君正等常见开发平台,而且大家对这块的开发其实有误区的,有些朋友觉得这个开发没啥意思,就是调调接口啥的;事实是这样的,但是我想说的是(自己在这块真正开始做的时间是从2020年中开始做车载那块,当时在海思平台!),因为由于芯片生态的原因,也只能这样去开发,而且现在自己造轮子的成本非常大;作为老板,肯定是希望产品能够快速落地,而且现在做方案开发的,开发周期都很短,而且需求变动都非常大:比如说,做ipc的,经常要加班,主要原因是需求改动多,当然有时候可能是刚好赶上项目忙,嗯,这个也是事实!

34681c3324c3bd22bc95ea57cb71b071.png 5339a7701cf08c8209edcd189fa88902.png 3447fccea4336f0448e6872e6717bb41.png 6979998f24dde76f91f6f308c99d715b.png

我自己也是这样过来的,有时候赶得时候,就经常加班,这个也很正常!

不过在做这块得时候,自己不要只盯着或者脑袋里面想着,调用接口开发怎么怎么样,你应该换种思维去思考,如果去掌握音视频里面得知识,并能够应用到我得项目中去,然后得到锻炼,或者自己确实感兴趣,想深入研究的话,比如说编码器和解码器是怎样实现的,能不能自己通过对应的学习,去撸一下!看似这个过程非常痛苦,但是一旦你经历过这种挫折,后期绝对你成为公司大佬!哈哈哈。

这块我就简单说到这,更多的是自己要有规划和执行力!

然后回到刚才说的音视频开发平台上来,自己现在开发的平台,也是自己第一次接触,甚至说也是开了视野,现在是基于xilinx平台上进行音视频开发!

这块开发的话,确实和以前有很大的区别,如果光从硬件层度上去看的话,或者说架构上看,他并没有soc做好了封装,然后给你mpp来进行开发;当然在架构上,它有一个vcu编解码模块:

0033b22d673ab9a4fddf4f55df40ae7c.png

但是上层开发的音视频知识是和以前差不多的,只不过对自己的要求高了很多!

我举一个例子,在大家常见的思维里面,听过最多的码流传输协议有:rtsp、rtmp、onvif;srt这种协议,很多人可能听的不多,更别说用了!

这个也是我以前的认知,不过这端时间接触到了hdcp、ptp、LLDR等协议,感概自己确实接触的很浅对音视频这块;当然还包括一些超低延迟的处理等方面!

然后在写代码这块,也以前不太一样,以前自己接触的项目是半路进去的,或者处于维护那种,所以对于大项项目代码管理,自己也没有去经历过,偶尔在makefile里面修改一些东西;但是最近用cmake从零去构造代码管理编译,也确实感概它的方便!接着说写代码,现在项目里面没有那种封装好的接口,基本都可以看到源码,这样开发起来就很有劲,但是同时对自己的要求高了很多!

最后:

嗯,今天就简单聊这么多,有不对的地方,还望大家多多指教,后面会分享更多平时开发音视频遇到的问题,以及大家常说的onvif、rtsp、rtmp、srt分享!

加油!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/633358.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

硬件设计电源系列文章-LDO设计

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 本文主要分享LDO的相关设计,尤其是LDO的并联设计 整体架构流程 提示:这里可以添加技术整体架构 主要是讲述LDO的并联;并联以增加输出驱动能力,其具体框架如下&#x…

详解Ribbon

目录 1.概述 2.使用 2.1.引入 2.2.启用 2.3.切换负载均衡算法 3.负载均衡源码分析 3.1.接口 3.2.抽象类 3.3.选择服务器 3.4.原子性 4.自定义负载均衡算法 1.概述 Ribbon是Netflix开源的一个客户端负载均衡库,也是Spring Cloud Netflix项目的核心组件之…

常见网络服务器并发模型

近些年,随着互联网的大发展,高并发服务器技术也快速进步,从简单的循环服务器模型处理少量网络并发请求,演进到解决C10K,C10M问题的高并发服务器模型。本文主要以TCP为例,总结了几种常见的网络服务器模型的实…

巧用文件批量改名高手删除子文件夹一例

比如有很多商品文件夹,里面又分出主图、细节图等,现在因工作需要把主图、细节图这些子文件夹去掉,把子文件夹里面的文件放在商品名称的父文件夹中,如图: 打开主图文件夹,我们可以看到文件名结构为数字编号的…

Git学习 - 2023-06-08

2023暑期学习 Git基础Git Fetch VS Git Pullgit pull --rebase VS git pull几种merge的方法Fork VS Clone CS Branch如何把master的内容更新到分支上详尽介绍 git fetch VS git pull其他命令 Git基础 git branch branch-name # 创建一个新的分支git checkout branch-name # 切…

Golang | Web开发之Gin框架快速入门基础实践

欢迎关注「全栈工程师修炼指南」公众号 点击 👇 下方卡片 即可关注我哟! 设为「星标⭐」每天带你 基础入门 到 进阶实践 再到 放弃学习! 专注 企业运维实践、网络安全、系统运维、应用开发、物联网实战、全栈文章 等知识分享 “ 花开堪折直须折&#xf…

Learning C++ No.30 【lambda表达式实战】

引言: 北京时间:2023/6/9/9:13,今天8:15起床,可能是最近课非常少,导致写博客没什么压力,什么时间都能写,导致7点起不来,哈哈哈,习惯睡懒觉了,但是问题不大&a…

【二十七】springboot之通过threadLocal+参数解析器实现同session一样保存当前登录信息的功能

springboot篇章整体栏目: 【一】springboot整合swagger(超详细 【二】springboot整合swagger(自定义)(超详细) 【三】springboot整合token(超详细) 【四】springboot整合mybatis…

绿豆影视系统5.1.8反编译版源码:PC+WAP+APP端【附搭建教程+软件】

简介: 绿豆影视系统5.1.8反编译版源码:PCWAPAPP端【附搭建教程软件】 优化内容 1.专题类目,在后台进行设置 2.短视频类目 ,需要有信天翁id 3.优化首页栏目不显示问题 4.去除我的页面 不常用功能 5.修复自定义密码只能输入数字的…

二阳竟然是这样的~

今天周六,家人都出去玩了,把我自己扔家里了,因为我2阳了,出门都不带我玩了。 正好趁这个时间简单写下2阳的症状,和1阳有什么不一样。 先说结论: 我的亲身感受是2阳比1阳轻的多,没有浑身关节疼&a…

MySQL-索引详解(三)

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️树高千尺,落叶归根人生不易&…

第64篇:史上最严重的APT供应链攻击事件,借助Solarwinds攻击欧美的流程图梳理和分析(上篇)...

Part1 前言 大家好,我是ABC_123,公众号正式更名为”希潭实验室”,敬请关注。本期分享一个堪称史上影响最大、危害最大的供应链攻击APT案例——Solarwinds供应链攻击事件,SolarWinds的旗下有数万家客户公司,包括了”财…

h.264 h.265 协议基本概念记录

区分一些概念 MPEG-4 是一套用于音频、视频信息的压缩编码标准H.264,AVC,编码格式,是MPEG-4 的第10部分H.265,HEVC,编码格式,是MPEG-H的第2部分mp4,rmvb,mkv,avi是容器&…

【ChatGPT】数据科学 ChatGPT Cheat Sheet 书籍分享(阿里云盘下载)

封皮 以下为书中部分内容的机器翻译 我们的重要提示指南 1. 以 AI 角色的描述开始提示。 例如,“你是{x}”或“我希望你扮演{x}”。如果您不确定,请尝试“你是一个有帮助的助手”。 例如,您是 OpenAI 的数据科学家,您正在研究大型…

测量项目总结

和朋友合作开发一个测量机产品, 用于测量汽车零件形位公差, 客户的客户是电动汽车第一品牌, 我负责上位机开发, 历时2个月, 完成上百次的commit. 时间虽紧, 但代码质量上没有妥协, 软件层次划分合理, 后续考虑做成系列产品. 开发利器 感恩这个时代, 现在的软件开发开发体验真好…

git hook

hook hook 翻译为钩子,简单说就是监听某个事件(操作),然后触发自定义逻辑 在 git 中可以监听 commit,push 等操作,在操作之前或之后触发对应的 hook,在 hook 中写自定义的逻辑,比如…

nginx扩展篇之nginx.conf 详细文档

nginx.conf 配置文件 基本说明 Nginx 的配置文件位置 文件位置 ​ 安装目录\conf\nginx.conf ​ 安装目录\nginx.conf 两个文件是一样的 多说一句:使用/usr/local/nginx/sbin/nginx 启动Nginx ,默认用的是安装目录\nginx.conf 配置文件 作用&…

网络安全学术顶会——SP 2023 议题清单、摘要与总结(上)

总结 本文总结了196篇近期涉及网络安全领域的研究论文。主要可分为以下几类: 隐私保护,涉及到匿名认证、隐私保护机器学习等机器学习安全,主要研究对抗样本和隐蔽后门等问题浏览器和网络安全,涉及指纹识别、端到端加密、网站选择标志等嵌入式系统安全,主要针对 IOT 安全操作系统…

java并发编程:LinkedBlockingQueue详解

文章目录 简介源码分析属性构造函数入队方法put(E e)offer(E e)offer(E e, long timeout, TimeUnit unit) 出队方法take()poll()获取元素方法删除元素方法 问题总结 简介 在集合框架里,想必大家都用过ArrayList和LinkedList,也经常在面试中问到他们之间…

光线追踪RayTracing,基本原理,判断物体与光线相交

光线的三点假设: 光线按直线传播光线之间不会发生碰撞光线会经过一系列折射反射进入摄像机 可以从摄像机发出光线,推出可逆的光路 上图中,透明球在与相机直连的线条处,需要将折射和反射的着色点结果相加,如果有光源直…