Most ship captains can't legally marry you.
The exception: those aboard Princess Cruises. Its fleet is registered in Bermuda, which recognizes weddings officiated by ship captains in international waters.
Judges, ordained ministers, and some mayors and court clerks can officiate. So can notary publics (but only in Maine, South Carolina, and Florida).
The National Association of Wedding Officiants (nawoonline.com) can help you find your marrying man or woman.
Officiants can be good sources for vendor recommendations, including photographers and florists.
Even ordained ministers might need licenses to legally perform a ceremony. Check with your county clerk.
Nondenominational ministers are the most likely to let you write your own vows and include pets in the ceremony.
Some officiants charge extra for the rehearsal, travel, and a food blessing at the reception.
Your officiant is responsible for mailing the marriage license, and it must be signed by him/her and you or it's not valid.
You can act as your own officiant in Colorado and Pennsylvania. The courts in California and Alaska can appoint one of your friends or family members to officiate. Every state but New York recognizes the Universal Life Church (ulc.org), which will ordain anyone you choose, as long as that person meets your state's requirements (a minimum age limit, for example).
Clergy affiliated with houses of worship generally require you to have premarital counseling.