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