When I was going to animate 3d joints to different characters to visualize some motions, I found that most of methods use bvh/fbx format. Not sure about the possibility so I check on the structure of bvh.
.bvh Structure
A BVH (Bounding Volume Hierarchy) is a tree structure on a set of geometric objects. It is widely used in animation.(Blender etc.) And the file contains ASCII text. There has 2 parts in total: ROOT, MOTION.
HIERARCHY
HIERARCHY is the HEAD keyword of .bvh file. Here is the BVH skeletal structure:

ROOT
The first part of a BVH file identifies the Hips joint as the ROOT, which is to say it has no parent-joint. Below the ROOT section in the structure are JOINT sections, each containing information that specifies the location of the skeletal joint relative to its parent-joint. The relative location specifications for a parent-joint and its child-joint makes it possible to work out the length of the bone between the two joints. Where a joint has no child-joint, it is linked to an End Site section. The CHANNELS are for processing the time-framed sequence of translation and/or rotational co-ordinates provided in the second part of the BVH file.

MOTION
It is followed by information specifying, first, the number of FRAMES; second, the sampling rate per second after the keyword FRAME TIME; and third, a number of lines corresponding to the number of FRAMES, each line providing the tranlation and/or rotation co-ordinates to be processed according to the CHANNELS specifications in the first part of the file.

Can 3d joint coordinates convert to BVH?
Possible. But BVH requires joint angles, not (only) 3-D keypoints, so it’s not trivially possible. I found a method: video2bvh, which realized it. Not sure about the quality but worth a try.