- linux/
- Linux DIY:项目移除VGA电缆,通过wifi与电视共享屏幕
Linux DIY:项目移除VGA电缆,通过wifi与电视共享屏幕
Linux DIY:项目移除VGA电缆,通过wifi与电视共享屏幕,linux,video-streaming,screenshot,screen-capture,Linux,Video Streaming,Screenshot,Screen Capture,这是我的一个编码项目。我对linux相当陌生,所以在开始之前,我需要你们的一些指导和想法。我知道已经有屏幕共享软件了,但我想做我自己的!(=
具体来说,我想通过一个通过VGA电缆连接到电视的linux设备,通过WLAN将笔记本电脑屏幕克隆到电视上:
笔记本电脑的屏幕
LinuxBox读取流
Linux box将流输出到电视(通过VGA电缆)
首先,如何在linux中记录屏幕并实时发送流
其次,我必须编写一个程序来读取发送的数据流。该程序必须监听某个端口,并收集从笔记本电脑传输的数据。有什么想法吗
这是我的一个编码项目。我对linux相当陌生,所以在开始之前,我需要你们的一些指导和想法。我知道已经有屏幕共享软件了,但我想做我自己的!(=
具体来说,我想通过一个通过VGA电缆连接到电视的linux设备,通过WLAN将笔记本电脑屏幕克隆到电视上:
笔记本电脑的屏幕
LinuxBox读取流
Linux box将流输出到电视(通过VGA电缆)
首先,如何在linux中记录屏幕并实时发送流
其次,我必须编写一个程序来读取发送的数据流。该程序必须监听某个端口,并收集从笔记本电脑传输的数据。有什么想法吗
然后我必须把数据实时输出到电视上。你有什么办法解决这个问题吗
谢谢
编辑:关于编程语言,我最熟悉python。可以通过各种风格的(如等)共享屏幕。如果是开源的,您可能希望:
为了以后的兼容性,请坚持使用VNC协议
以已建立的解决方案如何实现屏幕挂钩为例
在Linux中,图形都由Xorg(X Server的新版本)处理,Xorg是通过嵌入式网络开发的。这解释了为什么您可以将ssh-X应用到机器中,在机器上执行图形界面,并在远程计算机上查看。我建议您阅读Xorg上的挂钩,以满足您的需要
您需要一个客户机-服务器拓扑结构来满足您的需求。不过,您并不是在谈论任何您预测要使用的编程语言。有些语言可能比某些语言更难开始使用。此外,这种代码在每种主要编程语言下都已经非常容易理解。您至少应该尝试使用一种简化项目的网络部分
在Linux中,您可以通过视频卡驱动程序在电视上共享屏幕。只需查看桌面环境(例如,KDE和Gnome提供视频配置面板)或视频卡配置(nVidia和ATI Linux驱动程序提供多屏幕支持)
在我看来,你似乎在试图重新发明轮子,但不太确定如何开始。我建议你从一个已经验证过的VNC软件开始,看看它是如何发展的。如果缺少一个功能,你就有了服务器和客户端的源代码,因此你可以继续开发这些项目。一旦你当你的设置开始运行时,开始考虑用你自己的代码替换拼图的一部分,然后看看它是如何运行的
如果没有一些功能强大的CPU/GPU和一个没有用户的802.11n无线网络,不要期望电视上有好的(例如全高清)视频质量,并准备好接受编解码器启动的延迟。共享屏幕可以通过各种风格的(如等)来完成。如果是开源的,您可能希望:
为了以后的兼容性,请坚持使用VNC协议
以已建立的解决方案如何实现屏幕挂钩为例
在Linux中,图形都由Xorg(X Server的新版本)处理,Xorg是通过嵌入式网络开发的。这解释了为什么您可以将ssh-X应用到机器中,在机器上执行图形界面,并在远程计算机上查看。我建议您阅读Xorg上的挂钩,以满足您的需要
您需要一个客户机-服务器拓扑结构来满足您的需求。不过,您并不是在谈论任何您预测要使用的编程语言。有些语言可能比某些语言更难开始使用。此外,这种代码在每种主要编程语言下都已经非常容易理解。您至少应该尝试使用一种简化项目的网络部分
在Linux中,您可以通过视频卡驱动程序在电视上共享屏幕。只需查看桌面环境(例如,KDE和Gnome提供视频配置面板)或视频卡配置(nVidia和ATI Linux驱动程序提供多屏幕支持)
在我看来,你似乎在试图重新发明轮子,但不太确定如何开始。我建议你从一个已经验证过的VNC软件开始,看看它是如何发展的。如果缺少一个功能,你就有了服务器和客户端的源代码,因此你可以继续开发这些项目。一旦你当你的设置开始运行时,开始考虑用你自己的代码替换拼图的一部分,然后看看它是如何运行的
不要期望好(例如全高清)电视上的视频质量没有一些非常强大的CPU/GPU和802.11n无线网络,没有用户,并且准备接受编解码器启动的延迟。您应该尝试采取尽可能小的步骤。如果我正在进行这样一个项目,我的第一步将是尝试使用标准unix工具实现解决方案(例如,netcat
或socat
用于网络部分,mplayer
或vlc
用于播放,可能ffmpeg
用于捕获)然后,如果需要,用自定义编写的组件替换每个组件。您应该尝试采取尽可能小的步骤。如果我正在进行这样一个项目,我的第一步将是尝试使用标准unix工具实现解决方案(例如,netcat
或socat
用于网络部分,mplayer
或vlc
用于播放,可能ffmpeg
用于捕获)?然后,如果需要,用自定义编写的组件替换每个组件