1.
http://wiki.ros.org/ROS/Tutorials/Creating%20a%20Package%20by%20Hand
http://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv
https://answers.ros.org/question/31779/how-to-use-a-message-that-i-made/
http://wiki.ros.org/msg
https://answers.ros.org/question/208801/how-to-have-no-copy-publishing-over-multiple-cores/
https://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber(c++)
http://wiki.ros.org/image_transport/Tutorials/PublishingImages
https://answers.ros.org/question/213446/subscribing-to-custom-message-type/
2. recording
http://wiki.ros.org/ROS/Tutorials/Recording%20and%20playing%20back%20data