Вы можете посмотреть на Gstreamer.
Примером конвейера для декодирования потока MJPEG будет
gst-launch -v souphttpsrc location="http://[ip]:[port]/[dir]/xxx.cgi" do-timestamp=true is_live=true ! multipartdemux ! jpegdec ! ffmpegcolorspace ! autovideosink
Вместо того, чтобы сохранить его в файл
gst-launch -v souphttpsrc location="http://[ip]:[port]/[dir]/xxx.cgi" do-timestamp=true is_live=true ! multipartdemux ! jpegdec ! ffmpegcolorspace ! filesink location=test.avi
Чтобы получить видео с веб-камеры и сохранить его (протестировано в Ubuntu Linux)
gst-launch v4l2src ! jpegdec ! filesink location=test.avi
jpegdec - это контейнер для декодирования формата jpeg, который содержит «метод idct» для качества
Вы можете написать вышеупомянутые конвейеры в эквивалентном C / C ++Код Java или Python.У него довольно приятные привязки.
Для программирования смотрите мой другой пост
Игра в RTSP с python-gstreamer
Для сетевых вещей, которые вы можете захотетьчтобы посмотреть RTSP (RTP на основе UDP), посмотрите мой ответ на пост здесь
Потоковая передача с помощью GStreamer