Xilinx FPGA MPSOC ZU4EV的HDMI 4K60 H265编码(二)Petalinux编译及上板运行

本文详细介绍了如何使用Petalinux在MPSOCZU4EV开发板上进行HDMI输入视频的H265编码,包括BSP创建、XSA文件配置、固件编译、设备树修改和H265编码配置流程。
摘要由CSDN通过智能技术生成

可提供一套调好HDMI 4K@60 H265編解码输出的开发板,需要的朋友可联系。

承接上一节,基于MPSOC ZU4EV的HDMI 4K60 H265编码(一)Vivado工程建立-CSDN博客

这篇文章介绍Petalinux部分的编译,及在ZU402上HDMI输入,H265编码的实现。

在上一节,我们生成了Petalinux下用的xsa硬件描述文件。这节,我们就利用这个文件,生成固件,并在板子上跑HDMI输入视频的H265编码结果

1、通过BSP创建petalinux工程

petalinux-create -t project -s zu402_sd.bsp -n zu402_sd

注:其中BSP文件,要找相应开发板的供应商提供,在附件,我会提供一个ZU402的开发板BSP供大家参考 。

2、添加xsa文件到工程目录

复制到刚创建的工程目录内,如下图所示

3、配置petalinux工程的XSA文件

petalinux-config --get-hw-description=/home/l/Documents/petalinux/2020.2/ZU402/zu402_sd

4、在弹出的界面中设置离线编译环境

(注意:路径要改为你自己download及ssate的解压路径)

5、修改设备树文件

把system-user.dtsi链接到相关的工程,例如本文档用了hdmirx的vivado工程,则:

打开终端,定位到project-spec/meta-user/recipes-bsp/device-tree/files目录下:
输入命令:ln -sf zu402_hdmirx.dtsi system-user.dtsi
通过ls -l确认文件system-user.dtsi已经指向zu402_hdmirx.dtsi

6、编译工程
petalinux-build

7、生成BOOT.BIN镜像

cd images/linux
petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot u-boot.elf --pmufw pmufw.elf --fpga system.bit --force

8、把boot.scr BOOT.BIN image.ub复制到TF卡
以及压缩包(zu402_hdmitx_fw_编译好固件.7z)里的的vcu文件夹和autostart.sh复制到TF卡

9、把TF卡插到开发板,拔码拔到SD 卡启动方式 

10、设置板子IP 等参数

确保开板板能跟电脑Ping通

11、插入HDMI视频源

12、打印Media Pipeline

media-ctl -p -d /dev/media0
下图RBG888_1X24/3840x2160则为HDMI输入的视频格式,后面配VPSS参数会用到

 13、配置视频Pipeline 参数

其中红色部分为上一步骤获取的视频格式
media-ctl -d /dev/media0 -V "\"a0080000.v_proc_ss\":0  [fmt:RBG888_1X24/3840x2160 field:none]"
media-ctl -d /dev/media0 -V "\"a0080000.v_proc_ss\":1  [fmt:VYYUYY8_1X24/3840x2160 field:none]"

14、推流到电脑

其中红色IP为电脑的IP

gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 ! video/x-raw, format=NV12, width=3840, height=2160, framerate=60/1 ! omxh265enc qp-mode=auto gop-mode=basic gop-length=60 b-frames=0 target-bitrate=60000 num-slices=8 control-rate=constant prefetch-buffer=true low-bandwidth=false filler-data=true cpb-size=1000 initial-delay=500 periodicity-idr=60 ! video/x-h265, profile=main, alignment=au ! queue ! mpegtsmux alignment=7 name=mux ! rtpmp2tpay ! udpsink host=192.168.3.125 port=5004

15、在电脑播放

打开VLC,点击打开网络串流

输入下面拉流地址,点击播放
rtp://192.168.3.125:5004

附件为ZU402开发板的BSP文件 :【免费】MPSOCZU4EVZU402开发板BSP文件资源-CSDN文库

