在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

【ROC-RK3568-PC開發(fā)板試用體驗】rockit視頻處理接口第二彈

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-10-18 15:34 ? 次閱讀

本文來源電子發(fā)燒友社區(qū),作者:羈傲不馴, 帖子地址:https://bbs.elecfans.com/jishu_2306118_1_1.html


兩個輸出節(jié)點規(guī)格分別如下上節(jié)介紹了RK平臺下的rockit視頻處理接口的簡單介紹,本期就針對rockit的一些簡單介紹和理念作以具體的介紹。

需要明確一點的是在ARM中的視頻處理鏈路?什么是鏈路?ARM中視頻是怎么樣的?

這些基礎我們以后再談,相信做過驅(qū)動適配的朋友都知道,各個廠家都有各個廠家的玩法,接口也不盡相同,還需要不斷兼容向上提供接口。

rockit充分分離了這一點,他將我們所有的設備全部抽離出來,將每一個單獨的功能都能使用一個類來進行使用。

本章節(jié)就介紹下rockit的 vi 與 venc模塊,視頻輸入 與編碼

本節(jié)程序如下:

demo程序

本節(jié)代碼基本上參考了官方的程序。

rockit使用的第一步首先是:RK_MPI_SYS_Init 初始化RK MPI系統(tǒng)。

之后進入vi系統(tǒng),RK平臺下vi系統(tǒng)如下:

兩個輸出節(jié)點規(guī)格分別如下:


代碼大概流程如下:

