The GTFS-realtime ferry feed reports all current and future vehicle positions. This causes a "trail" of vehicles to appear while the ferry is moving. It's possible to filter out to only show the current trip's vehicle position. Use vehicle > id as the unique identifier. Since the ferry feed no longer reports vehicle positions once a trip has been completed, you can cross reference with the GTFS-static data to identify which trip begins the earliest (i.e. has the earlieststop_times.txt entry).
faq category
HelpSupport
Why are there multiple records for the same ferry in the vehicle position feeds?