我想在linux red-hat上使用GLFW打开一个OpenGL全屏窗口.我的桌面跨越两台显示器,总分辨率为3840*1080.
我有两个问题:1.窗口只在一台显示器上打开,最大窗口宽度为1920(单个显示器的宽度).2.窗口的最大高度为1003(我认为是屏幕的高度减去任务栏和顶部栏的高度).
这是我用来打开窗口的代码:
if (glfwInit() == GL_FALSE)
std::cout<< "Unable to initialize GLFW\n";
glfwOpenWindowHint(GLFW_STEREO, GL_FALSE);
if (glfwOpenWindow(3840,1080,8,8,8,0,24,0,GLFW_FULLSCREEN) == GL_FALSE)
std::cout<< "Unable to open window\n";
int width, height;
glfwGetWindowSize(&width, &height);
std::cout << "width = " << width << " height = " << height << "\n";
Run Code Online (Sandbox Code Playgroud)
输出:宽度= 1920高度= 1003
编辑:我使用xrandr检查可用的屏幕模式,并获得:
屏幕0:最小3840 x 1080,当前3840 x 1080,最大3840 x 1080默认连接3840x1080 + 0 + 0 0mm x 0mm 3840x1080 50.0*
EDIT2:我已经改变了我的代码,使用X11打开窗口
int doubleBufferAttributes[] = {
GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT,
GLX_RENDER_TYPE, GLX_RGBA_BIT,
GLX_DOUBLEBUFFER, True, /* Request a double-buffered …Run Code Online (Sandbox Code Playgroud) 我正在尝试基于 gstreamer 构建一个 rtsp 视频服务器。在我的情况下,我需要客户端连接到服务器并开始将视频流式传输到服务器。
我已经阅读了一些关于这个主题的教程,尤其是这个:http : //www.ip-sense.com/linuxsense/how-to-develop-a-rtsp-server-in-linux-using-gstreamer/
在本教程中,视频从服务器流式传输到客户端,我需要更改它,以便视频将从客户端流式传输到服务器。
编辑:在演示中,此管道已启动:
gst_rtsp_media_factory_set_launch (factory, "( "
"videotestsrc ! video/x-raw-yuv,width=320,height=240,framerate=10/1 ! "
"x264enc ! queue ! rtph264pay name=pay0 pt=96 ! audiotestsrc ! audio/x-raw-int,rate=8000 ! alawenc ! rtppcmapay name=pay1 pt=97 "")");
Run Code Online (Sandbox Code Playgroud)
管道从视频和音频测试源开始,并将它们编码为有效载荷 0 和 1。我需要做相反的事情 - 获取 rtsp 有效载荷并对其进行解码。
我正在编写服务器应用程序并且select在插槽上遇到问题.select即使客户端尝试连接,服务器端也始终返回0.当我评论select并直接到accept线时一切正常(但我的应用程序被阻止)
服务器代码(在C中):
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
memset((char *) &serv_addr, 0, sizeof (serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = INADDR_ANY;
serv_addr.sin_port = htons(System_->commParams.port);
bind(sockfd, (struct sockaddr *) &serv_addr, sizeof (serv_addr));
fd_set fds;
timeval tv;
FD_ZERO(&fds);
FD_SET(sockfd, &fds);
int retval = 0;
tv.tv_sec = 1;
tv.tv_usec = 0;
listen(sockfd, 5);
while (retval == 0)
{
retval = select(1, &fds, NULL, NULL, &tv);
tv.tv_sec = 1;
tv.tv_usec = 0;
FD_ZERO(&fds);
FD_SET(sockfd, &fds);
}
unsigned …Run Code Online (Sandbox Code Playgroud)