雷军曾经说过:站在风口上,猪都可以飞起来。,现在什么风口,那要属摆地摊,但我们的设备能是地摊货吗,非也,但我不得不响应雷军的号召,来吆喝几句:
走过路过的朋友们,瞧一瞧,看一看了啊,直播设备亏本大甩卖了啊,不买也来摸一摸,这年头不摸下地摊货,就是OUT了啊,下面我就来介绍下这个非地摊货的直播设备了。
如果大家还不熟悉我们的直播设备,可以进到以下链接:
https://blog.csdn.net/weixin_41486034/article/details/106240240
https://blog.csdn.net/weixin_41486034/article/details/106351578
https://blog.csdn.net/weixin_41486034/article/details/106563286

原来我们的设备真的是很强大,居然还能二次开发啊,这哪是什么地摊货啊,下面我就来介绍下LinkSDK仅42行代码能做啥

描述

海思的芯片功能越来越强大,性能越来越高,性能比已经把国外的同类芯片甩了好几条街。但海思的SDK相对偏向硬件的,对软件人员不算很友好,尤其是初学者,面对纷繁复杂的各种结构体,更是无从下手;网上也有人吐槽说连视频采集时信号采样率是单沿还是双沿都需要软件人员指定,这对于纯软件人员来说,那是一脸懵。想起造就普及型手机辉煌时代的联发科,他们不仅做了芯片,还把软件全都给做了,用户拿回去套个壳就能出货了。灵派科技也许受到了联发科的启发,他们开发了LinkLib,对海思的SDK进行了高度封装,并把海思SDK并不提供的视音频合成(MUX),还有网络流输出,以及各种视频叠加(OSD)等等都加入了LinkLib。灵派科技还提供了基于LinkLib开发的高清编码器,并公开了高清编码器源代码(包括前台和后台的代码),客户可以直接拿高清编码器的源代码进行修改成自己的产品,或者直接改个LOGO就直接出货也是可行的。

代码示例

下面这42行代码就轻松实现了音视频采集,并对视频进行H264编码压缩,对音频进行AAC编码压缩,然后输出RTMP网络流。如果是在海思SDK上进行开发,没有上万行代码,是搞不定的;海思的sample_venc.c代码行就有1500,这个例子只是处理视频采集压缩,但并没有处理音频,更不会帮你处理视频和音频的同步问题,网络流输出更无从谈起。因此LinkLib确实大大减少了偏底层的开发工作量,让软件人员专注于业务逻辑。

#include
#include "Link.h"
int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);Link::init();LinkObject *vi=Link::create("InputVi");QVariantMap dataVi;dataVi["interface"]="HDMI-A";vi->start(dataVi);LinkObject *ai=Link::create("InputAi");QVariantMap dataAi;dataAi["interface"]="HDMI-A";ai->start(dataAi);LinkObject *encv=Link::create("EncodeV");QVariantMap dataEncV;dataEncV["codec"]="h264";dataEncV["bitrate"]=2000;dataEncV["width"]=1280;dataEncV["height"]=720;encv->start(dataEncV);LinkObject *enca=Link::create("EncodeA");QVariantMap dataEncA;dataEncA["codec"]="aac";dataEncA["bitrate"]=128000;dataEncA["samplerate"]=48000;;enca->start(dataEncA);LinkObject *mux=Link::create("Mux");QVariantMap dataMux;dataMux["path"]="rtmp://127.0.0.1/live/test";mux->start(dataMux);vi->linkV(encv)->linkV(mux);ai->linkA(enca)->linkA(mux);return a.exec();
}

参考

开源高清编码器源代码:https://gitee.com/LinkPi/Encoder
开源高清编码器使用说明书: https://gitee.com/LinkPi/Encoder/wikis/pages
开源高清编码器基于LinkLib编写,LinkLib API说明参见:https://gitee.com/LinkPi/LinkLib/wikis/pages
开源高清编码器评估板:https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-22796185904.12.5f005504YajIDM&id=619720369822

