Потоковое потоковое видео в кодированном формате MPEG-4 с веб-камеры с использованием RTP в C++
Я работал над созданием видеопотока из веб-камеры, используя протокол RTP на языке C++ в Linux. Я смог использовать opencv, чтобы брать кадры с веб-камеры и отправлять их кадр за кадром в клиентское приложение, которое показывает эти кадры один за другим, используя один и тот же параметр кадров в секунду.
Но это в основном тип передачи MJPEG, поскольку используемая кодировка - это кодировка JPEG с определенным качеством для каждого кадра. Тем не менее, я хотел бы использовать кодирование MPEG-4 перед передачей видео. После глубокого поиска в Интернете я обнаружил, что ffmpeg является лучшим для этой цели. Но образцы онлайн в основном работают через интерфейс командной строки для захвата видео с веб-камеры и сохранения его в виде видеофайла с заданной кодировкой и форматом.
О чем я здесь спрашиваю. Есть ли возможность кодировать веб-камеру "LIVE" и получать байтовые данные при кодировании потока камеры. Я хотел бы использовать эти байтовые данные для передачи их, например, с помощью RTP. А затем я хотел бы декодировать полученные байтовые данные и показать видео, используя, например, функцию opencv imshow.
Я надеюсь, что я мог бы четко объяснить свой вопрос.
Заранее спасибо,
Твой маад
1 ответ
Да, это возможно. Сам FFmpeg состоит из нескольких библиотек, которые могут использоваться извне для разработки ваших собственных программ.
Вы должны проверить эти ссылки для руководства:
Разработка программ с использованием библиотек FFmpeg