From b9059af19f732782f13e3106d8369d2ebfe604d8 Mon Sep 17 00:00:00 2001 From: Alexander Popov Date: Wed, 5 Jun 2024 19:33:30 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=82=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=BE=20`videotestsrc`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../posts/2024/video/gstreamer-example-src.md | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 content/posts/2024/video/gstreamer-example-src.md diff --git a/content/posts/2024/video/gstreamer-example-src.md b/content/posts/2024/video/gstreamer-example-src.md new file mode 100644 index 0000000..003511e --- /dev/null +++ b/content/posts/2024/video/gstreamer-example-src.md @@ -0,0 +1,37 @@ +--- +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); +```