非得逼我出来摆地摊你们才知道LinkSDK仅42行代码能做啥相关推荐

  1. 20年前的几行代码竟如此牛逼?惊了

    最近在知乎上看到了一个话题:世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?其中有一个回答是雷神之锤3中的快速逆平方根算法,我本以为是电影中雷神3中出现的代码,就特别好奇点进去看了一下,结果真 ...

  2. (转)【前端模板之路】一、重构的兄弟说:我才不想看你的代码!把HTML给我交出来!...

    原文地址:http://www.cnblogs.com/chyingp/archive/2013/06/30/front-end-tmplate-start.html 写在前面 随着前端领域的发展和社 ...

  3. Vue 团队公开快如闪电的全新脚手架工具,未来将替代 Vue-CLI,才300余行代码,学它!...

    1. 前言 大家好,我是若川.欢迎关注我的公众号若川视野源码共读活动ruochuan12 想学源码,极力推荐之前我写的<学习源码整体架构系列>jQuery.underscore.lodas ...

  4. 一天写多少行代码才算是好程序员?

    点击查看全文 当今时代很多吃瓜群众对程序员的印象都是 而程序员的真实情况却是这样:每天大部分时间都在改代码,写代码,看代码才是我们真实的工作日常,到底每天要写多少行才是好程序员呢? 为了探讨这个问题首 ...

  5. 什么叫水平,不是看懂了叫水平,也不是会用了就叫水平,更不是懂得更多才叫有水平,而是知道如何做才能做得更好才叫真正有水平?...

    其实有很多同事.朋友.同行,水平个个都很强的,写程序也很快,但是他们有一个共同的缺点,就是懂得太多.想法太多.想做得太多但是仔细认真做得太少.做得精的太少.经得起考验的更少.真正可以实际应用可以广泛推 ...

  6. 50行代码,实现AI文章生成器,牛逼!

    本文共1502字 预计阅读时间:3分钟 据说 AI 已经可以自动写文章 类似的报道屡见不鲜 但是 AI 写出来的文章到底是什么样的? 我想没几个人见识过 无意中看到了 Gayhub 上的这个项目 全称 ...

  7. 年薪60万,太牛逼了!为啥数据挖掘才是Python里的王者?

    随着数据运营更进一步深入到企业的业务发展过程中,企业的竞争力已经在相当大的程度上取决于数据价值,BI凭借其更自动.更智能的特性,也让越来越多的企业认识到构建智能数据挖掘团队的重要性,对数据挖掘人才的要 ...

  8. 测试代码怎么做抽象才是有意义的?

    前言 哈喽,大家好,我是海怪. 不知道大家在写前端单测的时候,是否有出现测试代码和测试数据重复冗余的情况?然后不得不写一些函数和类来封装他们的.然而,慢慢地会发现:过度的封装会致使你的测试用例变得越来 ...

  9. 程序员工作多年才存够100W,不想再做程序员,想回乡下老家

    近日,腾讯某部门的高级架构师在某职场交流平台求助,其表示:刚存够 100 万,但是不想再做程序员了,单身29岁,想离开北京回乡下老家过简单的日子. 话题一出,马上迎来了很多人的讨论,有很多热心网友纷纷 ...

最新文章

  1. 《Adobe Fireworks CS5中文版经典教程》——导读
  2. ndk-build: CreateProcess error=193
  3. 3.ELK 之elasticsearch CRUD
  4. 最长回文子串-三种DP实现
  5. tensorflow fetch 取回某个值
  6. hdu2203 KMP水的问题
  7. 涨知识了!阿里、百度、腾讯的名字竟然是这样来的
  8. 后台开发(3)---对软件架构的一些思维脑图整理
  9. oracle中的合并查询
  10. 干货 | 你是不是希望一月入门深度学习,三月中一篇顶会?-- 关于做科研的态度和方法的一点感想...
  11. 史上最简SLAM零基础解读(4) - 单应性Homography →公式推导与细节理解
  12. Win11如何录屏?压箱底的录屏工具分享给你
  13. python中gt是什么意思_Python中的函数参数有冒号 声明后有-gt; 箭头
  14. winpe加载raid_为WinPE添加RAID卡驱动的几种步骤
  15. wps2019数据分析加载项_《07版office办公软件中的excle中,为什么在加载项里选择了分析工具库,数据分析还是显示不出来?》 wps数据分析加载项...
  16. 拼多多商家刚开店是如何破零的?
  17. 题解 2360: [信息学奥赛一本通-T1449]魔板
  18. 京东登录页面html代码_2019双十一天猫/京东自动获取喵币/金币方法
  19. 为什么书呆子不受欢迎?
  20. java解析SZY206-2016传输规约

热门文章

  1. 二叉树的前、中、后、层次非递归遍历(js)
  2. 简易文章PHP mysql代码,一个没有MYSQL数据库支持的简易留言本的_php
  3. Eslint 规则说明
  4. 用Python代码实现走迷宫算法
  5. html全屏漂浮,jquery全屏漂浮广告插件,可点击关闭(原创)
  6. 妈妈再也不用担心我的矩阵运算了!Mosek学习笔记5,矩阵。
  7. 【原创】对于防刷票机制方案的思考
  8. Spark基础 DAG
  9. 【收藏】下载Chrome商店插件的方法,万恶的gwd
  10. 计算机性能指标 CPU组成图例