TEST_VI_CTX_S *ctx;
ctx = reinterpret_cast(malloc(sizeof(TEST_VI_CTX_S)));
memset(ctx, 0, sizeof(TEST_VI_CTX_S));
ctx->width = 1920;
ctx->height = 1080;
ctx->devId = 0;
ctx->pipeId = ctx->devId;
ctx->channelId = 1;
ctx->loopCountSet = 100;
//0. get dev config status
s32Ret = RK_MPI_VI_GetDevAttr(ctx->devId, &ctx->stDevAttr);
if (s32Ret == RK_ERR_VI_NOT_CONFIG) {
//0-1.config dev
s32Ret = RK_MPI_VI_SetDevAttr(ctx->devId, &ctx->stDevAttr);
if (s32Ret != RK_SUCCESS) {
  ctx->stChnAttr.stSize.u32Height = ctx->height;
  s32Ret = RK_MPI_VI_SetChnAttr(ctx->pipeId, ctx->channelId, &ctx->stChnAttr);
  if (s32Ret != RK_SUCCESS) {
  RK_LOGE("RK_MPI_VI_SetChnAttr %x", s32Ret);
  goto __FAILED2;
  } /
  /3.enable channel
  s32Ret = RK_MPI_VI_EnableChn(ctx->pipeId, ctx->channelId);
  if (s32Ret != RK_SUCCESS) {
    RK_LOGE("RK_MPI_VI_EnableChn %x", s32Ret);
    goto __FAILED2;
} /
/4.save debug file
if (ctx->stDebugFile.bCfg) {
  s32Ret = RK_MPI_VI_ChnSaveFile(ctx->pipeId, ctx->channelId, &ctx->stDebugFile);
  RK_LOGE("RK_MPI_VI_ChnSaveFile %x", s32Ret);
} 
while (loopCount < ctx->loopCountSet) {
//5.get the frame
  s32Ret = RK_MPI_VI_GetChnFrame(ctx->pipeId, ctx->channelId, &ctx->stViFrame,waitTime);
if (s32Ret == RK_SUCCESS) {
  void *data = RK_MPI_MB_Handle2VirAddr(ctx->stViFrame.pMbBlk);
  //6.get the channel status
  s32Ret = RK_MPI_VI_QueryChnStatus(ctx->pipeId, ctx->channelId, &ctx->stChnStatus);
  //7.release the frame
  s32Ret = RK_MPI_VI_ReleaseChnFrame(ctx->pipeId, ctx->channelId, &ctx-
>stViFrame);
if (s32Ret != RK_SUCCESS) {
RK_LOGE("RK_MPI_VI_ReleaseChnFrame fail %x", s32Ret);
} l
oopCount ++;
} else {
RK_LOGE("RK_MPI_VI_GetChnFrame timeout %x", s32Ret);
} u
sleep(10*1000);
} /
/8. disable one chn
s32Ret = RK_MPI_VI_DisableChn(ctx->pipeId, ctx->channelId);
RK_LOGE("RK_MPI_VI_DisableChn %x", s32Ret);
//9.disable dev(will diabled all chn)
__FAILED2:
s32Ret = RK_MPI_VI_DisableDev(ctx->devId);
RK_LOGE("RK_MPI_VI_DisableDev %x", s32Ret);

除了單獨使用VI設備之外,VI設備還可以與其流程中關聯(lián)的設備進行綁定,如VO、VENC,這樣就不用在代碼的流程中進行圖像采集到內(nèi)存,從內(nèi)存在拷貝到其他設備中。關聯(lián)的方式如下:

  • RK_MPI_SYS_Bind

我的test程序就將這個接口關聯(lián)到了VENC模塊中,可以直接進行視頻的編碼。實現(xiàn)如下:

// bind vi to venc
        stSrcChn.enModId    = RK_ID_VI;
        stSrcChn.s32DevId   = ctx->devId;
        stSrcChn.s32ChnId   = ctx->channelId;

        stDestChn[i].enModId   = RK_ID_VENC;
        stDestChn[i].s32DevId  = i;
        stDestChn[i].s32ChnId  = ctx->stVencCfg[i].s32ChnId;

        s32Ret = RK_MPI_SYS_Bind(&stSrcChn, &stDestChn[i]);
        if (s32Ret != RK_SUCCESS) {
            RK_LOGE("create %d ch venc failed", ctx->stVencCfg[i].s32ChnId);
            goto __FAILED2;
        }

最終實現(xiàn)了可以將攝像頭直接采集編碼到H264文件中,可以使用播放器來打開啦。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • RK3568
    +關注

    關注

    5

    文章

    582

    瀏覽量

    6148
  • 開發(fā)板試用

    關注

    3

    文章

    301

    瀏覽量

    2343
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    迅為RK3568開發(fā)板驅(qū)動指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

    迅為RK3568開發(fā)板驅(qū)動指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入
    的頭像 發(fā)表于 05-29 14:05 ?363次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>驅(qū)動指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

    一文掌握RK3568開發(fā)板Android13掛載Windows共享目錄

    在物聯(lián)網(wǎng)和邊緣計算場景中,開發(fā)板PC端的高效文件交互尤為重要。現(xiàn)以iTOP-RK3568開發(fā)板為例,詳細演示Android13系統(tǒng)如何通過CIFS協(xié)議掛載Windows共享目錄,實現(xiàn)
    的頭像 發(fā)表于 04-17 13:54 ?321次閱讀
    一文掌握<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>Android13掛載Windows共享目錄

    RK3568開發(fā)板教程:以iTOP-RK3568開發(fā)板為例 Android13通過CIFS協(xié)議掛載Windows共享目錄

    開發(fā)板PC端的高效文件交互尤為重要。現(xiàn)以iTOP-RK3568開發(fā)板為例,詳細演示Android13系統(tǒng)如何通過CIFS協(xié)議掛載Windows共享目錄,實現(xiàn)
    的頭像 發(fā)表于 04-16 14:08 ?670次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>教程:以iTOP-<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>為例 Android13通過CIFS協(xié)議掛載Windows共享目錄

    正式發(fā)布 | 啟揚RK3568開發(fā)板已成功適配OpenHarmony4.0版本

    智能IAC-RK3568-Kit開發(fā)板基于瑞芯微RK3568處理器設計,主頻最高可達2.0GHz,集成支持多格式視頻編解碼的VPU,GPU、
    的頭像 發(fā)表于 03-27 17:24 ?647次閱讀
    正式發(fā)布 | 啟揚<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>已成功適配OpenHarmony4.0版本

    爆款推薦 |?迅為RK3568開發(fā)板4核處理器+1T算力NPU+好用到爆的配套資料和視頻

    爆款推薦 | 迅為RK3568開發(fā)板4核處理器+1T算力NPU+好用到爆的配套資料和視頻
    的頭像 發(fā)表于 03-19 13:41 ?593次閱讀
    爆款推薦 |?迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>4核<b class='flag-5'>處理</b>器+1T算力NPU+好用到爆的配套資料和<b class='flag-5'>視頻</b>!

    北京迅為RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動開發(fā)內(nèi)核HDF驅(qū)動框架架構

    北京迅為RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動開發(fā)內(nèi)核HDF驅(qū)動框架架構
    的頭像 發(fā)表于 03-11 14:13 ?1024次閱讀
    北京迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>OpenHarmony系統(tǒng)南向驅(qū)動<b class='flag-5'>開發(fā)</b>內(nèi)核HDF驅(qū)動框架架構

    【技術分享】迅為RK3568開發(fā)板使用TFTP加載內(nèi)核設備樹

    【技術分享】迅為RK3568開發(fā)板使用TFTP加載內(nèi)核設備樹
    的頭像 發(fā)表于 02-21 14:04 ?603次閱讀
    【技術分享】迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>使用TFTP加載內(nèi)核設備樹

    迅為RK3568開發(fā)板驅(qū)動指南Linux中通用SPI設備驅(qū)動

    迅為RK3568開發(fā)板驅(qū)動指南Linux中通用SPI設備驅(qū)動
    的頭像 發(fā)表于 01-23 11:02 ?2572次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>驅(qū)動指南Linux中通用SPI設備驅(qū)動

    [迅為RK3568開發(fā)板]非科班也能玩轉(zhuǎn)Android應用,體驗QT跨平臺能力

    [迅為RK3568開發(fā)板]非科班也能玩轉(zhuǎn)Android應用,體驗QT跨平臺能力
    的頭像 發(fā)表于 12-18 16:41 ?843次閱讀
    [迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>]非科班也能玩轉(zhuǎn)Android應用,體驗QT跨平臺能力

    【迅為電子】叮!您的RK3568開發(fā)板系統(tǒng)鏡像備份方法請查收

    【迅為電子】叮!您的RK3568開發(fā)板系統(tǒng)鏡像備份方法請查收
    的頭像 發(fā)表于 11-27 14:02 ?953次閱讀
    【迅為電子】叮!您的<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>系統(tǒng)鏡像備份方法請查收

    基于迅為RK3568開發(fā)板全國產(chǎn)平臺,快速實現(xiàn)APP開機自啟動技術分享

    基于迅為RK3568開發(fā)板全國產(chǎn)平臺,快速實現(xiàn)APP開機自啟動技術分享
    的頭像 發(fā)表于 11-21 13:58 ?851次閱讀
    基于迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>全國產(chǎn)平臺,快速實現(xiàn)APP開機自啟動技術分享

    【迅為】瑞芯微RK3588開發(fā)板RK3568開發(fā)板區(qū)別及優(yōu)勢

    RK3568開發(fā)板
    的頭像 發(fā)表于 11-18 14:19 ?1338次閱讀
    【迅為】瑞芯微<b class='flag-5'>RK</b>3588<b class='flag-5'>開發(fā)板</b><b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>區(qū)別及優(yōu)勢

    能力再次提升! 迅為RK3588/RK3568開發(fā)板&amp;amp;核心新增定制分區(qū)鏡像

    能力再次提升! 迅為RK3588/RK3568開發(fā)板&核心新增定制分區(qū)鏡像
    的頭像 發(fā)表于 11-06 15:11 ?1254次閱讀
    能力再次提升! 迅為<b class='flag-5'>RK</b>3588/<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>&amp;amp;核心<b class='flag-5'>板</b>新增定制分區(qū)鏡像

    瑞芯微RK3568開發(fā)板Linux編譯報錯404怎么辦?觸覺智能教你輕松解決

    本文介紹瑞芯微RK3568主板/開發(fā)板SDK編譯流程和編譯報錯404的解決方法,使用觸覺智能EVB3568鴻蒙開發(fā)板演示,具有豐富的視頻輸入
    的頭像 發(fā)表于 11-05 11:02 ?731次閱讀
    瑞芯微<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>Linux編譯報錯404怎么辦?觸覺智能教你輕松解決

    迅為iTOP-RK3568/RK3588開發(fā)板獲麒麟軟件適配認證

    迅為iTOP-RK3568/RK3588開發(fā)板獲麒麟軟件適配認證
    的頭像 發(fā)表于 10-18 14:56 ?1100次閱讀
    迅為iTOP-<b class='flag-5'>RK3568</b>/<b class='flag-5'>RK</b>3588<b class='flag-5'>開發(fā)板</b>獲麒麟軟件適配認證
    主站蜘蛛池模板: 亚洲a网站 | 羞涩妩媚玉腿呻吟嗯啊销魂迎合 | 天天草视频 | 久久9精品 | www一区| 7m视频精品凹凸在线播放 | 女人被男人免费播放网站 | 你懂的在线观看网站 | 五月婷婷激情六月 | 日本黄色免费网站 | aa在线视频 | 大香伊在人线免费 | 狠狠综合 | 国产免费的野战视频 | 欧美午夜精品一区二区三区 | xxx性xxx乱 | 国产女同在线观看 | yy6080亚洲半夜理论一级毛片 | 免费色视频 | 人人干人人玩 | 亚洲成a人片在线观看88 | 狠狠丁香激情久久综合 | 免费播放一区二区三区 | 天天在线干 | 免费一级大片 | 国产一级aaa全黄毛片 | 1024国产你懂的日韩 | 亚洲色图欧美在线 | 狠狠色噜噜狠狠狠狠狠色综合久久 | 国产精品久久久久久久人热 | 高清视频在线播放 | 偷拍福利视频 | 亚洲午夜综合网 | 羞羞漫画喷水漫画yy漫画 | 免费一级片在线观看 | 色尼玛亚洲综合 | 美女久久久久久 | 狠狠干人人干 | 天天做天天爱天天大综合 | 精品无码中出一区二区 | 中文三级视频 |