Blog/content/posts/2024/video/gstreamer-example-src.md

38 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "📷 Тестовый источник видео Gstreamer"
date: 2024-06-05T19:09:57+03:00
draft: false
tags: [tips, linux, video, development]
---
Для отладочных целей (или нет) в **GStreamer** предусмотрен источник видео `videotestsrc`.
![](https://cdn.a2s.su/blog/2024/videotestsrc.png)
Что-бы его запустить, досточно выполнить следующую команду.
```shell
gst-launch-1.0 -v videotestsrc ! xvimagesink
```
Можно задать разрешение изображения, например 320 на 240 пикселей,
или 1280 на 720 пикселей.
```shell
# 320 на 240 пикселей
gst-launch-1.0 -v videotestsrc ! video/x-raw,width=320,height=240 ! xvimagesink
# 1280 на 720 пикселей
gst-launch-1.0 -v videotestsrc ! video/x-raw,width=1280,height=720 ! xvimagesink
```
Что-бы использовать поток в коде, нужно заменить параметр `xvimagesink` на `appsink`.
```c++
std::string source = "videotestsrc ! video/x-raw,width=320,height=240 ! appsink";
cv::VideoCapture capture = cv::VideoCapture(source);
// or
cv::VideoCapture capture = cv::VideoCapture(source, cv::CAP_GSTREAMER);
```