Was ist der Unterschied zwischen Protokollpuffern und Flatbuffern?

Beide sind Serialisierungsbibliotheken und werden von Google-Entwicklern entwickelt. Gibt es einen großen Unterschied zwischen ihnen? Ist es eine Menge Arbeit, Code mithilfe von Protokollpuffern in FlatBuffer zu konvertieren