Well, it's C, so, sky's the limit

. There's networking involved, so, probably sockets though. Either in a way that keeps boundaries so you read frame-by-frame, or a stream that you chunk yourself into frame-size bytes before pushing that to FBInk.
Or keep going through an extra shell layer that uses nc to dump that in a local FIFO, but that seems like a waste when you can just do nc's job in C directly ;p.