日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

Hobbit玩转Zynq MPSoC系列之2:TPG输入+VCU编码+rtp网络传输

發布時間:2024/9/27 c/c++ 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hobbit玩转Zynq MPSoC系列之2:TPG输入+VCU编码+rtp网络传输 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Xilinx官方提供了TPG、MIPI、SDI、HDMI和FILE等接口作為圖像的輸入源,在工程中例化為V4L2架構設備,供上層軟件調用。TPG全稱為Test Pattern Generator,為FPGA邏輯產生的一個模擬圖像源,可提供一系列不同模式的模擬圖像,對于初學者而言是學習V4L2架構、Gstreamer命令以及調試流程最合適的開端。VCU編碼并通過rtp網絡傳輸是很多工程應用的基本需求,本文將演示如何將TPG圖像編碼并通過網絡傳輸。


平臺、配件及軟件
ZCU104
Vivado2020.1
Petalinux2020.1
micro usb數據線
網線
Vivado工程
??整個工程的block desigh如下:

?

??VCU的配置和之前一樣,使能Encoder和Decoder,并按照下圖進行配置。

?

??TPG和Frame Write配置如下:


?
??VCU的HP口選擇和之前一致,也是接到HP2和HP3,TPG的Frame Write單獨接到HP1口。

?

Petalinux工程
??按照官方ug1144的命令新建工程、配置工程、編譯工程、生成BOOT.BIN。
??petalinux-create --type project --template --name <PROJECT_NAME>
??petalinux-config --get-hw-description /–get-hw-description=<PATH-TO_XSA Directory>
??xliinx工具已經為VCU、TPG生成好了完美的devicetree,不用自己去修改。
??在rootfs下打開gstreamer插件和v4l2插件。
??petalinux-build
??petalinux-package --boot --format BIN --fsbl --u-boot -o PATH-TO-OUTPUT-WITH-FILE-NAME

工程演示
??將生成的BOOT.BIN和image.ub復制到SD卡,插入SD卡,上電啟動,TPG會例化為V4l2的設備掛載到/dev/video0,執行如下命令:
??設置ZCU104板子的IP為192.168.1.101
??root@blog:/mnt# ifconfig eth0 192.168.1.101
??將video0的視頻編碼通過rtp協議發送到網絡
??root@blog:/mnt# gst-launch-1.0 v4l2src device=/dev/video0 ! “video/x-raw, width=1920, height=1080” ! omxh264enc target-bitrate=20000 ! h264parse config-interval=-1 ! mpegtsmux ! rtpmp2tpay ! udpsink host=192.168.1.99 port=9001 sync=true
??板子上打印信息如下:

root@blog:/mnt# ifconfig eth0 192.168.1.101
root@blog:/mnt# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0A:35:00:22:01
inet addr:192.168.1.101 Bcast:0.0.0.0 Mask:255.255.255.0
inet6 addr: fe80::20a:35ff:fe00:2201/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1933 errors:0 dropped:2 overruns:0 frame:0
TX packets:119657 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1088389 (1.0 MiB) TX bytes:163819758 (156.2 MiB)
Interrupt:30

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

root@blog:/mnt# gst-launch-1.0 v4l2src device=/dev/video0 ! “video/x-raw, width=1920, height=1080” ! omxh264enc target-bitrate=20000 ! h264parse config-interval=-1 ! mpegtsmux ! rtpmp2tpay ! udpsink host=192.168.1.99 port=9001 sync=true
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Setting pipeline to PLAYING …
New clock: GstSystemClock
Redistribute latency…
[ 1105.839444] xilinx-vtc a0010000.v_tc: Failed to set clk rate: 74250000, actual rate: 75000000
!! Warning : Adapting profile to support bitdepth and chroma mode
!! The specified Level is too low and will be adjusted !!

??設置PC的IP地址為192.168.1.99,然后打開vlc軟件,媒體->打開網絡串流->網絡->rtp://@:9001->播放。最終顯示效果如下:


代碼及源文件
??交流和合作請發郵件至humph-hobbit@foxmail.com
————————————————
版權聲明:本文為CSDN博主「Humph-Hobbit」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/zhangyanhui2008/article/details/109960311

?

總結

以上是生活随笔為你收集整理的Hobbit玩转Zynq MPSoC系列之2:TPG输入+VCU编码+rtp网络传输的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。