Gstreamer с opencv, как настроить параметры для icecast2
Я строю программу, где нужно передавать видео на сервер, потому что нет дисплея (HDMI). Я тестировал потоковую передачу с videotestsrc
и все работает нормально, но использование реальных данных является проблемой. Я не знаю, как настроить gstreamer для моих данных. Как я могу получить формат моего видео?
Я хотел бы передавать черно-белые cv::Mat и 3chanell cv::Mat.
Я следовал этому руководству: https://www.google.sk/amp/s/schneide.wordpress.com/2015/03/03/streaming-images-from-your-application-to-the-web-with-gstreamer-and-icecast-part-1/amp/
Спасибо
1 ответ
Вы можете напрямую использовать VideoWriter от OpenCv и передать канал в видеострайвер. Вам нужно заменить videotestsrc
с appsrc
:
float fps = 25.0f; // or the fps you desire
int fourcc = 0;
bool is_color = true; // depending on your image
cv::VideoWriter writer;
writer.open("appsrc ! vp8enc ! webmmux ! shout2send ip=127.0.0.1 port=8000 password=hackme mount=/test.webm", fourcc,fps, frame.size());
...
writer.write(frame);
writer.release();