Насколько я понимаю , кодек - это и декодер, и спецификация для декодирования. Поэтому некоторые группы пишут кодек, который объясняет, как декодировать из своего формата обратно в необработанный поток битов, и они оставляют реализацию кодирования любому, кто хочет написать совместимый кодер. Так, например, h.264 - это известный видеокодек (декодер), а x264 - это известный FOSS-кодер для h.264. Но есть много других кодеров h.264.
Насколько я понимаю , VideoForLinux (V4L2) - это набор библиотек ядра и пользовательского пространства для работы с потоковым видео на компьютерах с Linux.
Насколько я понимаю , ALSA - это набор библиотек ядра и пользовательского пространства для работы с потоковым аудио на компьютерах с Linux.
Если что-то, что я изложил выше, неверно, пожалуйста, начните исправлять / разъяснять меня!
Если предположить, что я более или менее прав, то мне не удается понять, какую роль (если таковые имеются) должны играть V4L2 и ALSA при попытке кодировать, сжимать и передавать аудио- и видеопотоки на компьютере с Linux.
Если бы я мог использовать x264 для кодирования моего видеопотока, faac для кодирования моего аудиопотока, а затем ffmpeg
для сжатия, мультиплексирования и передачи двух потоков, скажем, в контейнере MPEG-TS, тогда где в игру вступают V4L2 и ALSA?
И если ответ «они этого не делают», то кто-нибудь может привести пример или два, когда будет использоваться V4L2/ALSA , чтобы я мог представить их в контексте и понять случаи использования, где они необходимы? Заранее спасибо.