--- 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); ```