I’m currently working with a Blue Robotics camera (likely the Low-Light USB Camera or a similar module), and I’m transmitting its video feed via fiber optics. To accomplish this, I’m using a USB-to-fiber optic converter. However, I’ve run into a limitation: the converter only supports video streams in H.264 format.
At the moment, the camera outputs a raw USB UVC (USB Video Class) stream, which is typically in MJPEG or YUYV format—not H.264 by default. Because of this, the fiber converter fails to transmit the feed properly unless it receives an H.264 encoded stream.
My Questions:
Is there a way to convert or re-encode the video stream to H.264 in real-time before passing it to the fiber converter?
Hi @Aaron19 -
The Low-Light USB camera produces both an H264 stream and MJPG and YUYV streams - it is up to the host device, in this case your converter, to select the appropriate stream. This is accomplished via the UVC camera interface I believe?
I believe the camera normally presents itself as two devices, one with the raw streams, and another with the H264-encoded stream. If you’re able to select the correct device option with your converter then it should be able to pass on the desired stream.
I wanted to ask if there are any reference documents or .docx files available that could help me better understand the current task. Additionally, could you recommend any software tools that allow me to view or analyze stream data types effectively?
Hi @Aaron19 -
The documentation you’re looking for will be based on the converter you’re using - you’ve not shared a specific model… I’d recommend reaching out to the vendor and asking how the unit handles multiple available USB video streams!
Hi @Aaron19 -
Unfortunately there is no way to configure the USB camera to output a different stream. This selection is done on the host USB device, typically the Raspberry Pi that receives the video stream. If it isn’t possible to adjust the stream selection on your converter, I’m afraid it’s not going to work!