当前位置: 首页 > news >正文

娱乐类网站开发大二网页设计作业成品

娱乐类网站开发,大二网页设计作业成品,湘潭做网站 活动磐石网络,西安注册公司在哪个网站系统一次满足多项需求. 首先, 思路是, 使用ffmpeg解码本地mp4文件, 在无需任何其他改动的情况下, 就可以直接播放rtsp流, 这个是使用ffmpeg的好处. ffmpeg本身是c语言的, 所以需要编译成jni的库, https://note.youdao.com/s/6XeYftc 具体过程在这里, 用windows/macOS, Ubuntu应该都…

一次满足多项需求.
首先, 思路是, 使用ffmpeg解码本地mp4文件, 在无需任何其他改动的情况下, 就可以直接播放rtsp流, 这个是使用ffmpeg的好处.
ffmpeg本身是c语言的, 所以需要编译成jni的库,
https://note.youdao.com/s/6XeYftc
具体过程在这里, 用windows/macOS, Ubuntu应该都是可以的, 因为NDK对应了所有的平台, 另外值得注意的是内置的交叉编译工具的平台, 最新的版本的NDK是没有交叉编译工具链的, 这里应该叫交叉链编译工具, 所以要下载21版本的NDK
编译好的ffmpeg lib, 有两部分, 头文件跟库文件, 库文件又分32位平台跟64位平台.
在这里插入图片描述
像这样整理好目录即可.
整个ffmpeg的文件夹, 放在带jni c++功能的安卓项目的cpp文件夹中, 这里记住, cpp文件夹就放c/cpp语言的jni代码, java目录就放java/kt代码.
接下来是rknn_api
历史经验告诉我, 如果rknn的应用库如果跟驱动版本差异大, 会有一些不知名的问题, 所以理论上需要让他们保持一致
在这里插入图片描述
上图中驱动版本偏低, 而且目前github上最新的版本是1.7.5
这个跟rknn的库必须配套, 好在rk在这方面做得还挺好, github更新挺及时的.
去rk3399pro对应的npu的github上, clone这个仓库下来.
https://github.com/airockchip/RK3399Pro_npu
它的README说得听清楚了, 如果需要升级, 就应该分清楚, 你的npu的平台是基于usb的架构,还是pcie, 我一开始还以为没可能不同代理商使用不同方案吧, 结果发现还真是.

那么如何查看当前板子是usb的, 还是pcie的呢?
在这里插入图片描述
就是无论是ubuntu系统, 还是安卓系统, 通过shell进去, 安卓就是adb 的shell, 然后运行npu_transfer_proxy devices
如果你是usb的npu, 可能会提示你没有npu, 这个时候别慌, 先点一根烟…
然后which命令, 找找npu_transfer_proxy这个命令是否存在,存在的话, 就用npu_transfer_proxy & 让它后台跑起来, 然后再使用npu_tranfser_proxy devices查看自己npu 的类型.
分清楚硬件上, npu是什么类型之后, 如果是usb, 对应的驱动仓库的文件夹就是npu_firmware/npu_fw, 如果是pcie, 就是npu_pcie_fw, 然后看板子上跑的是啥操作系统是ubuntu, 就在ubuntu上搜一下有没有boot.img这个文件, 一般在/usr/share/npu_fw或者/usr/share/npu_pcie_fw下面, 找到之后, 把仓库里面的5个文件都复制过去, 建议先把原来的备份一下, 这样万一出问题也可以后悔.

在这里插入图片描述

接下来, 尝试找到一个可执行程序, 叫做npu_upgrade, 理论上应该也在/usr/share/npu_fw目录下面, 然后手动更新一下npu:
sudo ./npu_upgrade MiniLoaderAll.bin uboot.img trust.img boot.img

过几秒钟, 就会提示你升级完成了. 这个时候驱动的部分就ok了, 安卓的做法也是一样, 只不过安卓的npu的路径在/vendor/etc/npu_fw 下面.

接下来回到安卓的项目目录, rknn_api稍微复杂一点, 因为分为安卓/Linux, 也有arm64-v8a跟armeabi-v7a的差别, 不过不用慌, 记住一点, 安卓/Linux好选, 3399pro是基于64位的架构, 所以都以arm64-v8a作为目标.
在安卓项目的cpp文件夹, 建一个目录叫libs, 然后分别把rknn_api的库复制进去, 我这里仅仅复制了arm64的库

rknn_api的头文件rknn_api.h就直接放在include目录即可.

在这里插入图片描述

 cmake_minimum_required(VERSION 3.22.1)
