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

承接上一节,基于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

最近更新

  1. TCP协议是安全的吗?

    2024-04-02 08:40:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-02 08:40:01       18 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-02 08:40:01       17 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-02 08:40:01       20 阅读

热门阅读

  1. react 父子组件的渲染机制 | 优化手段

    2024-04-02 08:40:01       15 阅读
  2. leetcode76最后一个测试用例无法通过

    2024-04-02 08:40:01       13 阅读
  3. SeLinux安全上下文文件

    2024-04-02 08:40:01       13 阅读
  4. C语言函数如何将数组元素作为实参?

    2024-04-02 08:40:01       15 阅读
  5. InitializingBean是什么以及如何使用?

    2024-04-02 08:40:01       15 阅读
  6. Sentinel 的QPS限流和Redis流量风控

    2024-04-02 08:40:01       13 阅读
  7. 观察者模式

    2024-04-02 08:40:01       9 阅读
  8. @TableLogic注解逻辑删除后查已删除数据

    2024-04-02 08:40:01       10 阅读