rio will take you anywhere between six to eight hours.
when it comes to booking your bus trip do go to the bus station and pay for it there and then as you will get the best deal and can board straight away as they do tend to be pretty regular between the main cities. prices vary depending upon where you are traveling, but it will certainly be a lot less than you would pay for a flight. there is no real rail service to speak of between cities in brazil.
you will of course also want to find somewhere to stay and brazil does have a wide range of hotels that 