Skip to main content
deleted 3 characters in body
Source Link
Marcus Müller
  • 52.7k
  • 4
  • 80
  • 123

Where to start?

Is of course a very broad question. So, I can only give you a very rough overview:

Linux can, given your SoC actually has the hardware, control an USB peripheral to act as a device (rather than host). In the Linux context, that's called USB gadget.

With that technical low-level functionality solved, one has to turn to offering the logical functionality as well, i.e., a UVC gadget. Luckily, the Linux kernel brings exactly that.

With that out the way, you need to consider the data aspect. I don't think mp4 I'd something you can directly transport via uvc. So, you would have to transcode first.

Then, the question becomes how to get the transcoded data from Userland into the kernel. The relatively you'venew v4l2-loopback driver might be of help there.

Where to start?

Is of course a very broad question. So, I can only give you a very rough overview:

Linux can, given your SoC actually has the hardware, control an USB peripheral to act as a device (rather than host). In the Linux context, that's called USB gadget.

With that technical low-level functionality solved, one has to turn to offering the logical functionality as well, i.e., a UVC gadget. Luckily, the Linux kernel brings exactly that.

With that out the way, you need to consider the data aspect. I don't think mp4 I'd something you can directly transport via uvc. So, you would have to transcode first.

Then, the question becomes how to get the transcoded data from Userland into the kernel. The relatively you've v4l2-loopback driver might be of help there.

Where to start?

Is of course a very broad question. So, I can only give you a very rough overview:

Linux can, given your SoC actually has the hardware, control an USB peripheral to act as a device (rather than host). In the Linux context, that's called USB gadget.

With that technical low-level functionality solved, one has to turn to offering the logical functionality as well, i.e., a UVC gadget. Luckily, the Linux kernel brings exactly that.

With that out the way, you need to consider the data aspect. I don't think mp4 I'd something you can directly transport via uvc. So, you would have to transcode first.

Then, the question becomes how to get the transcoded data from Userland into the kernel. The relatively new v4l2-loopback driver might be of help there.

Source Link
Marcus Müller
  • 52.7k
  • 4
  • 80
  • 123

Where to start?

Is of course a very broad question. So, I can only give you a very rough overview:

Linux can, given your SoC actually has the hardware, control an USB peripheral to act as a device (rather than host). In the Linux context, that's called USB gadget.

With that technical low-level functionality solved, one has to turn to offering the logical functionality as well, i.e., a UVC gadget. Luckily, the Linux kernel brings exactly that.

With that out the way, you need to consider the data aspect. I don't think mp4 I'd something you can directly transport via uvc. So, you would have to transcode first.

Then, the question becomes how to get the transcoded data from Userland into the kernel. The relatively you've v4l2-loopback driver might be of help there.