Because rosbag play --loop does not work well on some situations, and we sometimes would like to use one moment of camera view continuously on analyzing.
The first motivation is to advertise camera_info with synchronization with image and point cloud.
There are already node to publish point cloud from pcd file,
and image from image file.
To advertise camera_info, adding feature to publish it to pcd_to_pointcloud is a solution. (image_publisher already has this feature using ~camera_info_url rosparam)
But it does not solve the problem of synchronization between the image and pointcloud,
and it is also a problem that topic saving utilities for image and pointcloud are dispersed (pcl_ros/pointcloud_to_pcd, image_view/image_saver).
One for camera_info does not exist as far as I know.
In this post, I propose to create a new ROS package to serve the feature of advertise camera_info, image, and point cloud,
and saving utilities for them. Ideally, it can be placed as ros-drivers/virtual_camera.
If this package is regarded as useful enough to be added to ros-drivers, it will be added there on GitHub.