技术交流|源码获取|微信|szFPGAer

  • 25
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Qt 5.12.9 mpsoc运行时缺少glibc_2.29的原因可能是系统中安装的glibc版本过低。glibc是GNU C Library的缩写,是Linux系统中的核心C库,提供了对操作系统底层功能的访问。 为了解决这个问题,可以考虑以下几种解决方案: 1. 升级glibc:尝试在系统中升级glibc到2.29或更高版本。可以通过更新操作系统或手动编译安装最新版本的glibc来完成。 2. 兼容库:如果升级glibc不可行或不推荐,可以尝试使用兼容库来解决问题。可以搜索并下载适用于Qt 5.12.9 mpsoc和当前系统glibc版本的兼容库,然后将其配置为Qt项目的依赖项。 3. 降级Qt版本:如果以上两种解决方案都不可行,可以考虑降级Qt版本至一个与当前系统glibc版本兼容的版本。首先需要卸载当前安装的Qt 5.12.9 mpsoc,然后安装一个较低版本的Qt,其所需的glibc版本应与当前系统中存在的版本匹配。 需要注意的是,以上解决方案中的每一种都有其特定的风险和限制。在进行任何更改之前,强烈建议备份系统和相关数据,并仔细评估可能导致的影响。此外,最好咨询相关领域的专业人士或Qt社区的支持,以获取准确和可靠的建议。 ### 回答2: 在运行Qt5.12.9 MPSOC时出现缺少"glibc_2.29"的问题。这种情况通常是由于在你的系统中缺少所需版本的GLIBC库引起的。GLIBC是一个重要的库,它提供了许多标准C库函数的实现。 要解决这个问题,可以采取以下几个步骤: 1. 检查当前系统中已安装的GLIBC版本。可以在终端中输入命令`ldd --version`来查看当前GLIBC的版本。如果显示的版本较低(低于2.29),则需要升级GLIBC。 2. 升级GLIBC。通常,升级GLIBC可能是一个相对复杂和冒险的过程,因为它涉及到操作系统的核心组件。因此,建议谨慎操作,并确保备份你的重要数据。 3. 安装兼容的Qt版本。而不是升级GLIBC,另一种解决方法是安装与你的系统兼容的Qt版本。可以查找和下载与已安装GLIBC版本兼容的Qt5.12.9版本,然后重新编译运行你的程序。 4. 更新操作系统。将操作系统升级到支持所需GLIBC版本的最新版本可能是更简单和安全的解决方法。在系统升级之前,建议备份重要数据和设置,以防意外发生。 需要注意的是,升级GLIBC或操作系统可能会涉及到一些风险和复杂性,因此在执行此类操作之前,请确保了解相关知识或咨询专业人士的建议。 ### 回答3: 在Qt5.12.9 MPSOC运行缺少glibc_2.29可能是因为您的操作系统中的glibc版本太旧,无法满足Qt5.12.9对于glibc_2.29的依赖。glibc(GNU C Library)是一个重要的C语言运行时库,它提供了使用C语言编写的应用程序与操作系统之间进行交互的接口。 要解决这个问题,您有以下几个选择: 1. 升级您的操作系统:升级您的操作系统到支持glibc_2.29版本的版本。您可以查找操作系统的官方文档,了解如何升级glibc版本的方法。 2. 降低Qt版本:如果您不想升级操作系统,可以尝试降低Qt的版本,以适应您当前操作系统所支持的glibc版本。您可以在Qt的官方网站上获取旧版本的Qt,然后安装并尝试在MPSOC运行。 3. 自行编译:如果您具备一定的编程和系统知识,您也可以尝试自行编译glibc_2.29版本,并将其安装到您的操作系统中。这需要一些复杂的步骤,包括下载glibc源代码、配置编译选项、编译和安装等。 无论您选择哪种方法,确保在进行任何操作之前备份您的重要数据。另外,请注意,更改操作系统或修改底层库的操作可能会带来一些潜在的风险和不稳定性,因此请小心操作,并确保使用合适的解决方案以解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值