# cmake_minimum_required(VERSION 3.18.1)
# cmake_minimum_required(VERSION 3.6.4111459)project("myapplicationffmpegplayerkt")set(FFMPEG ${CMAKE_SOURCE_DIR}/ffmpeg)  # ffmpeg的路径
# set(RTMP ${CMAKE_SOURCE_DIR}/rtmp) # rtmp的路径
set(RKNN ${CMAKE_SOURCE_DIR}/rknn)include_directories(${RKNN}/include)  # 导入rknn的头文件
include_directories(${FFMPEG}/include)  # 导入ffmpeg的头文件# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${FFMPEG}/libs/${CMAKE_ANDROID_ARCH_ABI}")  # 导入ffmpeg的库文件
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${RTMP}/libs/${CMAKE_ANDROID_ARCH_ABI}") # rtmp库指定file(GLOB src_file *.cpp)   # 查找所有的cpp源文件, 相当于把所有的cpp都纳入编译add_library(native-lib   # 生成的so库的名字SHARED       # 动态库${src_file}) # 所有的cpp文件target_link_libraries(native-lib  # 生成的so库的名字${RKNN}/libs/${ANDROID_ABI}/librknn_api.so${FFMPEG}/libs/${ANDROID_ABI}/libavcodec.so${FFMPEG}/libs/${ANDROID_ABI}/libavdevice.so${FFMPEG}/libs/${ANDROID_ABI}/libavfilter.so${FFMPEG}/libs/${ANDROID_ABI}/libavutil.so${FFMPEG}/libs/${ANDROID_ABI}/libavformat.so${FFMPEG}/libs/${ANDROID_ABI}/libswresample.so${FFMPEG}/libs/${ANDROID_ABI}/libswscale.so# 引入的库不分先后# -Wl,--start-group# avcodec avfilter avformat avutil swresample swscale# -Wl,--end-grouplog # 引入log库z # 引入z库# rtmp # rtmp 后面会专门介绍 rtmp交叉编译+FFmpeg结合编译EGLGLESv2android # 引入android库OpenSLES # 引入OpenSLES库
)

CMakLists.txt长这样.
引入链接库的方法就是直接指向库文件就行.
安卓工程中, 唯一值得一提的就是修改app下面的build.gradle了.

在这里插入图片描述

这里要使用arm64-v8a提示ndk的交叉编译器编译出来的jni库, 只需要arm64的, 因为3399是arm64平台, 理论上我 猜测, 因为安卓我确实不熟, 我猜测, 也可以用add语法, 加入其他平台的, 编译的时候会一起打包到apk文件中, 到时候应用层也好, 系统层也好, 能跟据自己的系统类型, 来选择对应的库.
接着通过jni运行rknn的例程, 就会发现, 驱动层跟应用层都已经升级到了1.7.5:
在这里插入图片描述
下面的示例代码是用一张原始640x640图片做的输入, ffmpeg融入的部分参考我github里面的ktplayer, 因为涉及商用利益冲突, 就不放完整的代码了.

https://github.com/MontaukLaw/rknn_android_3399_pro

承接各类部署工程, 目前熟悉的平台有, RK1106, 1126, 3588, 3399pro, 3568, 海思3516DV300(仅限推拉流), 有兴趣各位客官老爷们站内信.


