国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

rk3588/rk356x/rv1109/rv1126 live555移植+mpp編譯 rtsp拉流

這篇具有很好參考價值的文章主要介紹了rk3588/rk356x/rv1109/rv1126 live555移植+mpp編譯 rtsp拉流。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本文主要是為了記錄一下rk板子的踩坑日記。
項目主要是rk3588 rtsp拉流。

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(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_C_COMPILER "aarch64-linux-gnu-gcc")
SET(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++")
#SET(CMAKE_SYSTEM_PROCESSOR "armv7-a")
SET(CMAKE_SYSTEM_PROCESSOR "armv8-a")

add_definitions(-fPIC)
add_definitions(-DARMLINUX)
add_definitions(-Dlinux)

修改make-Makefiles.bash的配置,主要改MPP_TOOLCHAIN編譯鏈(rk3588/rk356x的交叉編譯鏈)

#!/bin/bash
# Run this from within a bash shell
set +e
MPP_PWD=`pwd`
MPP_TOP=${MPP_PWD}/../../..
# toolchain detection
check_cmd(){
    "$@" >> /dev/null 2>&1
}
check_system_arm_linux_gcc(){
    check_cmd aarch64-linux-gnu-gcc -v
}
check_system_arm_linux_gcc
if [ $? -eq 127 ];then
    #MPP_TOOLCHAIN=/usr/bin
    MPP_TOOLCHAIN=~/3gi/software/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin
    export PATH=$PATH:${MPP_TOOLCHAIN}
fi
# generate Makefile
cmake -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_TOOLCHAIN_FILE=./arm.linux.cross.cmake \
      -DHAVE_DRM=ON \
      -G "Unix Makefiles" \
      ${MPP_TOP}

rv1109/1126是32位系統(tǒng),則進入mpp/build/linux/arm,修改配置的如下:

cmake_minimum_required( VERSION 2.6.3 )
SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc")
SET(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++")
SET(CMAKE_SYSTEM_PROCESSOR "armv7-a_hardfp")
add_definitions(-fPIC)
add_definitions(-DARMLINUX)
add_definitions(-D__gnu_linux__)
#!/bin/bash
# Run this from within a bash shell
set +e
MPP_PWD=`pwd`
MPP_TOP=${MPP_PWD}/../../..
# toolchain detection
check_cmd(){
    "$@" >> /dev/null 2>&1
}
check_system_arm_linux_gcc(){
    check_cmd arm-linux-gcc -v
}
check_system_arm_linux_gcc
if [ $? -eq 127 ];then
    #MPP_TOOLCHAIN=${MPP_TOP}/../prebuilts/toolschain/usr/bin
    MPP_TOOLCHAIN=~/3gi/software/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin
    export PATH=$PATH:${MPP_TOOLCHAIN}
fi
# generate Makefile
cmake -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_TOOLCHAIN_FILE=./arm.linux.cross.cmake \
      -DHAVE_DRM=ON \
      -G "Unix Makefiles" \
      ${MPP_TOP}
  1. 執(zhí)行 ./make-Makefiles.bash 后腳本會把需要文件都拷貝到該目錄下,再執(zhí)行 make命令就可以生成so文件和可執(zhí)行文件,如果想要生成庫的形式讓別的程序調(diào)用可以按照如下的命令:
./make-Makefiles.bash
make 
export DESTDIR=./install
make install

執(zhí)行上述命令后就可以在該目錄的install文件夾下生成如下文件:
rk3588/rk356x/rv1109/rv1126 live555移植+mpp編譯 rtsp拉流
然后就可以讓別的程序調(diào)用它了。
4.如果想在板子上執(zhí)行生成的應用程序,要把這些執(zhí)行文件和so文件都adb push 到板端上,然后執(zhí)行應用程序,比如
./mpi_dec_test -t 7 -i BarbieGirl.h264 -n 10
就會看到如下打?。ㄎ沂窃趓k3588上執(zhí)行的)
rk3588/rk356x/rv1109/rv1126 live555移植+mpp編譯 rtsp拉流
如果沒有打印信息,可能新版mpp程序把打印接口改為系統(tǒng)log,可以在板端另外開一個命令行使用命令tail -10f /var/log/messages,也可以看到打印信息

編譯live555

  1. 下載live555源碼: http://www.live555.com/liveMedia/public/
  2. 進入源碼目錄,新增config.rk3588(根據(jù)個人編譯器指定內(nèi)容),內(nèi)容如下:
CROSS_COMPILE?=         /home/software/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
COMPILE_OPTS =          $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DNO_OPENSSL=1 -DLOCALE_NOT_USED -DDEBUG
C =                     c
C_COMPILER =            $(CROSS_COMPILE)gcc
C_FLAGS =               $(COMPILE_OPTS)
CPP =                   cpp
CPLUSPLUS_COMPILER =    $(CROSS_COMPILE)g++
CPLUSPLUS_FLAGS =       $(COMPILE_OPTS) -Wall -DBSD=1
OBJ =                   o
LINK =                  $(CROSS_COMPILE)g++ -o
LINK_OPTS =
CONSOLE_LINK_OPTS =     $(LINK_OPTS)
LIBRARY_LINK =          $(CROSS_COMPILE)ar cr 
LIBRARY_LINK_OPTS =     $(LINK_OPTS)
LIB_SUFFIX =                    a
LIBS_FOR_GUI_APPLICATION =
EXE =
PREFIX =                /home/test/rtsp/live/live555_install

CROSS_COMPILE為自己的編譯鏈,PREFIX為自己想要生成的安裝路徑,安裝路徑可以隨意改。
3.運行genMakefiles生成makefile,根據(jù)后綴名匹配對應的config文件,命令如下:

./genMakefiles rk3588

4.執(zhí)行make命令,再執(zhí)行make install,就可以生成靜態(tài)庫和頭文件讓別的工程引用它了

tree
.
├── bin
├── include
│   ├── BasicUsageEnvironment 
│   ├── groupsock
│   ├── liveMedia
│   └── UsageEnvironment
└── lib
    ├── libBasicUsageEnvironment.a
    ├── libgroupsock.a
    ├── libliveMedia.a
    └── libUsageEnvironment.a

引用時要注意這4個庫的引用順序,順序不對會報錯


target_link_libraries(${PROJECT_NAME}  
        ${LIVE_PATH}/libliveMedia.so
        ${LIVE_PATH}/libBasicUsageEnvironment.so
        ${LIVE_PATH}/libgroupsock.so
        ${LIVE_PATH}/libUsageEnvironment.so
        rockchip_mpp
        utils
        ${RK_DRM_LIB}
        pthread
        rga
        )

如果想實現(xiàn)rk3588的拉流,可以參考以下鏈接:
Liunx_mpp :
https://github.com/WainDing/mpp_linux_cpp
https://github.com/MUZLATAN/ffmpeg_rtsp_mpp
mpp的運行可以參考官方文檔的mpi_dec_test.c、mpi_dec_mt_test.c、mpi_dec_multi_test.c幾個例子

live555:
參考live555的碼源給的/testProgs/testRTSPClient.cpp拉流代碼
https://github.com/wexiangis/rtsp_to_h264 這個是live555接收h264的demo
補:
RK官方已放出各平臺的rtsp代碼,去model zoo就可以找到文章來源地址http://www.zghlxwxcb.cn/news/detail-418252.html

到了這里,關(guān)于rk3588/rk356x/rv1109/rv1126 live555移植+mpp編譯 rtsp拉流的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 【RV1126】移植LVGL

    【RV1126】移植LVGL

    RV1126文件系統(tǒng)下面沒有 /dev/fb0 設備節(jié)點: 進入kernel 進入配置: 修改位置一,如下: 修改位置二,如下: 之后重新編譯生成固件燒寫到開發(fā)板。 地址:https://github.com/lvgl/lv_port_linux_frame_buffer git克隆地址:https://github.com/lvgl/lv_port_linux_frame_buffer.git 官方文檔:https://blog.lvgl.i

    2024年02月07日
    瀏覽(24)
  • RK3588移植-opencv交叉編譯aarch64

    RK3588移植-opencv交叉編譯aarch64

    注意:本文中的所有配置相關(guān)路徑都與當前安裝的路徑有關(guān),需要根據(jù)自己的環(huán)境進行自行修改?。?! OPENCV如果需要ffmpeg視頻模塊的話,不建議用cmake-gui,有很多bug。建議在ffmpeg相關(guān)依賴配置好后使用“問題:”中的cmake命令。 在做yolov5移植rk3588時,由于RKNPU2的example中open

    2024年02月06日
    瀏覽(26)
  • 【RV1126】移植kaldi實時語音識別

    【RV1126】移植kaldi實時語音識別

    參考:Greedy search與beam search 在下面會用到解碼的方法選擇 greedy_search :貪心搜索,貪心搜索是一種來自計算機科學的算法,生成第一個詞的分布以后,它將會根據(jù)你的條件語言模型挑選出最有可能的第一個詞進入你的機器翻譯模型中,在挑選出第一個詞之后它將會繼續(xù)挑選出

    2024年02月04日
    瀏覽(24)
  • rv1126移植并部署自寫手寫數(shù)字識別模型

    rv1126移植并部署自寫手寫數(shù)字識別模型

    --rknn_toolkit以及rknpu環(huán)境搭建-rv1126-CSDN博客 MNIST-https://github.com/warren-wzw/MNIST-pytorch.git 1:進入docker docker run -t -i --privileged -v /dev/bus/usb:/de/bus/usb ? -v /home/wzw/rk_npu_sdk/rknn-toolkit-master-v1.7.3:/rknn_toolkit rknn-toolkit:1.7.3 /bin/bash 2:進入/rknn_toolkit/examples/onnx,復制一個resnet50v2并命名為MNI

    2024年02月14日
    瀏覽(24)
  • 基于RK3588的嵌入式linux系統(tǒng)開發(fā)(二)——uboot源碼移植及編譯

    基于RK3588的嵌入式linux系統(tǒng)開發(fā)(二)——uboot源碼移植及編譯

    ??????? 由于官方的SDK占用空間較大(大約20GB左右),需要聯(lián)系相關(guān)供應商提供,且官方的SDK通過各種腳本文件進行集成編譯,難以理解系統(tǒng)開發(fā)的詳細過程。本章介紹直接從官方Github網(wǎng)站下載源碼進行移植,進行uboot移植及編譯,具體內(nèi)容如下所述: 1.進入官方的github網(wǎng)

    2024年01月16日
    瀏覽(28)
  • CMake rv1109交叉編譯環(huán)境搭建

    準備安裝包VMware-workstation-full-15.5.1-15018445.exe 下載地址 安裝 參考資料 準備安裝包ubuntu-18.04.4-desktop-amd64.iso 下載地址 安裝 參考資料 準備安裝包rv1109_toolchain_release.tar.bz2 下載地址 解壓安裝包rv1109_toolchain_release.tar.bz2 運行安裝包腳本安裝 配置環(huán)境變量~/.bashrc 安裝結(jié)果檢查 如下

    2024年02月10日
    瀏覽(47)
  • RK3588 MPP解碼句柄泄露問題記錄

    RK3588 MPP解碼句柄泄露問題記錄

    最近在用瑞芯微3588開發(fā)板做一個視頻處理的項目,前兩天拷機發(fā)生了閃退,彈出的問題是“打開文件過多”,經(jīng)過初步排查定位到是MPP硬解碼部分出的問題。 我的MPP解碼部分主要用來讀取網(wǎng)絡相機rtsp流,主要參考了一個github項目GitHub - MUZLATAN/ffmpeg_rtsp_mpp: ffmpeg 拉取rtsp h264流

    2024年02月09日
    瀏覽(24)
  • ubuntu22.04下rv1109 rootfs編譯問題處理

    出于對Ubuntu新版本系統(tǒng)的體驗,將系統(tǒng)更新到了ubuntu22.04了。然后在編譯rv1109 sdk時出現(xiàn)了一些異常的錯誤。但是已經(jīng)不回去了,只能硬著頭皮一路走下去了。并將錯誤記錄以下,以便下次有類似錯誤,做個參考。 buildroot 報錯:c-stack.c:55:26:error:missing binary operator before token “

    2024年02月11日
    瀏覽(20)
  • rk3588 mpp 視頻硬編解碼測試

    rk3588 mpp demo 使用記錄。 MPP 源代碼發(fā)布官方地址:https://github.com/rockchip-linux/mpp 發(fā)布分支為 release 分支,開發(fā)分支為 develop 分支,默認為開發(fā)分支。 下載命令:git clone https://github.com/rockchip-linux/mpp.git MPP 源代碼編譯腳本為 cmake,需要依賴 2.8.12 以上的版本,建議使用 2.8.12 版,

    2024年02月07日
    瀏覽(16)
  • MySQL交叉編譯ARM32位版本在RV1126上運行

    MySQL交叉編譯ARM32位版本在RV1126上運行

    想要編譯個ARM32位的MYSQL,找遍全網(wǎng)沒找到滿意答案,搞定后寫個文章方便后面參考 系統(tǒng)環(huán)境與關(guān)鍵位置信息 下載地址: https://boostorg.jfrog.io/artifactory/main/release/1.77.0/source/boost_1_77_0.tar.bz2 提示:版本和目標系統(tǒng)版本一致,這里使用1.1.1f 下載地址: https://www.openssl.org/source/old/1.1

    2024年04月24日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包