clydemcqueen / h264_image_transport Goto Github PK
View Code? Open in Web Editor NEWAdds H264 decoding to ROS2 image transport
License: Other
Adds H264 decoding to ROS2 image transport
License: Other
Hi
I am running ROS2 Humble on Ubuntu 22.04.
I am trying to run the example_launch.py file and receive the following output
[h264_cam_node-1] [INFO] [1689043986.530547557] [h264_cam_node]: Parameter input_fn: /dev/video0
[h264_cam_node-1] [INFO] [1689043986.530613627] [h264_cam_node]: Parameter fps: 30
[h264_cam_node-1] [INFO] [1689043986.530626967] [h264_cam_node]: Parameter size: 800x600
[h264_cam_node-1] [INFO] [1689043986.530637862] [h264_cam_node]: Parameter frame_id: camera_frame
[h264_cam_node-1] [INFO] [1689043986.530648478] [h264_cam_node]: Parameter camera_info_path: info.ini
[h264_cam_node-1] [ERROR] [1689043986.794651497] [camera_calibration_parsers]: Failed to detect content in .ini file
[h264_cam_node-1] [ERROR] [1689043986.794677269] [h264_cam_node]: Could not get camera info, will not publish
[h264_cam_node-1] [INFO] [1689043986.794921435] [h264_cam_node]: Camera thread started
[republish-2] [INFO] [1689043986.880832502] [republish_node]: First message: 0
I have checked that my camera can encode H.264 using v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: 'MJPG' (Motion-JPEG, compressed)
[1]: 'YUYV' (YUYV 4:2:2)
[2]: 'NV12' (Y/CbCr 4:2:0)
[3]: 'H264' (H.264, compressed)
[4]: 'HEVC' (HEVC, compressed)
Do I need to write/generate an info.ini file? If so, could you advise on how to go about doing this?
Thank you!
Hi,
I'm getting this error when I try to compile the packages in Humble (22.04)
--- stderr: h264_image_transport
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libavcodec.a(lpc.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: failed to set dynamic section sizes: bad value
Any ideas on how to fix it?
Hi,
I am trying to run h264_image_transport package on ROS2 Humble on linux ubuntu 20.04 focal. The package gets built without any errors but when i try to run it using the launch file as provided, I get the cannot find a proper format for codec h264 error as in the log provided below.
Steps followed:
after building the package and sourcing it
error log:
$ ~/h264_image_transport$ ros2 launch h264_image_transport example_launch.py
[INFO] [launch]: All log files can be found below /home/mtk/.ros/log/2023-01-30-18-03-47-364858-mtk-NUC11TNHv5-23289
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [h264_cam_node-1]: process started with pid [23291]
[INFO] [republish-2]: process started with pid [23293]
[h264_cam_node-1] [INFO] [1675130627.850684398] [h264_cam_node]: Parameter input_fn: /dev/video0
[h264_cam_node-1] [INFO] [1675130627.850843682] [h264_cam_node]: Parameter fps: 30
[h264_cam_node-1] [INFO] [1675130627.850853585] [h264_cam_node]: Parameter size: 800x600
[h264_cam_node-1] [INFO] [1675130627.850859103] [h264_cam_node]: Parameter frame_id: camera_frame
[h264_cam_node-1] [INFO] [1675130627.850864616] [h264_cam_node]: Parameter camera_info_path: info.ini
[h264_cam_node-1] [video4linux2,v4l2 @ 0x56370007a180] Cannot find a proper format for codec 'h264' (id 27), pixel format 'none' (id -1)
[h264_cam_node-1] Assertion *codec_id != AV_CODEC_ID_NONE failed at src/libavdevice/v4l2.c:815
[ERROR] [h264_cam_node-1]: process has died [pid 23291, exit code -6, cmd '/home/mtk/h264_image_transport/install/h264_image_transport/lib/h264_image_transport/h264_cam_node --ros-args -r __node:=h264_cam_node --params-file /tmp/launch_params_w6o2nsmy'].
running the republish executable as it is generates no output. Launching the example_launch.py file afterwards or as standalone leads to generating Assertion codec_id != AV_CODEC_ID_NONE failed at src/libavdevice/v4l2.c:815 error and no further output is generated.
Several header files have new names, etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.