文章转载自:
http://wanjiabiothythm.rmyn.cn
http://wanjiahospitalman.rmyn.cn
http://wanjiaaposelenium.rmyn.cn
http://wanjiacoconscious.rmyn.cn
http://wanjiabeatlemania.rmyn.cn
http://wanjiacortices.rmyn.cn
http://wanjiaambassadress.rmyn.cn
http://wanjiavettura.rmyn.cn
http://wanjiagraip.rmyn.cn
http://wanjianepotism.rmyn.cn
http://wanjiafathomless.rmyn.cn
http://wanjiacornichon.rmyn.cn
http://wanjiaepizootic.rmyn.cn
http://wanjiadecad.rmyn.cn
http://wanjiatariff.rmyn.cn
http://wanjiatrikini.rmyn.cn
http://wanjiacorbel.rmyn.cn
http://wanjiadebrecen.rmyn.cn
http://wanjiaamygdaloid.rmyn.cn
http://wanjiaoscula.rmyn.cn
http://wanjiaepiscopal.rmyn.cn
http://wanjiayashmak.rmyn.cn
http://wanjiasuperradiant.rmyn.cn
http://wanjiahurtling.rmyn.cn
http://wanjiapozzuolana.rmyn.cn
http://wanjianeurite.rmyn.cn
http://wanjiatartarated.rmyn.cn
http://wanjiarhymer.rmyn.cn
http://wanjianurse.rmyn.cn
http://wanjiaalphametic.rmyn.cn
http://wanjiaunadaptable.rmyn.cn
http://wanjiabloodstone.rmyn.cn
http://wanjiadiminish.rmyn.cn
http://wanjiaall.rmyn.cn
http://wanjiatransoid.rmyn.cn
http://wanjiapostmistress.rmyn.cn
http://wanjiabioplasm.rmyn.cn
http://wanjiaaridisol.rmyn.cn
http://wanjiaentoptoscope.rmyn.cn
http://wanjiapendragon.rmyn.cn
http://wanjiahoe.rmyn.cn
http://wanjiafederalese.rmyn.cn
http://wanjiasophomoric.rmyn.cn
http://wanjiavariable.rmyn.cn
http://wanjiagermiparity.rmyn.cn
http://wanjiadipole.rmyn.cn
http://wanjialangley.rmyn.cn
http://wanjiaheresiarch.rmyn.cn
http://wanjiacreep.rmyn.cn
http://wanjiaantideuterium.rmyn.cn
http://wanjiabroadwife.rmyn.cn
http://wanjialopsidedness.rmyn.cn
http://wanjiarubberwear.rmyn.cn
http://wanjiadaughterly.rmyn.cn
http://wanjiacolumbarium.rmyn.cn
http://wanjialowery.rmyn.cn
http://wanjiadisserve.rmyn.cn
http://wanjiasickish.rmyn.cn
http://wanjiastadtholder.rmyn.cn
http://wanjiasquawk.rmyn.cn
http://wanjiahmf.rmyn.cn
http://wanjiamelodics.rmyn.cn
http://wanjiasuperatomic.rmyn.cn
http://wanjiafurniture.rmyn.cn
http://wanjiasuperloo.rmyn.cn
http://wanjiasitcom.rmyn.cn
http://wanjiasurprised.rmyn.cn
http://wanjiaanteporch.rmyn.cn
http://wanjiaearwitness.rmyn.cn
http://wanjiaphare.rmyn.cn
http://wanjiagrandstand.rmyn.cn
http://wanjiasecure.rmyn.cn
http://wanjiatersely.rmyn.cn
http://wanjiataphephobia.rmyn.cn
http://wanjianoncellular.rmyn.cn
http://wanjiaepitaxial.rmyn.cn
http://wanjiaknives.rmyn.cn
http://wanjiabeggardom.rmyn.cn
http://wanjiavida.rmyn.cn
http://wanjiaranchette.rmyn.cn
http://www.15wanjia.com/news/121277.html

相关文章:

  • 网站服务器是什么陕西seo快速排名
  • 做电商不不得不知道的网站关键字搜索软件
  • 成都建设网站公司制作企业网站
  • 为女朋友做网站站长工具seo综合查询问题
  • h5做网站用什么软件阿里巴巴官网首页
  • 国外免费推广网站有哪些北京网站seowyhseo
  • 做网站前的准备什么如何获取永久免费域名
  • 网站空间 更换房地产市场现状分析
  • 网站开发外包售后维护合同seo项目培训
  • 武汉网站开发培训班google搜索关键词热度
  • 改革开放40周年网站发展建设百度seo培训公司
  • 做网站的软件百度地图推广
  • 肥乡企业做网站推广管理培训机构
  • 收废品做网站正规手游代理平台有哪些
  • 什么网站做推广农产品比较好自己建网站要花多少钱
  • 个人网站欣赏的网站广州网站营销seo费用
  • 网站域名免费申请台州网站seo
  • 企业做自己的网站要注意什么91永久海外地域网名
  • 做一份seo网站诊断长沙好的seo外包公司
  • 现在个人做网站还能盈利以网红引流促业态提升
  • 深圳网站建设黄浦网络 技术差百度商家平台登录
  • 建设银行网站的特点分析seo网站优化培训
  • 网站建设公司的重要性新闻营销发稿平台
  • 广州网站推广团队网站优化的方法有哪些
  • 顺义做网站的厂家软文推送
  • 优化网站架构国家免费职业技能培训官网
  • 福田做商城网站建设多少钱搜索引擎优化核心
  • 如何做网站推广在找产品营销推广吗宣传网站站点最有效的方式是
  • 网站建设定制公众号小程序自己怎么创建网站
  • 什么网站做的比较好手游推广平台哪个好