gstreamer管道中的帧分辨率设置

时间:2018-02-02 04:34:33

标签: video-streaming gstreamer resolution screen-resolution gst-launch

我正在使用gstreamer在我的基于IP的显示器上传输我的笔记本电脑屏幕。

以下是两端的管道:

笔记本:

C:\gstreamer\1.0\x86_64\bin\gst-launch-1.0.exe -v dx9screencapsrc ! queue ! videoconvert ! x264enc ! "video/x-h264,profile=baseline" ! h264parse config-interval=-1 ! rtph264pay pt=96 config-interval=-1 ! udpsink host=<ipaddr> port=5004 sync=true

IP显示:

gst-launch -v udpsrc port=5004 ! application/x-rtp, payload=96 ! rtph264depay ! vpudec low-latency=true ! imxv4l2sink sync=false

问题是显示分辨率是1024x768,但源插件生成1920x1080,这是我的笔记本电脑分辨率..

我需要将其转换为IP Display的分辨率,我将笔记本电脑上的管道修改为以下内容:

C:\gstreamer\1.0\x86_64\bin\gst-launch-1.0.exe -v dx9screencapsrc  ! video/x-raw, width=1024,height=768,framerate=30/1 !queue ! videoconvert  ! x264enc  ! "video/x-h264,profile=baseline" ! h264parse config-interval=-1 ! rtph264pay pt=96 config-interval=-1 ! udpsink host=<IPAddress> port=5004 sync=true

失败并出现以下错误:

WARNING: erroneous pipeline: could not link dx9screencapsrc0 to queue0, dx9screencapsrc0 can't handle caps video/x-raw, width=(int)1024, height=(int)768, framerate=(fraction)30/1

使用gst-inspect-1.0查看dx9screencapsrc的大写字母,它有宽度和高度的上限。

如何实现捕获整个屏幕但将其转换为1024x768

的要求

0 个答案:

没有答案