在PYNQ-Z1上跑H.264 video encoder v2.0 demo
- 
					
					
					
					
 在PYNQ-Z1上跑H.264 video encoder v2.0 demo 你好! 我们根据“1629349156403-h264-encoder-rtl-v2.0仿真及fpga教程_v2.ppt”的流程在PYNQ-Z1上跑H.264 encoder v2.0的demo, 有以下问题: - 
PYNQ v2.0.img在PYNQ-Z1板上跑不起来(LD4,5没有闪动,LD0-3没有亮), LD12-13是亮的,好像是boot的时候卡死在usb端口了。 
- 
用 PYNQ v3.0.1.img可以启动和连通(浏览器可以打开jupyter notebook), 但是跑“使用VLC接收HDMI视频流_1080p.ipynb”时跑不了,要在notepad++里打开原来的.ipynb档然后另存另外一个名字(比如use VLC to accept HDMI stream 1080p.ipynb)才能在jupyter notebook里打开。 
- 
跑到第3步后出了以下错误信息: 
 
 RuntimeError Traceback (most recent call last) 
 Input In [3], in <cell line: 4>()
 1 from pynq.overlays.h264 import H264Overlay
 2 from pynq.lib.video import *
 ----> 4 base = H264Overlay("h264.bit")
 5 hdmi_in = base.video.hdmi_inFile /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/overlays/h264/h264.py:61, in H264Overlay.init(self, bitfile, **kwargs) 
 60 def init(self, bitfile, **kwargs):
 ---> 61 super().init(bitfile, **kwargs)
 62 if self.is_loaded():
 63 print("load ready")File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/overlay.py:319, in Overlay.init(self, bitfile_name, dtbo, download, ignore_version, device, gen_cache) 
 315 super().init(bitfile_name, dtbo, partial=False, device=device)
 317 self._register_drivers()
 --> 319 self.device.set_bitfile_name(self.bitfile_name)
 320 self.parser = self.device.parser
 322 self.ip_dict = (
 323 self.gpio_dict
 324 ) = (
 325 self.interrupt_controllers
 326 ) = self.interrupt_pins = self.hierarchy_dict = dict()File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/pl_server/device.py:118, in Device.set_bitfile_name(self, bitfile_name) 
 116 def set_bitfile_name(self, bitfile_name: str) -> None:
 117 self.bitfile_name = bitfile_name
 --> 118 self.parser = self.get_bitfile_metadata(self.bitfile_name)
 119 self.mem_dict = self.parser.mem_dict
 120 self.ip_dict = self.parser.ip_dictFile /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/pl_server/embedded_device.py:692, in EmbeddedDevice.get_bitfile_metadata(self, bitfile_name, partial) 
 690 parser = _get_bitstream_handler(bitfile_name).get_parser(partial=partial)
 691 if parser is None:
 --> 692 raise RuntimeError("Unable to find metadata for bitstream")
 693 return parserRuntimeError: Unable to find metadata for bitstream - 跑到第4步后,返回以下信息:
 
 NameError Traceback (most recent call last) 
 Input In [5], in <cell line: 2>()
 1 from pynq import MMIO
 ----> 2 rgb2yuv = MMIO(base.ip_dict['h264/rgb2yuv_with_axi_0']['phys_addr'], 0x10000)
 3 h264 = MMIO(base.ip_dict['h264/h264enc_with_axi_0']['phys_addr'], 0x10000)
 5 from h264py.h264 import H264NameError: name 'base' is not defined - 跑到第6步(Repeat from here):
 
 ConnectionRefusedError Traceback (most recent call last) 
 <ipython-input-7-128c56b52014> in <module>()
 27
 28 h264_size = h264.read(0x1c)
 ---> 29 h264_send.send_frame(result[:h264_size])
 30
 31 cma_send.freebuffer()/home/xilinx/jupyter_notebooks/h264py/h264.py in send_frame(self, raw_h264) 
 77 send_buf = np.concatenate((padding, raw_h264, np.zeros(100, dtype=np.uint8)))
 78 debug("SLICE:", send_buf, MAX_RTP_PKT_LENGTH + 14)
 ---> 79 self.sock.send(send_buf[:MAX_RTP_PKT_LENGTH + 14])
 80
 81 # Middle blockConnectionRefusedError: [Errno 111] Connection refused - 
请问有碰到过类似的问题吗? 设计包里的.ipynb档对PYNQ-Z1的img有没有版本要求?(一定要匹配v2.0的img吗?) 
- 
另外我们用VLC打开接收端PC的w.sdp后,它没有视频显示,只有进度条在来回跑,应该是接收不到视频流? 
 能否提供一个基于v3.0.1的demo包?或者以上的问题有解决方法吗? 感谢! 
 
- 
- 
					
					
					
					
 @20220704 said in 在PYNQ-Z1上跑H.264 video encoder v2.0 demo: 1629349156403-h264-encoder-rtl-v2.0仿真及fpga教程_v2.ppt 1629349156403-h264-encoder-rtl-v2.0仿真及fpga教程_v2.ppt 你好,这个文件可以在哪下载到呢,我从论坛的连接无法下载成功